[quagga-dev 5100] [RFC][PATCH] Nexthop re-work

James R. Leu jleu at mindspring.com
Sun Oct 14 02:22:41 BST 2007


This patch is the result of the work I'm doing to implement a MPLS framework
for quagga.  While you will not see any MPLS related code in the patch, it
puts in place significant changes that my MPLS framework builds upon.

Here is a short list of the changes encompassed in this patch:
- convert discrete nexthop types to nexthop flags
  (ie ZEBRA_NEXTHOP_IPV6_IFINDEX -> ZEBRA_NEXTHOP_IPV6|ZEBRA_NEXTHOP_IFINDEX)
- implement zclient routines for routing message (zapi_ipv4_write/read
  and zapi_ipv6_write/read) which are now used by all routing daemons.
- combine almost all separate ipv4 and ipv6 routines and structures
  in zebra_rib. (rib_add_ipv4 and rib_add_ipv6 -> rib_add_route)
- blackhole and reject routes now have a nexthop flag (ZEBRA_NEXTHOP_DROP)
  and then the nexthop designated what type of "drop" is to be used
  (blackhole or reject).  Then in nexthop_active_update() a scan of
  the nexthops is done to determine if ZEBRA_FLAG_BLACKHOLE or
  ZEBRA_FLAG_REJECT need to be added to the RIB entry.

While the above list is short, I do not take these changes lightly.
I also do not consider my coding perfect.  If you have suggestions of
how I should do things differently, I'm open for suggestions.

I've done as much testing as I can in my limited testing environment.
I'm open to running more if people can suggest tests for me to try
that will stress a certain area of this code.

Please post questions or concerns about this patch to the dev mailing list.

Humbly submitted for your review
-- 
James R. Leu
jleu at mindspring.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: nexthop-final.diff.gz
Type: application/x-gunzip
Size: 31329 bytes
Desc: not available
URL: <http://lists.quagga.net/pipermail/quagga-dev/attachments/20071014/3bf6842d/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.quagga.net/pipermail/quagga-dev/attachments/20071014/3bf6842d/attachment-0001.sig>


More information about the Quagga-dev mailing list