11 #include <linux/if_arp.h>
12 #include <linux/if_ether.h>
13 #include <linux/module.h>
14 #include <linux/netfilter/x_tables.h>
15 #include <linux/netfilter_bridge/ebtables.h>
25 ah = skb_header_pointer(skb, 0,
sizeof(_arph), &_arph);
44 sap = skb_header_pointer(skb,
sizeof(
struct arphdr) +
45 ah->ar_hln,
sizeof(saddr),
49 dap = skb_header_pointer(skb,
sizeof(
struct arphdr) +
50 2*ah->ar_hln+
sizeof(saddr),
51 sizeof(daddr), &daddr);
66 const unsigned char *
mp;
73 mp = skb_header_pointer(skb,
sizeof(
struct arphdr),
78 for (i = 0; i < 6; i++)
79 verdict |= (mp[i] ^ info->
smaddr[i]) &
86 mp = skb_header_pointer(skb,
sizeof(
struct arphdr) +
87 ah->ar_hln + ah->ar_pln,
92 for (i = 0; i < 6; i++)
93 verdict |= (mp[i] ^ info->
dmaddr[i]) &
122 .checkentry = ebt_arp_mt_check,
127 static int __init ebt_arp_init(
void)
132 static void __exit ebt_arp_fini(
void)