On Wed, 6 Jan 2016 13:31:44 -0500
Donald Sharp <[email protected]> wrote:

> Timo -
> 
> I'm a bit confused.  Am I reading your email correctly?  You agree
> that zebra.h is a grab bag of unrelated information, the enum
> zebra_link_type doesn't belong there and you are not going to move
> it?  Would you clarify your reasoning behind not moving it?

zebra.h holds still pretty much all of the zserv protocol #defines.
I'd rather keep all wire protocol stuff in one place.

The idea is eventually to put all wire protocol stuff to zapi.h or
similar. So it can be reused elsewhere. And I believe the ll_type enum
has potential use cases outside of struct interface.

Btw. I'm looking at the final build failure of the *BSD. It seems
sockaddr_dl of the interface is passed for directly connected routes
(no gateway). I'm wondering if I should a) reconstruct the interface's
sockaddr_dl or b) keep copy of sockaddr_dl on *BSD for the routing
calls inside zebra.

Option A might be trickier since I was not yet able to find which parts
of the struct need to be filled (index? mac? link type?); and if link
type is needed then the transformation to zebra enum might lose info in
certain corner cases.

Perhaps it's simplest to keep the sockaddr_dl copy in struct zebra_if.

/Timo

_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to