diff --git a/src/netif/ethernet.c b/src/netif/ethernet.c index 4596b32c..7270cfd8 100644 --- a/src/netif/ethernet.c +++ b/src/netif/ethernet.c @@ -94,6 +94,10 @@ ethernet_input(struct pbuf *p, struct netif *netif) goto free_and_return; } + if (p->if_idx == NETIF_NO_INDEX) { + p->if_idx = netif_get_index(netif); + } + /* points to packet payload, which starts with an Ethernet header */ ethhdr = (struct eth_hdr *)p->payload; LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE,