aboutsummaryrefslogtreecommitdiffstats
path: root/net/bridge
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2006-03-21 01:57:18 -0500
committerDavid S. Miller <davem@davemloft.net>2006-03-21 01:57:18 -0500
commitd5513a7d32de721a9e396c2b32cf277d5cef5fb6 (patch)
treeaecdea676fae6ef1390ac4f6e63a6196db2ebf79 /net/bridge
parentcee4854122d4347b2f6f10fe7f007a48fada29a0 (diff)
[BRIDGE]: optimize frame pass up
The netfilter hook that is used to receive frames doesn't need to be a stub. It is only called in two ways, both of which ignore the return value. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge')
-rw-r--r--net/bridge/br_input.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/net/bridge/br_input.c b/net/bridge/br_input.c
index 4eef83755315..6e223723cc8d 100644
--- a/net/bridge/br_input.c
+++ b/net/bridge/br_input.c
@@ -21,12 +21,6 @@
21 21
22const unsigned char bridge_ula[6] = { 0x01, 0x80, 0xc2, 0x00, 0x00, 0x00 }; 22const unsigned char bridge_ula[6] = { 0x01, 0x80, 0xc2, 0x00, 0x00, 0x00 };
23 23
24static int br_pass_frame_up_finish(struct sk_buff *skb)
25{
26 netif_receive_skb(skb);
27 return 0;
28}
29
30static void br_pass_frame_up(struct net_bridge *br, struct sk_buff *skb) 24static void br_pass_frame_up(struct net_bridge *br, struct sk_buff *skb)
31{ 25{
32 struct net_device *indev; 26 struct net_device *indev;
@@ -38,7 +32,7 @@ static void br_pass_frame_up(struct net_bridge *br, struct sk_buff *skb)
38 skb->dev = br->dev; 32 skb->dev = br->dev;
39 33
40 NF_HOOK(PF_BRIDGE, NF_BR_LOCAL_IN, skb, indev, NULL, 34 NF_HOOK(PF_BRIDGE, NF_BR_LOCAL_IN, skb, indev, NULL,
41 br_pass_frame_up_finish); 35 netif_receive_skb);
42} 36}
43 37
44/* note: already called with rcu_read_lock (preempt_disabled) */ 38/* note: already called with rcu_read_lock (preempt_disabled) */