Net::Packet::PPPoE

Section: User Contributed Perl Documentation (3pm)
Updated: 2009-11-09
Index Return to Main Contents
 

NAME

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

SYNOPSIS

   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

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

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

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

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

Patrice <GomoR> Auffret  

COPYRIGHT AND LICENSE

Copyright (c) 2004-2009, Patrice <GomoR> Auffret

You may distribute this module under the terms of the Artistic license. See LICENSE.Artistic file in the source distribution archive.  

RELATED MODULES

NetPacket, Net::RawIP, Net::RawSock


 

Index

NAME
SYNOPSIS
DESCRIPTION
ATTRIBUTES
METHODS
CONSTANTS
AUTHOR
COPYRIGHT AND LICENSE
RELATED MODULES

This document was created by