[IPV6]: Fix reversed local_df test in ip6_fragment

I managed to reverse the local_df test when forward-porting this
patch so it actually makes things worse by never fragmenting at
all.

Thanks to David Stevens for testing and reporting this bug.

Bill Fink pointed out that the local_df setting is also the wrong
way around.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by Herbert Xu and committed by David S. Miller b5c15fc0 073a3719

+2 -2
+2 -2
net/ipv6/ip6_output.c
··· 621 621 * or if the skb it not generated by a local socket. (This last 622 622 * check should be redundant, but it's free.) 623 623 */ 624 - if (skb->local_df) { 624 + if (!skb->local_df) { 625 625 skb->dev = skb->dst->dev; 626 626 icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu, skb->dev); 627 627 IP6_INC_STATS(ip6_dst_idev(skb->dst), IPSTATS_MIB_FRAGFAILS); ··· 1421 1421 } 1422 1422 1423 1423 /* Allow local fragmentation. */ 1424 - if (np->pmtudisc >= IPV6_PMTUDISC_DO) 1424 + if (np->pmtudisc < IPV6_PMTUDISC_DO) 1425 1425 skb->local_df = 1; 1426 1426 1427 1427 ipv6_addr_copy(final_dst, &fl->fl6_dst);