From 8d04da8c6e3a3e504e119835964574159f22e77e Mon Sep 17 00:00:00 2001 From: goldsimon Date: Thu, 16 Feb 2012 12:30:52 +0100 Subject: [PATCH] fixed bug #35531: Impossible to send multicast without a gateway (introduced when fixing bug# 33551) --- CHANGELOG | 4 ++++ src/netif/etharp.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index 881185dd..811f650a 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -62,6 +62,10 @@ HISTORY ++ Bugfixes: + 2012-02-16: Simon Goldschmidt + * etharp.c: fixed bug #35531: Impossible to send multicast without a gateway + (introduced when fixing bug# 33551) + 2012-02-16: Simon Goldschmidt (patch by Stéphane Lesage) * msg_in.c, msg_out.c: fixed bug #35536 SNMP: error too big response is malformed diff --git a/src/netif/etharp.c b/src/netif/etharp.c index a979b737..b00c1e03 100644 --- a/src/netif/etharp.c +++ b/src/netif/etharp.c @@ -898,7 +898,7 @@ etharp_output(struct netif *netif, struct pbuf *q, ip_addr_t *ipaddr) /* outside local network? if so, this can neither be a global broadcast nor a subnet broadcast. */ if (!ip_addr_netcmp(ipaddr, &(netif->ip_addr), &(netif->netmask)) && - !ip_addr_islinklocal(ipaddr)) { + !ip_addr_islinklocal(ipaddr) && !ip_addr_ismulticast(ipaddr)) { #if LWIP_AUTOIP struct ip_hdr *iphdr = (struct ip_hdr*)((u8_t*)q->payload + sizeof(struct eth_hdr));