kernel: fix another corner case in the bridge state patch (#13874)
Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37347 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
addf81e48e
commit
c369d9184c
|
@ -38,8 +38,8 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
||||||
forward:
|
forward:
|
||||||
switch (p->state) {
|
switch (p->state) {
|
||||||
+ case BR_STATE_DISABLED:
|
+ case BR_STATE_DISABLED:
|
||||||
+ if (!ether_addr_equal(p->br->dev->dev_addr, dest))
|
+ if (ether_addr_equal(p->br->dev->dev_addr, dest))
|
||||||
+ goto drop;
|
+ skb->pkt_type = PACKET_HOST;
|
||||||
+
|
+
|
||||||
+ if (NF_HOOK(NFPROTO_BRIDGE, NF_BR_PRE_ROUTING, skb, skb->dev, NULL,
|
+ if (NF_HOOK(NFPROTO_BRIDGE, NF_BR_PRE_ROUTING, skb, skb->dev, NULL,
|
||||||
+ br_handle_local_finish))
|
+ br_handle_local_finish))
|
||||||
|
|
|
@ -38,8 +38,8 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
||||||
forward:
|
forward:
|
||||||
switch (p->state) {
|
switch (p->state) {
|
||||||
+ case BR_STATE_DISABLED:
|
+ case BR_STATE_DISABLED:
|
||||||
+ if (!ether_addr_equal(p->br->dev->dev_addr, dest))
|
+ if (ether_addr_equal(p->br->dev->dev_addr, dest))
|
||||||
+ goto drop;
|
+ skb->pkt_type = PACKET_HOST;
|
||||||
+
|
+
|
||||||
+ if (NF_HOOK(NFPROTO_BRIDGE, NF_BR_PRE_ROUTING, skb, skb->dev, NULL,
|
+ if (NF_HOOK(NFPROTO_BRIDGE, NF_BR_PRE_ROUTING, skb, skb->dev, NULL,
|
||||||
+ br_handle_local_finish))
|
+ br_handle_local_finish))
|
||||||
|
|
Loading…
Reference in New Issue