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