From f6e4c60702f810cc06449782f64c7e5a7e20abb2 Mon Sep 17 00:00:00 2001 From: Marian Tudosoiu Date: Wed, 11 Apr 2018 11:13:14 +0300 Subject: Task T35 - fixing prune_deleted_sets for inet6 family --- lib/Vyatta/IpTables/IpSet.pm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'lib/Vyatta/IpTables/IpSet.pm') diff --git a/lib/Vyatta/IpTables/IpSet.pm b/lib/Vyatta/IpTables/IpSet.pm index ba5e68d..276b845 100755 --- a/lib/Vyatta/IpTables/IpSet.pm +++ b/lib/Vyatta/IpTables/IpSet.pm @@ -137,6 +137,25 @@ sub get_type { return $self->{_type}; } +sub get_family { + my ($self) = @_; + return $self->{_family} if defined $self->{_family}; + return if !$self->exists(); + my @lines = `ipset -L $self->{_name}`; + my $family; + foreach my $line (@lines) { + if ($line =~ /^Header: family (\w+) hashsize/) { + $family = $1; + $self->{_family} = $family; + last; + } elsif ($line =~ /^Type: bitmap:port$/){ + $self->{_family} = "inet"; + last; + } + } + return $self->{_family}; +} + sub alphanum_split { my ($str) = @_; my @list = split m/(?=(?<=\D)\d|(?<=\d)\D)/, $str; -- cgit v1.2.3