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 52