Re: in.c autoadding prefix route

From: Max Laier (max_at_love2party.net)
Date: 11/12/04

  • Next message: John Baldwin: "Re: Booting questions ...."
    Date: Fri, 12 Nov 2004 15:58:14 +0100
    To: Ruslan Ermilov <ru@freebsd.org>
    
    

    On Fri, Nov 12, 2004 at 10:30:14AM +0200, Ruslan Ermilov wrote:
    > Hi Max,
    >
    > On Thu, Nov 11, 2004 at 09:24:05PM +0100, Max Laier wrote:
    > > I know I have sent this a couple of times before, but never got anywhere. This
    > > time I am set to commit!
    > >
    > Hey, you did it! ;)
    >
    > > The attached patch (http://people.freebsd.org/~mlaier/in.c.patch) derived from
    > > WIDE via OpenBSD in.c, rev 1.21 improves the handling of automatic prefix
    > > routes.
    > >
    > > Right now you can't have two legs into the same network. If you want to, you
    > > must give on of the interfaces a host address only (netmask /32). This way it
    > > is not possible to hand over the route if one of the interfaces is
    > > "removed" (however this is done in the special case).
    > >
    > > The patch allows to add more than on IPv4 address with the same prefix. In the
    > > case that there is a route already, we leave it alone and add the new address
    > > without the IFA_ROUTE flag. When we remove an address later on, that has a
    > > route associated, we try to find an alternative address to use for the route
    > > and hand it over.
    > >
    > I cannot give your patch a thorough review at the moment, but I like the
    > algorithm, and I don't see how it can hurt anything.
    >
    > > --- ../dist/sys/netinet/in.c Sat Nov 6 21:01:08 2004
    > > +++ sys/netinet/in.c Mon Nov 8 02:05:17 2004
    > > @@ -654,14 +684,7 @@
    > > register struct ifnet *ifp;
    > > register struct in_ifaddr *ia;
    > > {
    > > -
    > > - if ((ia->ia_flags & IFA_ROUTE) == 0)
    > > - return;
    > > - if (ifp->if_flags & (IFF_LOOPBACK|IFF_POINTOPOINT))
    > > - rtinit(&(ia->ia_ifa), (int)RTM_DELETE, RTF_HOST);
    > > - else
    > > - rtinit(&(ia->ia_ifa), (int)RTM_DELETE, 0);
    > > - ia->ia_flags &= ~IFA_ROUTE;
    > > + in_scrubprefix(ia);
    > > }
    > >
    > Looks like "ifp" argument is no longer needed for in_ifscrub(),
    > perhaps it should be killed then.

    As in_ifscrub() isn't static in in.c I think it must be considered kernel
    API and hence I will wait with this cleanup 'till after the MFC. I otherwise
    agree that it should be done.

    > Also, there are a lot of style bugs (besides those that others
    > have already mentioned), the most annoying is comments -- they
    > should be written as per style(9) (make them look like the real
    > sentences).

    I updated the patch at: http://people.freebsd.org/~mlaier/in.c.patch with
    new comments. Can you be more specific about the other style(9) violations,
    as I don't seem to find them. K&R was choosen as the rest of in.c is K&R
    still and I think style(9) requires that the overall style of a file is
    maintained.

    Thanks.

    -- 
    /"\  Best regards,                      | mlaier@freebsd.org
    \ /  Max Laier                          | ICQ #67774661
     X   http://pf4freebsd.love2party.net/  | mlaier@EFnet
    / \  ASCII Ribbon Campaign              | Against HTML Mail and News
    _______________________________________________
    freebsd-arch@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-arch
    To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"
    

  • Next message: John Baldwin: "Re: Booting questions ...."

    Relevant Pages

    • Re: Strange behaviour of route command
      ... While making some changes to the routing table on one of our routers ... today I noticed that "route add" was showing some strange ... When adding a route for 128/8 to the table rather than ... Can you take a look at this patch, ...
      (freebsd-net)
    • Re: in.c autoadding prefix route
      ... >> case that there is a route already, we leave it alone and add the new address ... > I cannot give your patch a thorough review at the moment, ... and I don't see how it can hurt anything. ... As in_ifscrubisn't static in in.c I think it must be considered kernel ...
      (freebsd-net)
    • in.c autoadding prefix route
      ... rev 1.21 improves the handling of automatic prefix ... must give on of the interfaces a host address only. ... The patch allows to add more than on IPv4 address with the same prefix. ... case that there is a route already, we leave it alone and add the new address ...
      (freebsd-arch)
    • in.c autoadding prefix route
      ... rev 1.21 improves the handling of automatic prefix ... must give on of the interfaces a host address only. ... The patch allows to add more than on IPv4 address with the same prefix. ... case that there is a route already, we leave it alone and add the new address ...
      (freebsd-arch)
    • in.c autoadding prefix route
      ... rev 1.21 improves the handling of automatic prefix ... must give on of the interfaces a host address only. ... The patch allows to add more than on IPv4 address with the same prefix. ... case that there is a route already, we leave it alone and add the new address ...
      (freebsd-net)