# # $Id: Layer3.pm,v 1.1.1.1.4.12 2005/05/22 19:47:48 gomor Exp $ # package Net::Packet::Layer3; require Net::Packet::Layer; our @ISA = qw(Net::Packet::Layer); use Net::Packet::Consts qw(:layer); sub layer { NP_LAYER_N_3 } sub _is { (shift->is eq shift()) ? 1 : 0 } sub isIp { my $self = shift; $self->isIpv4 || $self->isIpv6 } sub isIpv4 { shift->_is(NP_LAYER_IPv4) } sub isIpv6 { shift->_is(NP_LAYER_IPv6) } sub isArp { shift->_is(NP_LAYER_ARP) } sub isVlan { shift->_is(NP_LAYER_VLAN) } 1; __END__ =head1 NAME Net::Packet::Layer3 - base class for all layer 3 modules =head1 DESCRIPTION This is the base class for B subclasses. It just provides those layers with inheritable attributes and methods. =head1 METHODS =over 4 =item B =item B =item B - is IPv4 or IPv6 =item B =item B Returns true if Layer3 is of specified type, false otherwise. =back =head1 AUTHOR Patrice EGomoRE Auffret =head1 COPYRIGHT AND LICENSE Copyright (c) 2004-2005, Patrice EGomoRE Auffret You may distribute this module under the terms of the Artistic license. See Copying file in the source distribution archive. =head1 RELATED MODULES L, L, L =cut