diff --git a/src/core/tcp_in.c b/src/core/tcp_in.c index 3baae55c..45628fb8 100644 --- a/src/core/tcp_in.c +++ b/src/core/tcp_in.c @@ -130,7 +130,8 @@ tcp_input(struct pbuf *p, struct netif *inp) } /* Don't even process incoming broadcasts/multicasts. */ - if (ip_addr_isbroadcast(&(iphdr->dest), &(inp->netmask)) || + if (((inp->flags & NETIF_FLAG_BROADCAST) && + ip_addr_isbroadcast(&(iphdr->dest), &(inp->netmask))) || ip_addr_ismulticast(&(iphdr->dest))) { pbuf_free(p); return;