---
name: "Net::Frame::Layer::PPP"
section: "3pm"
platform: "linux"
package: "libnet-frame-perl"
version: "1.21-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Net::Frame::Layer::PPP"
---

# Net::Frame::Layer::PPP(3pm)

Point-to-Point Protocol layer object

## NAME

Net::Frame::Layer::PPP - Point-to-Point Protocol layer object

## SYNOPSIS

```
   use Net::Frame::Layer::PPP qw(:consts);
   # Build a layer
   my $layer = Net::Frame::Layer::PPP->new(
      address  => 0xff,
      control  => 0x03,
      protocol => NF_PPP_PROTOCOL_IPv4,
   );
   $layer->pack;
   print 'RAW: '.$layer->dump."\n";
   # Read a raw layer
   my $layer = Net::Frame::Layer::PPP->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 Point-to-Point Protocol layer.

See also **Net::Frame::Layer** for other attributes and methods.

## ATTRIBUTES

- **address** - 8 bits

  - **control** - 8 bits

  - **protocol** - 16 bits

  The following are inherited attributes. See **Net::Frame::Layer** for more information.

- **raw**

  - **payload**

  - **nextLayer**

  ## METHODS

- **new**

  - **new** (hash)

  Object constructor. You can pass attributes that will overwrite default ones. See **SYNOPSIS** for default values.

The following are inherited methods. Some of them may be overridden in this layer, and some others may not be meaningful in this layer. See **Net::Frame::Layer** for more information.

- **layer**

  - **computeLengths**

  - **computeChecksums**

  - **pack**

  - **unpack**

  - **encapsulate**

  - **getLength**

  - **getPayloadLength**

  - **print**

  - **dump**

  ## CONSTANTS

Load them: use Net::Frame::Layer::PPP qw(:consts);

- **NF\_PPP\_PROTOCOL\_IPv4**

  - **NF\_PPP\_PROTOCOL\_DDP**

  - **NF\_PPP\_PROTOCOL\_IPX**

  - **NF\_PPP\_PROTOCOL\_IPv6**

  - **NF\_PPP\_PROTOCOL\_CDP**

  - **NF\_PPP\_PROTOCOL\_PPPLCP**

  Various supported encapsulated layer types.

## SEE ALSO

Net::Frame::Layer

## AUTHOR

Patrice \<GomoR\> Auffret

## COPYRIGHT AND LICENSE

Copyright (c) 2006-2019, Patrice \<GomoR\> Auffret

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