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 uint16_t htype; 24 uint16_t ptype; 25 uint16_t opcode; 26 uint32_t saddr; 27 uint32_t smsk; 28 uint32_t daddr; 29 uint32_t 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 uint8_t bitmask; 35 uint8_t invflags; 36 }; 37 38 #endif 39