[quagga-dev 3904] rfc: patch for atomic route-'change/modify' in bsd, more

David Young dyoung at pobox.com
Sun Dec 25 07:26:18 GMT 2005

May I get your feedback from both reading and running these patches?
Below are descriptions of each patch, copied from the README.  I hope
these can get into Quagga.

patch-af                Use the destination's address family for
                        the netmask's address family.

patch-cosmetic          Cosmetic changes.  Use defensive
                        memset(y, 0, sizeof(*y)) idiom---there
                        ought to be a macro for this.  Use named
                        constants IPV[46]_MAX_PREFIXLEN instead of
                        constants 32 & 128.  In kernel_rtm_ipv4
                        and family, put all of the code for netmask
                        initialization in a single place.

patch-kernel-change     If a destination's gateway et cetera change,
                        invoke an atomic 'route'+'add' = 'change'
                        command instead of separate 'delete'+'add'.
                        This patch adds new calls to the rib &
                        kernel APIs (rib_reinstall_kernel,
                        kernel_change_ipv{4,6}), and it provides
                        an implementation in terms of the *BSD
                        routing socket.

                        This change helps *BSD hosts with a routing
                        socket avoid spurious packet drops and
                        "Network is unreachable" errors during a
                        forwarding table update.

patch-lint              Pass an ANSI-standard int argument to
                        isspace(3) instead of char.  Quiets lint(1).

patch-masklen-simplify  ip{6,}_masklen used to use create unexpected
                        results by using uninitialized sockaddr_in{6,}s
                        on the stack.  Repair & simplify.

patch-useless-code      There's no need to declare & initialize
                        tmp_gate{6,}, because they are not used.
                        Delete them.


David Young             OJC Technologies
dyoung at ojctech.com      Urbana, IL * (217) 278-3933
-------------- next part --------------
A non-text attachment was scrubbed...
Name: quagga-patches.tgz
Type: application/x-gzip
Size: 5425 bytes
Desc: not available
URL: <http://lists.quagga.net/pipermail/quagga-dev/attachments/20051225/7c188298/attachment-0001.tgz>

More information about the Quagga-dev mailing list