Commit c893b806 authored by Changli Gao's avatar Changli Gao Committed by David S. Miller

ip_fragment: fix subtracting PPPOE_SES_HLEN from mtu twice

6c79bf0f subtracts PPPOE_SES_HLEN from mtu at
the front of ip_fragment(). So the later subtraction should be removed. The
MTU of 802.1q is also 1500, so MTU should not be changed.
Signed-off-by: default avatarChangli Gao <xiaosuo@gmail.com>
Signed-off-by: default avatarBart De Schuymer <bdschuym@pandora.bo>
----
 net/ipv4/ip_output.c |    6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
Signed-off-by: default avatarBart De Schuymer <bdschuym@pandora.bo>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 3c0fef0b
...@@ -446,7 +446,7 @@ int ip_fragment(struct sk_buff *skb, int (*output)(struct sk_buff *)) ...@@ -446,7 +446,7 @@ int ip_fragment(struct sk_buff *skb, int (*output)(struct sk_buff *))
int ptr; int ptr;
struct net_device *dev; struct net_device *dev;
struct sk_buff *skb2; struct sk_buff *skb2;
unsigned int mtu, hlen, left, len, ll_rs, pad; unsigned int mtu, hlen, left, len, ll_rs;
int offset; int offset;
__be16 not_last_frag; __be16 not_last_frag;
struct rtable *rt = skb_rtable(skb); struct rtable *rt = skb_rtable(skb);
...@@ -585,9 +585,7 @@ int ip_fragment(struct sk_buff *skb, int (*output)(struct sk_buff *)) ...@@ -585,9 +585,7 @@ int ip_fragment(struct sk_buff *skb, int (*output)(struct sk_buff *))
/* for bridged IP traffic encapsulated inside f.e. a vlan header, /* for bridged IP traffic encapsulated inside f.e. a vlan header,
* we need to make room for the encapsulating header * we need to make room for the encapsulating header
*/ */
pad = nf_bridge_pad(skb); ll_rs = LL_RESERVED_SPACE_EXTRA(rt->dst.dev, nf_bridge_pad(skb));
ll_rs = LL_RESERVED_SPACE_EXTRA(rt->dst.dev, pad);
mtu -= pad;
/* /*
* Fragment the datagram. * Fragment the datagram.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment