Hi list,

The VRF patches have been updated (version 2) and rebased on to the commit
7397217 (doc: explain rpf lookup default mode). Please refer to:
https://github.com/6WIND/quagga/commits/vrf

The newly added pimd needs a few fixes for the VRF changes. I think the VRF
patches will be updated again soon (that is, rebased onto the current head).

Against the previous version of VRF patch, the main differences of the new
version are:
--------------------------------------------------------------------------------
(1) Make "struct vrf" internal within lib/vrf

The "struct vrf" gets invisible from outside of the vrf.c. Accordingly, some new
utilities are provided to access the VRF-ID/interface-list/user-data-pointer.
And hence, some previous wrapper in zebra are removed now.

The global VRF table (it was previously a vector) now also becomes invisible
from outside. A new utility "VRF iterator" is provided to scan the VRF table.

(2) Release the hard-coded up-limitation of the number of VRFs

The VRF_MAX is removed. The type of "vrf_id_t" is changed from
"u_int32_t" to "u_int16_t". So now there's a natural up-limitation 65535 for
the VRF ID value.

The previous VRF vector is changed to a table (in type of "struct route_table").

(3) Make interface APIs backward compatible

New interface APIs are defined to access the interfaces in a specified
VRF, while the old ones are kept unchanged and serving for only the
default VRF. Thus, the no modification is need in all protocol daemons
where an interface API is called. The new APIs are presently used only
by zebra.

(4) Remove the flag arrays defined with a hard-coded VRF_MAX

Many flags are used to indicate whether a client interests some
information in some VRF or not (called registering flags). Zebra is
using these flags to block the unnecessary API messages sent to
clients.

Previously these flags were defined as arrays in length of VRF_MAX. Now
a new utility "vrf_bitmap_t" is provided to create/free/set/unset/check
these flags.
--------------------------------------------------------------------------------

BTW: I will leave 6WIND from today. Thank so much 6WIND for giving
me an opportunity to contribute for the community. If any question,
please contact "Vincent Jardin" <[email protected]>.

Thanks and best regards,
Feng Lu

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

Reply via email to