blob: dd4df25330e8422fdb7005cfa20ef8dcc57ebe45 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef __LINUX_BRIDGE_EBT_ARP_H
2#define __LINUX_BRIDGE_EBT_ARP_H
3
Jan Engelhardt06988b02011-01-20 17:50:17 +01004#include <linux/types.h>
Mikko Rapeli1ffad832015-10-15 07:56:30 +02005#include <linux/if_ether.h>
Jan Engelhardt06988b02011-01-20 17:50:17 +01006
Linus Torvalds1da177e2005-04-16 15:20:36 -07007#define EBT_ARP_OPCODE 0x01
8#define EBT_ARP_HTYPE 0x02
9#define EBT_ARP_PTYPE 0x04
10#define EBT_ARP_SRC_IP 0x08
11#define EBT_ARP_DST_IP 0x10
12#define EBT_ARP_SRC_MAC 0x20
13#define EBT_ARP_DST_MAC 0x40
Bart De Schuymerc15bf6e2007-04-12 22:15:06 -070014#define EBT_ARP_GRAT 0x80
Linus Torvalds1da177e2005-04-16 15:20:36 -070015#define EBT_ARP_MASK (EBT_ARP_OPCODE | EBT_ARP_HTYPE | EBT_ARP_PTYPE | \
Bart De Schuymerc15bf6e2007-04-12 22:15:06 -070016 EBT_ARP_SRC_IP | EBT_ARP_DST_IP | EBT_ARP_SRC_MAC | EBT_ARP_DST_MAC | \
17 EBT_ARP_GRAT)
Linus Torvalds1da177e2005-04-16 15:20:36 -070018#define EBT_ARP_MATCH "arp"
19
20struct ebt_arp_info
21{
Al Viro47c183fa2006-11-14 21:11:51 -080022 __be16 htype;
23 __be16 ptype;
24 __be16 opcode;
25 __be32 saddr;
26 __be32 smsk;
27 __be32 daddr;
28 __be32 dmsk;
Linus Torvalds1da177e2005-04-16 15:20:36 -070029 unsigned char smaddr[ETH_ALEN];
30 unsigned char smmsk[ETH_ALEN];
31 unsigned char dmaddr[ETH_ALEN];
32 unsigned char dmmsk[ETH_ALEN];
Jan Engelhardt0260c1d2011-01-18 07:33:09 +010033 __u8 bitmask;
34 __u8 invflags;
Linus Torvalds1da177e2005-04-16 15:20:36 -070035};
36
37#endif