1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 /*
3  *  ebt_ip6
4  *
5  *	Authors:
6  * Kuo-Lang Tseng <kuo-lang.tseng@intel.com>
7  * Manohar Castelino <manohar.r.castelino@intel.com>
8  *
9  *  Jan 11, 2008
10  *
11  */
12 
13 #ifndef __LINUX_BRIDGE_EBT_IP6_H
14 #define __LINUX_BRIDGE_EBT_IP6_H
15 
16 #include <linux/types.h>
17 #include <linux/in6.h>
18 
19 #define EBT_IP6_SOURCE 0x01
20 #define EBT_IP6_DEST 0x02
21 #define EBT_IP6_TCLASS 0x04
22 #define EBT_IP6_PROTO 0x08
23 #define EBT_IP6_SPORT 0x10
24 #define EBT_IP6_DPORT 0x20
25 #define EBT_IP6_ICMP6 0x40
26 
27 #define EBT_IP6_MASK (EBT_IP6_SOURCE | EBT_IP6_DEST | EBT_IP6_TCLASS |\
28 		      EBT_IP6_PROTO | EBT_IP6_SPORT | EBT_IP6_DPORT | \
29 		      EBT_IP6_ICMP6)
30 #define EBT_IP6_MATCH "ip6"
31 
32 /* the same values are used for the invflags */
33 struct ebt_ip6_info {
34 	struct in6_addr saddr;
35 	struct in6_addr daddr;
36 	struct in6_addr smsk;
37 	struct in6_addr dmsk;
38 	__u8  tclass;
39 	__u8  protocol;
40 	__u8  bitmask;
41 	__u8  invflags;
42 	union {
43 		__u16 sport[2];
44 		__u8 icmpv6_type[2];
45 	};
46 	union {
47 		__u16 dport[2];
48 		__u8 icmpv6_code[2];
49 	};
50 };
51 
52 #endif
53