Net::Packet::PPPoE - PPP-over-Ethernet layer 3 object


Net-Packet documentation  | view source Contained in the Net-Packet distribution.

Index


NAME

Top

Net::Packet::PPPoE - PPP-over-Ethernet layer 3 object

SYNOPSIS

Top

   use Net::Packet::Consts qw(:pppoe);
   require Net::Packet::PPPoE;

   # Build a layer
   my $layer = Net::Packet::PPPoE->new(
      version       => 1,
      type          => 1,
      code          => 0,
      sessionId     => 1,
      payloadLength => 0,
      pppProtocol   => NP_PPPoE_PPP_PROTOCOL_IPv4,
   );
   $layer->pack;

   print 'RAW: '.unpack('H*', $layer->raw)."\n";

   # Read a raw layer
   my $layer = Net::Packet::PPPoE->new(raw => $raw);

   print $layer->print."\n";
   print 'PAYLOAD: '.unpack('H*', $layer->payload)."\n"
      if $layer->payload;

DESCRIPTION

Top

This modules implements the encoding and decoding of the PPP-over-Ethernet layer.

See also Net::Packet::Layer and Net::Packet::Layer3 for other attributes and methods.

ATTRIBUTES

Top

version - 4 bits
code - 4 bits
type - 8 bits
sessionId - 16 bits
payloadLength - 16 bits
pppProtocol - 16 bits

For this last attribute, we can note that it is included in the computation of payloadLength.

METHODS

Top

new

Object constructor. You can pass attributes that will overwrite default ones. Default values:

version: 1

type: 1

code: 0

sessionId: 1

payloadLength: 0

pppProtocol: NP_PPPoE_PPP_PROTOCOL_IPv4

pack

Packs all attributes into a raw format, in order to inject to network. Returns 1 on success, undef otherwise.

unpack

Unpacks raw data from network and stores attributes into the object. Returns 1 on success, undef otherwise.

CONSTANTS

Top

Load them: use Net::Packet::Consts qw(:pppoe);

NP_PPPoE_HDR_LEN

PPPoE header length.

NP_PPPoE_PPP_PROTOCOL_IPv4
NP_PPPoE_PPP_PROTOCOL_PPPLCP

Various supported encapsulated PPP protocols.

AUTHOR

Top

Patrice <GomoR> Auffret

COPYRIGHT AND LICENSE

Top

RELATED MODULES

Top


Net-Packet documentation  | view source Contained in the Net-Packet distribution.