From b429bc8a8da1611fca49aca23c3f88c9f7a3c229 Mon Sep 17 00:00:00 2001 From: Mark O'Brien Date: Tue, 29 Apr 2008 16:42:46 -0700 Subject: 3.0.3 --- debian/changelog | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/debian/changelog b/debian/changelog index 4b3e200c..47f69f29 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,24 @@ +vyatta-quagga (0.99.9-7) unstable; urgency=low + + 3.0.3 + [ Mark O'Brien ] + + + [ Stephen Hemminger ] + * mark static routes as inactive when link is down + * Don't build watchlink + * Don't build watchlink + * Check nexthop for internal routes + * Check nexthop status + * Two passes on update (ipv4 and ipv6) + + [ rbalocca ] + * Indicate the VC4.0.2 release candidate in the changelog + + [ Mark O'Brien ] + + -- Mark O'Brien Tue, 29 Apr 2008 16:42:45 -0700 + vyatta-quagga (0.99.9-6) unstable; urgency=low VC4.0.2 -- cgit v1.2.3 From 64cb6fed376b0f6e91ae8d08a1e0a9658457a8ed Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Fri, 2 May 2008 11:52:42 -0700 Subject: filter out all route change responses on listen socket When zebra changes routes it uses the netlink cmd socket, but these also show up on the netlink listen socket. Use more kernel level socket filtering so that any changes that happend because of command socket are ignored. Uses the netlink port id (pid) to identify the changes from the command socket. --- zebra/rt_netlink.c | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c index 273c3121..f84d6596 100644 --- a/zebra/rt_netlink.c +++ b/zebra/rt_netlink.c @@ -1939,22 +1939,26 @@ kernel_read (struct thread *thread) return 0; } -/* Filter out messages from self that occur on listener socket */ -static void netlink_install_filter (int sock) +/* Filter out messages from self that occur on listener socket, + caused by our actions on the command socket + */ +static void netlink_install_filter (int sock, __u32 pid) { - /* BPF code to exclude all RTM_NEWROUTE messages from ZEBRA */ struct sock_filter filter[] = { + /* 0: ldh [4] */ BPF_STMT(BPF_LD|BPF_ABS|BPF_H, offsetof(struct nlmsghdr, nlmsg_type)), - /* 0: ldh [4] */ - BPF_JUMP(BPF_JMP|BPF_JEQ|BPF_K, htons(RTM_NEWROUTE), 0, 3), - /* 1: jeq 0x18 jt 2 jf 5 */ - BPF_STMT(BPF_LD|BPF_ABS|BPF_B, - sizeof(struct nlmsghdr) + offsetof(struct rtmsg, rtm_protocol)), - /* 2: ldb [23] */ - BPF_JUMP(BPF_JMP+ BPF_B, RTPROT_ZEBRA, 0, 1), - /* 3: jeq 0xb jt 4 jf 5 */ - BPF_STMT(BPF_RET|BPF_K, 0), /* 4: ret 0 */ - BPF_STMT(BPF_RET|BPF_K, 0xffff), /* 5: ret 0xffff */ + /* 1: jeq 0x18 jt 3 jf 6 */ + BPF_JUMP(BPF_JMP|BPF_JEQ|BPF_K, htons(RTM_NEWROUTE), 1, 0), + /* 2: jeq 0x19 jt 3 jf 6 */ + BPF_JUMP(BPF_JMP|BPF_JEQ|BPF_K, htons(RTM_DELROUTE), 0, 3), + /* 3: ldw [12] */ + BPF_STMT(BPF_LD|BPF_ABS|BPF_W, offsetof(struct nlmsghdr, nlmsg_pid)), + /* 4: jeq XX jt 5 jf 6 */ + BPF_JUMP(BPF_JMP|BPF_JEQ|BPF_K, htonl(pid), 0, 1), + /* 5: ret 0 (skip) */ + BPF_STMT(BPF_RET|BPF_K, 0), + /* 6: ret 0xffff (keep) */ + BPF_STMT(BPF_RET|BPF_K, 0xffff), }; struct sock_fprog prog = { @@ -1983,7 +1987,7 @@ kernel_init (void) /* Register kernel socket. */ if (netlink.sock > 0) { - netlink_install_filter (netlink.sock); + netlink_install_filter (netlink.sock, netlink_cmd.snl.nl_pid); thread_add_read (zebrad.master, kernel_read, NULL, netlink.sock); } } -- cgit v1.2.3 From 42a5b118f3eb6fa3a1a5645a8a105339b3f9101d Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Fri, 2 May 2008 17:02:33 -0700 Subject: quiet noisy errors from zebra It is a harmless event when BGP tries to delete already deleted routes. --- zebra/rt_netlink.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c index f84d6596..c387917b 100644 --- a/zebra/rt_netlink.c +++ b/zebra/rt_netlink.c @@ -425,7 +425,13 @@ netlink_parse_info (int (*filter) (struct sockaddr_nl *, struct nlmsghdr *), if (nl == &netlink_cmd && (-errnum == ENODEV || -errnum == ESRCH) && (msg_type == RTM_NEWROUTE || msg_type == RTM_DELROUTE)) - loglvl = LOG_DEBUG; + { + /* These errors are normal during link transistion */ + if (IS_ZEBRA_DEBUG_KERNEL) + loglvl = LOG_DEBUG; + else + return -1; + } zlog (NULL, loglvl, "%s error: %s, type=%s(%u), " "seq=%u, pid=%u", -- cgit v1.2.3 From 72341b2f23b4f523edc741a3ae1300fc0d68ca3d Mon Sep 17 00:00:00 2001 From: Mark O'Brien Date: Mon, 5 May 2008 16:40:58 -0700 Subject: 3.0.4 --- debian/changelog | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/debian/changelog b/debian/changelog index 47f69f29..1d4a383d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,17 @@ +vyatta-quagga (0.99.9-8) unstable; urgency=low + + 3.0.4 + [ Mark O'Brien ] + + + [ Stephen Hemminger ] + * filter out all route change responses on listen socket + * quiet noisy errors from zebra + + [ Mark O'Brien ] + + -- Mark O'Brien Mon, 05 May 2008 16:40:58 -0700 + vyatta-quagga (0.99.9-7) unstable; urgency=low 3.0.3 -- cgit v1.2.3 From 33aad2033384efe3cf3049a2ee9a743f22f5f673 Mon Sep 17 00:00:00 2001 From: An-Cheng Huang Date: Wed, 7 May 2008 00:47:34 +0800 Subject: fix package upgrade problem caused by prerm script. --- debian/vyatta-quagga.prerm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/debian/vyatta-quagga.prerm b/debian/vyatta-quagga.prerm index 4794d342..69792d27 100644 --- a/debian/vyatta-quagga.prerm +++ b/debian/vyatta-quagga.prerm @@ -1 +1,3 @@ +#!/bin/sh + case "$1" in upgrade) exit 0;; esac -- cgit v1.2.3 From 5ba6d58ff687409ce5ff561d6557a11de9aef6b6 Mon Sep 17 00:00:00 2001 From: Mark O'Brien Date: Tue, 6 May 2008 12:43:41 -0700 Subject: 3.0.5 --- debian/changelog | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/debian/changelog b/debian/changelog index 1d4a383d..8b1075c2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,16 @@ +vyatta-quagga (0.99.9-9) unstable; urgency=low + + 3.0.5 + [ Mark O'Brien ] + + + [ An-Cheng Huang ] + * fix package upgrade problem caused by prerm script. + + [ Mark O'Brien ] + + -- Mark O'Brien Tue, 06 May 2008 12:43:40 -0700 + vyatta-quagga (0.99.9-8) unstable; urgency=low 3.0.4 -- cgit v1.2.3