aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@linux-foundation.org>2007-04-26 01:03:10 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-04-26 01:30:00 -0400
commit83aa0938ff59e8ef6d0b99260063ebe84fc84a16 (patch)
treeba5a69f01b6f1f4b24892fa0cb3cba2404645a1e
parente1ec7842df5db897516d73c76bd2a568b4abc33b (diff)
[BRIDGE]: don't change packet type
The change to forward STP bpdu's (for usermode STP) through normal path, changed the packet type in the process. Since link local stuff is multicast, it should stay pkt_type = PACKET_MULTICAST. The code was probably copy/pasted incorrectly from the bridge pseudo-device receive path. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/bridge/br_input.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/net/bridge/br_input.c b/net/bridge/br_input.c
index 8a5527632092..364e0ba44158 100644
--- a/net/bridge/br_input.c
+++ b/net/bridge/br_input.c
@@ -131,12 +131,9 @@ struct sk_buff *br_handle_frame(struct net_bridge_port *p, struct sk_buff *skb)
131 if (!is_valid_ether_addr(eth_hdr(skb)->h_source)) 131 if (!is_valid_ether_addr(eth_hdr(skb)->h_source))
132 goto drop; 132 goto drop;
133 133
134 if (unlikely(is_link_local(dest))) { 134 if (unlikely(is_link_local(dest)))
135 skb->pkt_type = PACKET_HOST;
136
137 return (NF_HOOK(PF_BRIDGE, NF_BR_LOCAL_IN, skb, skb->dev, 135 return (NF_HOOK(PF_BRIDGE, NF_BR_LOCAL_IN, skb, skb->dev,
138 NULL, br_handle_local_finish) == 0) ? skb : NULL; 136 NULL, br_handle_local_finish) == 0) ? skb : NULL;
139 }
140 137
141 switch (p->state) { 138 switch (p->state) {
142 case BR_STATE_FORWARDING: 139 case BR_STATE_FORWARDING: