1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 /*
3  *  ebt_ip
4  *
5  *	Authors:
6  *	Bart De Schuymer <bart.de.schuymer@pandora.be>
7  *
8  *  April, 2002
9  *
10  *  Changes:
11  *    added ip-sport and ip-dport
12  *    Innominate Security Technologies AG <mhopf@innominate.com>
13  *    September, 2002
14  */
15 
16 #ifndef __LINUX_BRIDGE_EBT_IP_H
17 #define __LINUX_BRIDGE_EBT_IP_H
18 
19 #include <linux/types.h>
20 
21 #define EBT_IP_SOURCE 0x01
22 #define EBT_IP_DEST 0x02
23 #define EBT_IP_TOS 0x04
24 #define EBT_IP_PROTO 0x08
25 #define EBT_IP_SPORT 0x10
26 #define EBT_IP_DPORT 0x20
27 #define EBT_IP_ICMP 0x40
28 #define EBT_IP_IGMP 0x80
29 #define EBT_IP_MASK (EBT_IP_SOURCE | EBT_IP_DEST | EBT_IP_TOS | EBT_IP_PROTO |\
30 		     EBT_IP_SPORT | EBT_IP_DPORT | EBT_IP_ICMP | EBT_IP_IGMP)
31 #define EBT_IP_MATCH "ip"
32 
33 /* the same values are used for the invflags */
34 struct ebt_ip_info {
35 	__be32 saddr;
36 	__be32 daddr;
37 	__be32 smsk;
38 	__be32 dmsk;
39 	__u8  tos;
40 	__u8  protocol;
41 	__u8  bitmask;
42 	__u8  invflags;
43 	union {
44 		__u16 sport[2];
45 		__u8 icmp_type[2];
46 		__u8 igmp_type[2];
47 	};
48 	union {
49 		__u16 dport[2];
50 		__u8 icmp_code[2];
51 	};
52 };
53 
54 #endif
55