1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 #ifndef __LINUX_BRIDGE_EBT_ARP_H
3 #define __LINUX_BRIDGE_EBT_ARP_H
4 
5 #include <linux/types.h>
6 #include <linux/if_ether.h>
7 
8 #define EBT_ARP_OPCODE 0x01
9 #define EBT_ARP_HTYPE 0x02
10 #define EBT_ARP_PTYPE 0x04
11 #define EBT_ARP_SRC_IP 0x08
12 #define EBT_ARP_DST_IP 0x10
13 #define EBT_ARP_SRC_MAC 0x20
14 #define EBT_ARP_DST_MAC 0x40
15 #define EBT_ARP_GRAT 0x80
16 #define EBT_ARP_MASK (EBT_ARP_OPCODE | EBT_ARP_HTYPE | EBT_ARP_PTYPE | \
17    EBT_ARP_SRC_IP | EBT_ARP_DST_IP | EBT_ARP_SRC_MAC | EBT_ARP_DST_MAC | \
18    EBT_ARP_GRAT)
19 #define EBT_ARP_MATCH "arp"
20 
21 struct ebt_arp_info
22 {
23 	__be16 htype;
24 	__be16 ptype;
25 	__be16 opcode;
26 	__be32 saddr;
27 	__be32 smsk;
28 	__be32 daddr;
29 	__be32 dmsk;
30 	unsigned char smaddr[ETH_ALEN];
31 	unsigned char smmsk[ETH_ALEN];
32 	unsigned char dmaddr[ETH_ALEN];
33 	unsigned char dmmsk[ETH_ALEN];
34 	__u8  bitmask;
35 	__u8  invflags;
36 };
37 
38 #endif
39