diff options
Diffstat (limited to 'include/linux/netfilter/ipset/ip_set_getport.h')
-rw-r--r-- | include/linux/netfilter/ipset/ip_set_getport.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/include/linux/netfilter/ipset/ip_set_getport.h b/include/linux/netfilter/ipset/ip_set_getport.h new file mode 100644 index 000000000..1ecaabd9a --- /dev/null +++ b/include/linux/netfilter/ipset/ip_set_getport.h @@ -0,0 +1,35 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _IP_SET_GETPORT_H +#define _IP_SET_GETPORT_H + +#include <linux/skbuff.h> +#include <linux/types.h> +#include <uapi/linux/in.h> + +extern bool ip_set_get_ip4_port(const struct sk_buff *skb, bool src, + __be16 *port, u8 *proto); + +#if IS_ENABLED(CONFIG_IP6_NF_IPTABLES) +extern bool ip_set_get_ip6_port(const struct sk_buff *skb, bool src, + __be16 *port, u8 *proto); +#else +static inline bool ip_set_get_ip6_port(const struct sk_buff *skb, bool src, + __be16 *port, u8 *proto) +{ + return false; +} +#endif + +static inline bool ip_set_proto_with_ports(u8 proto) +{ + switch (proto) { + case IPPROTO_TCP: + case IPPROTO_SCTP: + case IPPROTO_UDP: + case IPPROTO_UDPLITE: + return true; + } + return false; +} + +#endif /*_IP_SET_GETPORT_H*/ |