Network association algorithm
Dan Williams
dcbw at redhat.com
Mon May 14 03:16:39 EDT 2007
On Sun, 2007-05-13 at 21:08 -0700, Javier Cardona wrote:
> Dan, John,
>
> The patch linked below modifies dhclient to override the broadcast
> address of a network interface with an anycast address. This option
> is configured in dhclient.conf with the new directive anycast-mac :
>
> interface "msh0" {
> anycast-mac ethernet c0:27:c0:27:c0:27;
> }
>
> When that option is present, all DHCP broadcast traffic out of msh0
> will be sent to the anycast-mac address. The IP address is left
> unchanged (i.e. 255.255.255.255), which avoids having to change
> anything on the dhcp server side. We tested it with a vanilla dhcp
> server running on the MPP(s).
>
> Let me know if you would like me to package this in an RPM or if there
> is anything special that needs to be done to integrate this with NM.
Any chance you could tighten up the timeout/backoff algorithm to not
wait so long between tries? A max of 5 - 7 seconds or so between
DHCPDISCOVER tries should be a good enough hack for the moment...
Sometimes it picks obscene values like 25 seconds. On a wireless
medium, it's just really, really likely the frame got lost somewhere
rather and needs to be re-requested.
See client->interval in client/dhclient.c in send_discover() and
send_request() for a start.
Thanks!
Dan
> Cheers,
>
> Javier
>
> The patch: https://cozybit1.dnsalias.org/~javier/patches/dhclient-3.0.5-anycast.patch
>
> On 5/9/07, Michail Bletsas <mbletsas at laptop.org> wrote:
> > Javier,
> >
> > I think that your approach fits perfectly with our latest connection
> > flowchart and I would like to see it implemented asap.
> >
> > M.
> >
> >
> >
> >
> >
> > "Javier Cardona" <javier at cozybit.com>
> > 05/04/2007 02:39 PM
> >
> > To
> > "John Watlington" <wad at laptop.org>
> > cc
> > "Dan Williams" <dcbw at redhat.com>, "Michail Bletsas" <mbletsas at laptop.org>,
> > "OLPC Devel" <devel at laptop.org>
> > Subject
> > Re: Network association algorithm
> >
> >
> >
> >
> >
> >
> > Hi John, Dan,
> >
> >
> > After chatting with Dan I finally understood your flowchart (pardon my
> > thickness, I was having some nomenclature problems..). I learned
> > yesterday
> > that:
> >
> > 1) "established MPPs" are MPPs with multiple mesh interfaces, at most one
> > on
> > each channel 1,6 and 11. They are also called "school servers" and will
> > not
> > be moving around.
> >
> > 2) "ad-hoc MPPs" are xo's that act as MPPs, as portals they were
> > originally conceived.
> >
> > 3) Addresses are assigned by DHCP because link local addresses cannot be
> > routed. L3 routing is done by MPPs across mesh segments at different
> > channels.
> >
> > Based on this understanding, I would like to suggest a change in the way
> > DHCP
> > is used in your proposal. The current flow is:
> >
> > + +
> > / \ / \
> > / \ y / \ y
> > ----+DHCP?+-----+ MPP?+----
> > \ / \ /
> > \ / \ /
> > + n + n
> > | |
> > +-----------+
> > |
> >
> > This approach separates IP address assignment (DHCP) and MPP detection and
> > path
> > selection. I believe these two functions which can be combined in one:
> >
> > 1. xo sends a DCHP request to L2 address ANY_MPP. This is a standard
> > DHCPREQUEST sent to a unicast address. The only thing "non-standard"
> > would be
> > done at the dhcp client: this DHCPREQUEST would have the L2 anycast
> > address, the L3 broadcast address and would be injected at L2 using
> > the linux packet interface.
> >
> > 2. MPP assigns an IP address and sends a DHCPACK to the L2 address that
> > was in
> > the DHCPREQUEST. That's vanilla DHCP server.
> >
> > 3. The xo knows the DHCPACK comes from an MPP because it's a response from
> > a
> > request sent to the ANY_MPP address.
> >
> > Advantages:
> >
> > 1. Faster configuration.
> > 2. No broadcast+anycast traffic, only anycast.
> > 3. Replaces non-standard MPPREQs with standard DHCP
> >
> > This model can also be used for ad-hoc MPPs. In that case ad-hoc MPPs
> > would
> > return gateway and DNS information but would not assign an IP address.
> >
> > What do you think?
> >
> > Javier
> >
> >
> >
> >
>
>
More information about the Devel
mailing list