summaryrefslogtreecommitdiff
path: root/lib/Vyatta/Conntrack/RuleIgnore.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Vyatta/Conntrack/RuleIgnore.pm')
-rw-r--r--lib/Vyatta/Conntrack/RuleIgnore.pm7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/Vyatta/Conntrack/RuleIgnore.pm b/lib/Vyatta/Conntrack/RuleIgnore.pm
index 9b9abe1..9127fa2 100644
--- a/lib/Vyatta/Conntrack/RuleIgnore.pm
+++ b/lib/Vyatta/Conntrack/RuleIgnore.pm
@@ -42,7 +42,12 @@ sub rule {
exit 1;
}
if (defined($self->{_protocol})) {
- $rule .= " -p $self->{_protocol}";
+ if ($self->{_protocol} =~ m/^!/) {
+ my $protocol = substr($self->{_protocol}, 1);
+ $rule .= " ! -p $protocol";
+ } else {
+ $rule .= " -p $self->{_protocol}";
+ }
}
$rule .= " $srcrule $dstrule ";
return $rule;