ipv6: yet another new IPV6_MTU_DISCOVER option IPV6_PMTUDISC_OMIT
This option has the same semantic as IP_PMTUDISC_OMIT for IPv4 which
got recently introduced. It doesn't honor the path mtu discovered by the
host but in contrary to IPV6_PMTUDISC_INTERFACE allows the generation of
fragments if the packet size exceeds the MTU of the outgoing interface
MTU.
Fixes: 93b36cf342 ("ipv6: support IPV6_PMTU_INTERFACE on sockets")
Cc: Florian Weimer <fweimer@redhat.com>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
1b34657635
commit
0b95227a7b
@@ -171,7 +171,14 @@ static inline int ip6_skb_dst_mtu(struct sk_buff *skb)
|
||||
|
||||
static inline bool ip6_sk_accept_pmtu(const struct sock *sk)
|
||||
{
|
||||
return inet6_sk(sk)->pmtudisc != IPV6_PMTUDISC_INTERFACE;
|
||||
return inet6_sk(sk)->pmtudisc != IPV6_PMTUDISC_INTERFACE &&
|
||||
inet6_sk(sk)->pmtudisc != IPV6_PMTUDISC_OMIT;
|
||||
}
|
||||
|
||||
static inline bool ip6_sk_local_df(const struct sock *sk)
|
||||
{
|
||||
return inet6_sk(sk)->pmtudisc < IPV6_PMTUDISC_DO ||
|
||||
inet6_sk(sk)->pmtudisc == IPV6_PMTUDISC_OMIT;
|
||||
}
|
||||
|
||||
static inline struct in6_addr *rt6_nexthop(struct rt6_info *rt)
|
||||
|
||||
Reference in New Issue
Block a user