On Tue, Jul 21, 2015 at 2:03 PM, dbextern <db_ext...@gmx.de> wrote:
> Hello!
>
> For our link local functionality I'm using udhcpc together with zcip out of 
> busybox on a Blackfin BF-537 CPU without MMU.
>
> The base functionality is there.
> But when I connect two networks with stable IP addresses, and both networks 
> had the same IP(s) in them, the conflict stays unresolved.
> My setup is one master PC or MAC and several embedded boards.
>
> What I would expect (following RFC3927 
> https://tools.ietf.org/html/rfc3927#page-10[https://3c.gmx.net/mail/client/dereferrer?redirectUrl=https%3A%2F%2Ftools.ietf.org%2Fhtml%2Frfc3927%23page-10];
>  chapter 2.x and 4) is that after a while the ARP messages will resolve the 
> problem because the still running zcip sees ARP responses on it's own IP and 
> reacts accordingly.
> What really happens is:
> * Windows only sends broadcast ARP requests as long as it never got an 
> answer. After that there is only unicast. And the requested device answers 
> with a unicast as well.
> * the MAC always sends broadcasts. And both embedded devices with the 
> conflicting IP answer. But with a unicast ARP reply to the MAC.
>
> As I understand the specification (last paragraph in chapter 2.5) then all 
> ARP messages between devices with link local addresses should be link layer 
> broadcasts.
> Did I get that right? And if yes, why does zcip not follow that rule?

zcip does use bcast for all packets it sends:

# tcpdump -nliwlan0 -s0 -vv -e arp
tcpdump: listening on wlan0, link-type EN10MB (Ethernet), capture size
65535 bytes
         <zcip runs>
02:49:51.078369 00:04:e2:64:23:c2 > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 42: arp who-has 169.254.194.171 tell 0.0.0.0
02:49:52.391711 00:04:e2:64:23:c2 > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 42: arp who-has 169.254.194.171 tell 0.0.0.0
02:49:54.254628 00:04:e2:64:23:c2 > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 42: arp who-has 169.254.194.171 tell 0.0.0.0
02:49:55.305731 00:04:e2:64:23:c2 > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 42: arp who-has 169.254.194.171 (00:04:e2:64:23:c2)
tell 169.254.194.171
02:49:57.307788 00:04:e2:64:23:c2 > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 42: arp who-has 169.254.194.171 (00:04:e2:64:23:c2)
tell 169.254.194.171
02:49:59.309844 00:04:e2:64:23:c2 > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 42: arp who-has 169.254.194.171 (00:04:e2:64:23:c2)
tell 169.254.194.171


> And a more general question: when I handle an ARP packet in zcip, how does 
> the kernel know not to work on it as well?

I don't know...
_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to