aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/ip.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/ip.h')
-rw-r--r--include/net/ip.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/include/net/ip.h b/include/net/ip.h
index 23be0fd37937..25064c28e059 100644
--- a/include/net/ip.h
+++ b/include/net/ip.h
@@ -187,6 +187,7 @@ void ip_send_unicast_reply(struct net *net, struct sk_buff *skb, __be32 daddr,
187#define NET_INC_STATS(net, field) SNMP_INC_STATS((net)->mib.net_statistics, field) 187#define NET_INC_STATS(net, field) SNMP_INC_STATS((net)->mib.net_statistics, field)
188#define NET_INC_STATS_BH(net, field) SNMP_INC_STATS_BH((net)->mib.net_statistics, field) 188#define NET_INC_STATS_BH(net, field) SNMP_INC_STATS_BH((net)->mib.net_statistics, field)
189#define NET_INC_STATS_USER(net, field) SNMP_INC_STATS_USER((net)->mib.net_statistics, field) 189#define NET_INC_STATS_USER(net, field) SNMP_INC_STATS_USER((net)->mib.net_statistics, field)
190#define NET_ADD_STATS(net, field, adnd) SNMP_ADD_STATS((net)->mib.net_statistics, field, adnd)
190#define NET_ADD_STATS_BH(net, field, adnd) SNMP_ADD_STATS_BH((net)->mib.net_statistics, field, adnd) 191#define NET_ADD_STATS_BH(net, field, adnd) SNMP_ADD_STATS_BH((net)->mib.net_statistics, field, adnd)
191#define NET_ADD_STATS_USER(net, field, adnd) SNMP_ADD_STATS_USER((net)->mib.net_statistics, field, adnd) 192#define NET_ADD_STATS_USER(net, field, adnd) SNMP_ADD_STATS_USER((net)->mib.net_statistics, field, adnd)
192 193
@@ -266,7 +267,8 @@ int ip_dont_fragment(struct sock *sk, struct dst_entry *dst)
266 267
267static inline bool ip_sk_accept_pmtu(const struct sock *sk) 268static inline bool ip_sk_accept_pmtu(const struct sock *sk)
268{ 269{
269 return inet_sk(sk)->pmtudisc != IP_PMTUDISC_INTERFACE; 270 return inet_sk(sk)->pmtudisc != IP_PMTUDISC_INTERFACE &&
271 inet_sk(sk)->pmtudisc != IP_PMTUDISC_OMIT;
270} 272}
271 273
272static inline bool ip_sk_use_pmtu(const struct sock *sk) 274static inline bool ip_sk_use_pmtu(const struct sock *sk)
@@ -274,6 +276,12 @@ static inline bool ip_sk_use_pmtu(const struct sock *sk)
274 return inet_sk(sk)->pmtudisc < IP_PMTUDISC_PROBE; 276 return inet_sk(sk)->pmtudisc < IP_PMTUDISC_PROBE;
275} 277}
276 278
279static inline bool ip_sk_local_df(const struct sock *sk)
280{
281 return inet_sk(sk)->pmtudisc < IP_PMTUDISC_DO ||
282 inet_sk(sk)->pmtudisc == IP_PMTUDISC_OMIT;
283}
284
277static inline unsigned int ip_dst_mtu_maybe_forward(const struct dst_entry *dst, 285static inline unsigned int ip_dst_mtu_maybe_forward(const struct dst_entry *dst,
278 bool forwarding) 286 bool forwarding)
279{ 287{
@@ -489,7 +497,8 @@ int ip_options_rcv_srr(struct sk_buff *skb);
489 497
490void ipv4_pktinfo_prepare(const struct sock *sk, struct sk_buff *skb); 498void ipv4_pktinfo_prepare(const struct sock *sk, struct sk_buff *skb);
491void ip_cmsg_recv(struct msghdr *msg, struct sk_buff *skb); 499void ip_cmsg_recv(struct msghdr *msg, struct sk_buff *skb);
492int ip_cmsg_send(struct net *net, struct msghdr *msg, struct ipcm_cookie *ipc); 500int ip_cmsg_send(struct net *net, struct msghdr *msg,
501 struct ipcm_cookie *ipc, bool allow_ipv6);
493int ip_setsockopt(struct sock *sk, int level, int optname, char __user *optval, 502int ip_setsockopt(struct sock *sk, int level, int optname, char __user *optval,
494 unsigned int optlen); 503 unsigned int optlen);
495int ip_getsockopt(struct sock *sk, int level, int optname, char __user *optval, 504int ip_getsockopt(struct sock *sk, int level, int optname, char __user *optval,