From 0eeb10d4bbdf66afe69fc66a1c1bc43daa87f9a7 Mon Sep 17 00:00:00 2001 From: Dirk Ziegelmeier Date: Thu, 23 Feb 2017 16:34:28 +0100 Subject: [PATCH] Preparation for task #14369: Define ways to work with a netif having multiple ports Add if_idx member to struct pbuf --- src/core/pbuf.c | 2 ++ src/include/lwip/pbuf.h | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/core/pbuf.c b/src/core/pbuf.c index edb1c952..9f35ec6a 100644 --- a/src/core/pbuf.c +++ b/src/core/pbuf.c @@ -117,6 +117,7 @@ void eth_rx_irq() #include "lwip/memp.h" #include "lwip/pbuf.h" #include "lwip/sys.h" +#include "lwip/netif.h" #if LWIP_TCP && TCP_QUEUE_OOSEQ #include "lwip/priv/tcp_priv.h" #endif @@ -290,6 +291,7 @@ pbuf_alloc(pbuf_layer layer, u16_t length, pbuf_type type) } p->type = type; p->next = NULL; + p->if_idx = NETIF_NO_INDEX; /* make the payload pointer point 'offset' bytes into pbuf data memory */ p->payload = LWIP_MEM_ALIGN((void *)((u8_t *)p + (SIZEOF_STRUCT_PBUF + offset))); diff --git a/src/include/lwip/pbuf.h b/src/include/lwip/pbuf.h index 7490e605..a0004bf8 100644 --- a/src/include/lwip/pbuf.h +++ b/src/include/lwip/pbuf.h @@ -170,6 +170,9 @@ struct pbuf { * the stack itself, or pbuf->next pointers from a chain. */ LWIP_PBUF_REF_T ref; + + /** For incoming packets, this contains the input netif's index */ + u8_t if_idx; };