git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git]
/
net
/
bridge
/
br_forward.c
diff --git
a/net/bridge/br_forward.c
b/net/bridge/br_forward.c
index
1589763
..
ef9f209
100644
(file)
--- a/
net/bridge/br_forward.c
+++ b/
net/bridge/br_forward.c
@@
-31,13
+31,17
@@
static inline int should_deliver(const struct net_bridge_port *p,
int br_dev_queue_push_xmit(struct sk_buff *skb)
{
int br_dev_queue_push_xmit(struct sk_buff *skb)
{
+ if (skb->len > skb->dev->mtu)
+ kfree_skb(skb);
+ else {
#ifdef CONFIG_BRIDGE_NETFILTER
#ifdef CONFIG_BRIDGE_NETFILTER
-
/* ip_refrag calls ip_fragment, which
doesn't copy the MAC header. */
- nf_bridge_maybe_copy_header(skb);
+
/* ip_refrag calls ip_fragment,
doesn't copy the MAC header. */
+
nf_bridge_maybe_copy_header(skb);
#endif
#endif
- skb_push(skb, ETH_HLEN);
+
skb_push(skb, ETH_HLEN);
- dev_queue_xmit(skb);
+ dev_queue_xmit(skb);
+ }
return 0;
}
return 0;
}