[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-devel] [task #13508] Implement IPv4 Address Conflict Detection

From: Jasper Verschueren
Subject: [lwip-devel] [task #13508] Implement IPv4 Address Conflict Detection
Date: Wed, 25 Jul 2018 04:54:10 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36

Follow-up Comment #1, task #13508 (project lwip):

Hi All,

I started with the implementation of ACD in preparation to make lwIP 'zero
configuration networking' compatible. 
RFC 5227 on ACD is an extraction from the RFC 3927 on auto ip. The method is
extracted out of the auto ip RFC because it's not only applicable on link
local addresses. So they wanted to make it a bit more generic. The ACD module
can be used for an LL address, a dhcp address or even a fixed address. 

As previously suggested by Simon (in email), I'm making a stand alone module
for ACD. Because auto ip is already implemented in lwIP, I used that module a
lot as basis for the ACD module. I added the copyright text and kept the auto
ip developer in it because it's partially his code. I have no experience with
copyright texts, so do not know if it's the correct approach.

The patches that you can find attached follow following steps:
- create "empty" ACD module
- start pulling ACD parts from auto ip
- improve / correct the auto ip code used in ACD
- change auto ip so it uses the ACD module
- remove all ACD functions, variables and defines from auto ip
(Not every patch can be compiled.)

The code is written so clients that are using auto ip at the moment do no need
to do anything. The ACD module will be activated when auto ip is.

At the moment their is one ACD module per netif. When an LL address is
configured and a dhcp server comes available, the ACD module should start
running for the dhcp address. Although the LL address stays available for
incoming messages, it will not be used to open new connections so that is why
I believe its not needed to keep running the ACD on the LL address. The RFC's
are a bit unclear on this point, input is welcome.

The code isn't finished yet, I need to embed it with the dhcp client. At this
moment it only works with auto ip. But I first would like some input on the
written code.

The ACD module is completely independent, so not tied up into other modules.
It is made so you can start the ACD module from auto ip, dhcp or from your
home made fixed ip client. You call acd_start() with the netif, the address
you would like to check and a callback function. This callback function is
used by ACD to keep the client up to date on conflict information. This can be
that after probing no conflict occurred -> address is good to use. Or it can
be that a conflict occurred.

Enough talk :)...
Let me know if you have any questions.  

(file #44619)

Additional Item Attachment:

File name: 2018-07-25_ACD_patches.zip     Size:41 KB


Reply to this item at:


  Message sent via Savannah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]