summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2019-11-06 01:03:11 +0300
committerDavid S. Miller <davem@davemloft.net>2019-11-06 01:03:11 +0300
commitfd4b355829ec2c78b4503147062c3ca16c081f55 (patch)
tree92febdbde61f84d4ff24efe5db7520126522be56 /include
parentb8fed591df6bf7a86a5f55a3d67a3a1a4d0fce73 (diff)
parent54074f1dbd6fbc0f0a085a54f3297ae26e424d59 (diff)
downloadlinux-fd4b355829ec2c78b4503147062c3ca16c081f55.tar.xz
Merge branch 'icmp-move-duplicate-code-in-helper-functions'
Matteo Croce says: ==================== icmp: move duplicate code in helper functions Remove some duplicate code by moving it in two helper functions. First patch adds the helpers, the second one uses it. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/linux/icmp.h15
-rw-r--r--include/linux/icmpv6.h14
2 files changed, 29 insertions, 0 deletions
diff --git a/include/linux/icmp.h b/include/linux/icmp.h
index 2d8aaf7d4b9e..81ca84ce3119 100644
--- a/include/linux/icmp.h
+++ b/include/linux/icmp.h
@@ -20,4 +20,19 @@ static inline struct icmphdr *icmp_hdr(const struct sk_buff *skb)
{
return (struct icmphdr *)skb_transport_header(skb);
}
+
+static inline bool icmp_is_err(int type)
+{
+ switch (type) {
+ case ICMP_DEST_UNREACH:
+ case ICMP_SOURCE_QUENCH:
+ case ICMP_REDIRECT:
+ case ICMP_TIME_EXCEEDED:
+ case ICMP_PARAMETERPROB:
+ return true;
+ }
+
+ return false;
+}
+
#endif /* _LINUX_ICMP_H */
diff --git a/include/linux/icmpv6.h b/include/linux/icmpv6.h
index a8f888976137..ef1cbb5f454f 100644
--- a/include/linux/icmpv6.h
+++ b/include/linux/icmpv6.h
@@ -46,4 +46,18 @@ extern void icmpv6_flow_init(struct sock *sk,
const struct in6_addr *saddr,
const struct in6_addr *daddr,
int oif);
+
+static inline bool icmpv6_is_err(int type)
+{
+ switch (type) {
+ case ICMPV6_DEST_UNREACH:
+ case ICMPV6_PKT_TOOBIG:
+ case ICMPV6_TIME_EXCEED:
+ case ICMPV6_PARAMPROB:
+ return true;
+ }
+
+ return false;
+}
+
#endif