|
@@ -1165,10 +1165,10 @@ int ip6_append_data(struct sock *sk, int getfrag(void *from, char *to,
|
|
|
np->cork.hop_limit = hlimit;
|
|
|
np->cork.tclass = tclass;
|
|
|
if (rt->dst.flags & DST_XFRM_TUNNEL)
|
|
|
- mtu = np->pmtudisc == IPV6_PMTUDISC_PROBE ?
|
|
|
+ mtu = np->pmtudisc >= IPV6_PMTUDISC_PROBE ?
|
|
|
rt->dst.dev->mtu : dst_mtu(&rt->dst);
|
|
|
else
|
|
|
- mtu = np->pmtudisc == IPV6_PMTUDISC_PROBE ?
|
|
|
+ mtu = np->pmtudisc >= IPV6_PMTUDISC_PROBE ?
|
|
|
rt->dst.dev->mtu : dst_mtu(rt->dst.path);
|
|
|
if (np->frag_size < mtu) {
|
|
|
if (np->frag_size)
|
|
@@ -1270,7 +1270,7 @@ alloc_new_skb:
|
|
|
if (skb == NULL || skb_prev == NULL)
|
|
|
ip6_append_data_mtu(&mtu, &maxfraglen,
|
|
|
fragheaderlen, skb, rt,
|
|
|
- np->pmtudisc ==
|
|
|
+ np->pmtudisc >=
|
|
|
IPV6_PMTUDISC_PROBE);
|
|
|
|
|
|
skb_prev = skb;
|