[quagga-dev 7498] Re: [PATCH] zebra: set the interface link-layersocket address

Goff, Thomas Thomas.Goff at boeing.com
Wed Dec 9 17:12:07 GMT 2009


> > * kernel_socket.c: (ifm_read) The reorganization from commit
> >    6fe70d1b35c189cb1e488b2c26551ba7baac6148 removed setting the
> >    interface link-layer socket address structure on routing socket
> >    platforms.  This restores saving the link-layer 
> information because
> >    it might be used elsewhere: rtm_write() when no gateway is given,
> >    if_dump_vty() and rtadv_send_packet().
> 
> Yes, that makes sense. But the commit, part of which is 
> reversed here, was made 4 years ago. I cannot take, how this 
> bug wasn't seen before. Is there any way to reproduce the 
> erroneous situation, so I could see, that the patch solves 
> it? Thank you.

The problem shows up in a couple of ways on *BSD systems:

  - A routing protocol cannot install directly connected host routes.
  - The zebra 'show interface' vty command doesn't include HWaddr information.

>From a quick look at the code it also look there could be an issue with router advertisements.

At some point it might be worth thinking about removing the sdl member from the interface structure in if.h and just use hw_type, hw_addr, and hw_addr_len an all platforms.

  Tom



More information about the Quagga-dev mailing list