diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2018-08-11 16:18:12 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2018-08-11 16:18:12 +0200 |
commit | e49f7fc1f7435de94a632fea0dc7753b58570eb8 (patch) | |
tree | ec8598e65ff2c728ad8e52b4499faf6653a41aab /sys/src/9/ip/ethermedium.c | |
parent | 831291e5dd0877cc130f168a487531fd4a8c410b (diff) |
devip: fix multicastarp() when ipconfig assigned the 0 address
sending multicast was broken when ipconfig assigned the 0
address for dhcp as they would wrongly classified as Runi.
this could happen when we do slaac and dhcp in parallel,
breaking the sending of router solicitations.
Diffstat (limited to 'sys/src/9/ip/ethermedium.c')
-rw-r--r-- | sys/src/9/ip/ethermedium.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/sys/src/9/ip/ethermedium.c b/sys/src/9/ip/ethermedium.c index 6471355c1..3602da1b8 100644 --- a/sys/src/9/ip/ethermedium.c +++ b/sys/src/9/ip/ethermedium.c @@ -717,14 +717,9 @@ static Block* multicastarp(Fs *f, Arpent *a, Medium *medium, uchar *mac) { /* is it broadcast? */ - switch(ipforme(f, a->ip)){ - case Runi: - return nil; - case Rbcast: - memset(mac, 0xff, 6); + if(ipforme(f, a->ip) == Rbcast){ + memset(mac, 0xff, medium->maclen); return arpresolve(f->arp, a, medium, mac); - default: - break; } /* if multicast, fill in mac */ |