On Wed, Oct 17, 2012 at 03:07:35PM +0200, Linus Lüssing wrote:
The current translation table mechanism is not suitable for multicast addresses and we are currently flooding such frames anyway.
Therefore this patch prevents multicast MAC addresses being added to the translation table.
Signed-off-by: Linus Lüssing firstname.lastname@example.org
soft-interface.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/soft-interface.c b/soft-interface.c index 2d1f895..9955319 100644 --- a/soft-interface.c +++ b/soft-interface.c @@ -180,7 +180,8 @@ static int batadv_interface_tx(struct sk_buff *skb, goto dropped;
/* Register the client MAC in the transtable */
- batadv_tt_local_add(soft_iface, ethhdr->h_source, skb->skb_iif);
- if (!is_multicast_ether_addr(ethhdr->h_source))
batadv_tt_local_add(soft_iface, ethhdr->h_source, skb->skb_iif);
How can the source address be multicast? Usually multicast addresses are found in the destination field...
Is there any scenario where this is possible? I am wondering whether we should directly drop packet having mcast address as source..