summaryrefslogtreecommitdiffstats
path: root/extensions/ebt_arp.c
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/ebt_arp.c')
-rw-r--r--extensions/ebt_arp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/extensions/ebt_arp.c b/extensions/ebt_arp.c
index d088563..3ff1444 100644
--- a/extensions/ebt_arp.c
+++ b/extensions/ebt_arp.c
@@ -180,7 +180,8 @@ static void final_check(const struct ebt_u_entry *entry,
unsigned int hook_mask, unsigned int time)
{
if (entry->bitmask & EBT_NOPROTO || entry->bitmask & EBT_802_3 ||
- (entry->ethproto != ETH_P_ARP && entry->ethproto != ETH_P_RARP))
+ (entry->ethproto != ETH_P_ARP && entry->ethproto != ETH_P_RARP) ||
+ entry->invflags & EBT_IPROTO)
print_error("For (R)ARP filtering the protocol must be "
"specified as ARP or RARP");
}