Message ID | 1398707980.10880.6.camel@sakura.staff.proxad.net |
---|---|
State | RFC, archived |
Delegated to: | David Miller |
Headers | show |
On Mon, Apr 28, 2014 at 07:59:40PM +0200, Maxime Bizon wrote: > > On Mon, 2014-04-28 at 18:37 +0200, Maxime Bizon wrote: > > > > conntrack causes the packets to be re-assembled, but since the > > resulting skb now has IP_DF set, it fails the (DF + MTU) test in > > ip_forward.c and causes ICMP frag_needed to be sent. > > hum isn't it just a matter of doing this ? But why should we do this? The entire point of the patch was to fix PMTUD. > --- a/net/ipv4/ip_fragment.c > +++ b/net/ipv4/ip_fragment.c > @@ -493,6 +493,8 @@ found: > skb->len + ihl > qp->q.max_size) > qp->q.max_size = skb->len + ihl; > > + skb->local_df = 1; > + > if (qp->q.last_in == (INET_FRAG_FIRST_IN | INET_FRAG_LAST_IN) && > qp->q.meat == qp->q.len) { > unsigned long orefdst = skb->_skb_refdst; > > > -- > Maxime > -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
--- a/net/ipv4/ip_fragment.c +++ b/net/ipv4/ip_fragment.c @@ -493,6 +493,8 @@ found: skb->len + ihl > qp->q.max_size) qp->q.max_size = skb->len + ihl; + skb->local_df = 1; + if (qp->q.last_in == (INET_FRAG_FIRST_IN | INET_FRAG_LAST_IN) && qp->q.meat == qp->q.len) { unsigned long orefdst = skb->_skb_refdst;