Linux-libre 4.9.123-gnu
[librecmc/linux-libre.git] / include / uapi / linux / netfilter_bridge / ebt_ip6.h
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 #include <linux/in6.h>
17
18 #define EBT_IP6_SOURCE 0x01
19 #define EBT_IP6_DEST 0x02
20 #define EBT_IP6_TCLASS 0x04
21 #define EBT_IP6_PROTO 0x08
22 #define EBT_IP6_SPORT 0x10
23 #define EBT_IP6_DPORT 0x20
24 #define EBT_IP6_ICMP6 0x40
25
26 #define EBT_IP6_MASK (EBT_IP6_SOURCE | EBT_IP6_DEST | EBT_IP6_TCLASS |\
27                       EBT_IP6_PROTO | EBT_IP6_SPORT | EBT_IP6_DPORT | \
28                       EBT_IP6_ICMP6)
29 #define EBT_IP6_MATCH "ip6"
30
31 /* the same values are used for the invflags */
32 struct ebt_ip6_info {
33         struct in6_addr saddr;
34         struct in6_addr daddr;
35         struct in6_addr smsk;
36         struct in6_addr dmsk;
37         __u8  tclass;
38         __u8  protocol;
39         __u8  bitmask;
40         __u8  invflags;
41         union {
42                 __u16 sport[2];
43                 __u8 icmpv6_type[2];
44         };
45         union {
46                 __u16 dport[2];
47                 __u8 icmpv6_code[2];
48         };
49 };
50
51 #endif