From 166c4ff67ccc5959c7edc7d8d40e85373bb78d02 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Tue, 15 Apr 2008 10:47:13 -0700 Subject: Fix packet filter state machine The filter rules were incorrect (jump to wrong offset), so the kernel would not accept them. Fixes: 2570 --- zebra/rt_netlink.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'zebra/rt_netlink.c') 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 */ -- cgit v1.2.3