App-Iptables2Dot
view release on metacpan or search on metacpan
lib/App/Iptables2Dot.pm view on Meta::CPAN
package App::Iptables2Dot;
# vim: set sw=4 ts=4 tw=78 et si filetype=perl:
use warnings;
use strict;
use Carp;
use Getopt::Long qw(GetOptionsFromString);
use version; our $VERSION = qv('v0.3.3');
# Module implementation here
my @optdefs = qw(
checksum-fill
clamp-mss-to-pmtu
comment=s
ctstate=s
destination|d=s
destination-ports|dports=s
dport=s
dst-type=s
gid-owner=s
goto|g=s
helper=s
in-interface|i=s
icmp-type=s
jump|j=s
limit=s
limit-burst=s
log-prefix=s
m=s
mac-source=s
match-set=s
mss=s
notrack
o=s
physdev-in=s
physdev-is-bridged
physdev-is-in
physdev-is-out
physdev-out=s
protocol|p=s
reject-with
socket-exists
source|s=s
sport=s
state=s
suppl-groups
tcp-flags=s
to-destination=s
to-ports=s
to-source
uid-owner=s
ulog-prefix=s
);
sub new {
my ($self) = @_;
my $type = ref($self) || $self;
$self = bless { nodemap => {}, nn => 0 }, $type;
return $self;
} # new()
sub add_optdef {
my $optdef = shift;
push @optdefs, $optdef;
} # add_optdef()
# dot_graph($opt, @graphs)
#
# Creates a graph in the 'dot' language for all tables given in the list
# @graphs.
#
# Returns the graph as string.
#
sub dot_graph {
my $self = shift;
my $opt = shift;
my $subgraphs = '';
foreach my $graph (@_) {
( run in 1.131 second using v1.01-cache-2.11-cpan-ceb78f64989 )