diff options
author | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2008-04-15 10:47:13 -0700 |
---|---|---|
committer | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2008-04-15 10:47:13 -0700 |
commit | 166c4ff67ccc5959c7edc7d8d40e85373bb78d02 (patch) | |
tree | 247e70bd78764de2a95aa9badca217282ce2580a | |
parent | ca566018882bbec4fbc26ba6921062db18bfcf40 (diff) | |
download | quagga-166c4ff67ccc5959c7edc7d8d40e85373bb78d02.tar.bz2 quagga-166c4ff67ccc5959c7edc7d8d40e85373bb78d02.tar.xz |
Fix packet filter state machine
The filter rules were incorrect (jump to wrong offset), so the kernel
would not accept them.
Fixes: 2570
-rw-r--r-- | zebra/rt_netlink.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c index 07e473bc..273c3121 100644 --- a/zebra/rt_netlink.c +++ b/zebra/rt_netlink.c @@ -1951,7 +1951,7 @@ static void netlink_install_filter (int sock) 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, 2, 0), + 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 */ |