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