diff --git a/Shorewall/Perl/Shorewall/ARP.pm b/Shorewall/Perl/Shorewall/ARP.pm index a5eb7eb70..a2cf2749a 100644 --- a/Shorewall/Perl/Shorewall/ARP.pm +++ b/Shorewall/Perl/Shorewall/ARP.pm @@ -56,12 +56,9 @@ sub match_arp_net( $$$ ) { my $return = ''; if ( supplied $net ) { - my ( $addr , $mask ) = split( $net , '/', 2 ); - - my $invert = ( $addr =~ s/^!// ) ? '! ' : ''; - + my $invert = ( $net =~ s/^!// ) ? '! ' : ''; validate_net $net, 0; - $return = $source ? "-s $net " : "-d $net "; + $return = $source ? "-s ${invert}$net " : "-d ${invert}$net "; } if ( supplied $mac ) {