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
21struct 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

source code of linux/include/uapi/linux/netfilter_bridge/ebt_arp.h