mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-10-29 17:42:41 +00:00
udhcpsnoop: allow processing other hooks after ingress mirror
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
committed by
John Crispin
parent
cf63cb94aa
commit
52f6189c10
@@ -267,58 +267,58 @@ dhcpsnoop_dev_attach_filters(struct device *dev, bool egress)
|
||||
|
||||
ofs = prepare_filter_cmd(buf, sizeof(buf), dev->ifname, prio++, true, egress);
|
||||
APPEND(buf, ofs, " protocol ip u32 match ip sport 67 0xffff"
|
||||
" flowid 1:1 action mirred ingress mirror dev " DHCPSNOOP_IFB_NAME);
|
||||
" flowid 1:1 action mirred ingress mirror dev " DHCPSNOOP_IFB_NAME " continue");
|
||||
dhcpsnoop_run_cmd(buf, false);
|
||||
|
||||
ofs = prepare_filter_cmd(buf, sizeof(buf), dev->ifname, prio++, true, egress);
|
||||
APPEND(buf, ofs, " protocol 802.1Q u32 offset plus 4 match ip sport 67 0xffff"
|
||||
" flowid 1:1 action mirred ingress mirror dev " DHCPSNOOP_IFB_NAME);
|
||||
" flowid 1:1 action mirred ingress mirror dev " DHCPSNOOP_IFB_NAME " continue");
|
||||
dhcpsnoop_run_cmd(buf, false);
|
||||
|
||||
ofs = prepare_filter_cmd(buf, sizeof(buf), dev->ifname, prio++, true, egress);
|
||||
APPEND(buf, ofs, " protocol ip u32 match ip sport 68 0xffff"
|
||||
" flowid 1:1 action mirred ingress mirror dev " DHCPSNOOP_IFB_NAME);
|
||||
" flowid 1:1 action mirred ingress mirror dev " DHCPSNOOP_IFB_NAME " continue");
|
||||
dhcpsnoop_run_cmd(buf, false);
|
||||
|
||||
ofs = prepare_filter_cmd(buf, sizeof(buf), dev->ifname, prio++, true, egress);
|
||||
APPEND(buf, ofs, " protocol 802.1Q u32 offset plus 4 match ip sport 68 0xffff"
|
||||
" flowid 1:1 action mirred ingress mirror dev " DHCPSNOOP_IFB_NAME);
|
||||
" flowid 1:1 action mirred ingress mirror dev " DHCPSNOOP_IFB_NAME " continue");
|
||||
dhcpsnoop_run_cmd(buf, false);
|
||||
|
||||
/* GRE */
|
||||
ofs = prepare_filter_cmd(buf, sizeof(buf), dev->ifname, prio++, true, egress);
|
||||
APPEND(buf, ofs, " protocol ip u32 match ip protocol 47 0xff"
|
||||
MATCH_GRE_ETH_IP_UDP_DHCP_67
|
||||
" flowid 1:1 action mirred ingress mirror dev " DHCPSNOOP_IFB_NAME);
|
||||
" flowid 1:1 action mirred ingress mirror dev " DHCPSNOOP_IFB_NAME " continue");
|
||||
dhcpsnoop_run_cmd(buf, false);
|
||||
|
||||
ofs = prepare_filter_cmd(buf, sizeof(buf), dev->ifname, prio++, true, egress);
|
||||
APPEND(buf, ofs, " protocol ip u32 match ip protocol 47 0xff"
|
||||
MATCH_GRE_ETH_IP_UDP_DHCP_68
|
||||
" flowid 1:1 action mirred ingress mirror dev " DHCPSNOOP_IFB_NAME);
|
||||
" flowid 1:1 action mirred ingress mirror dev " DHCPSNOOP_IFB_NAME " continue");
|
||||
dhcpsnoop_run_cmd(buf, false);
|
||||
|
||||
ofs = prepare_filter_cmd(buf, sizeof(buf), dev->ifname, prio++, true, egress);
|
||||
APPEND(buf, ofs, " protocol ip u32 match ip protocol 47 0xff "
|
||||
MATCH_GRE_ETH_VLAN_IP_UDP_DHCP_67
|
||||
" flowid 1:1 action mirred ingress mirror dev " DHCPSNOOP_IFB_NAME);
|
||||
" flowid 1:1 action mirred ingress mirror dev " DHCPSNOOP_IFB_NAME " continue");
|
||||
dhcpsnoop_run_cmd(buf, false);
|
||||
|
||||
ofs = prepare_filter_cmd(buf, sizeof(buf), dev->ifname, prio++, true, egress);
|
||||
APPEND(buf, ofs, " protocol ip u32 match ip protocol 47 0xff"
|
||||
MATCH_GRE_ETH_VLAN_IP_UDP_DHCP_68
|
||||
" flowid 1:1 action mirred ingress mirror dev " DHCPSNOOP_IFB_NAME);
|
||||
" flowid 1:1 action mirred ingress mirror dev " DHCPSNOOP_IFB_NAME " continue");
|
||||
dhcpsnoop_run_cmd(buf, false);
|
||||
|
||||
/* IPv6 */
|
||||
ofs = prepare_filter_cmd(buf, sizeof(buf), dev->ifname, prio++, true, egress);
|
||||
APPEND(buf, ofs, " protocol ipv6 u32 match ip6 sport 546 0xfffe"
|
||||
" flowid 1:1 action mirred ingress mirror dev " DHCPSNOOP_IFB_NAME);
|
||||
" flowid 1:1 action mirred ingress mirror dev " DHCPSNOOP_IFB_NAME " continue");
|
||||
dhcpsnoop_run_cmd(buf, false);
|
||||
|
||||
ofs = prepare_filter_cmd(buf, sizeof(buf), dev->ifname, prio++, true, egress);
|
||||
APPEND(buf, ofs, " protocol 802.1Q u32 offset plus 4 match ip6 sport 546 0xfffe"
|
||||
" flowid 1:1 action mirred ingress mirror dev " DHCPSNOOP_IFB_NAME);
|
||||
" flowid 1:1 action mirred ingress mirror dev " DHCPSNOOP_IFB_NAME " continue");
|
||||
dhcpsnoop_run_cmd(buf, false);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user