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 */
34struct 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