Net::F...sement(3pm)
π Net::F...sement(3pm) β bestie edition π
okay so this is a page from the User Contributed Perl Documentation set, filed under Net::F...sement(3pm), and it's all about one lil' ICMPv6 object. grab a snack, we're doing networking β¨
πΈ NAME πΈ
Net::Frame::Layer::ICMPv6::RouterAdvertisement β it's the ICMPv6 Router Advertisement type object, and yes she is exactly as iconic as she sounds π
π¦ SYNOPSIS π¦
here's the vibe, copy-paste ready, no cap:
use Net::Frame::Layer::ICMPv6::RouterAdvertisement;
my $layer = Net::Frame::Layer::ICMPv6::RouterAdvertisement->new(
curHopLimit => 64,
flags => NF_ICMPv6_FLAG_MANAGEDADDRESSCONFIGURATION,
);
$layer->pack;
print 'RAW: '.$layer->dump."\n";
# Read a raw layer
my $layer = Net::Frame::Layer::ICMPv6::RouterAdvertisement->new(
raw => $raw,
);
print $layer->print."\n";
print 'PAYLOAD: '.unpack('H*', $layer->payload)."\n"
if $layer->payload;
likeβ¦ build it, pack it, dump it, or feed it raw bytes and let it figure herself out. both directions, she serves π
β¨ DESCRIPTION β¨
this module is the whole encoder and decoder situation for the ICMPv6 Router Advertisement object. so like, it can take your attributes and turn them into bytes, and it can take bytes and turn them back into attributes. full glow-up in both directions π₯
also, for the other attributes and methods floating around, go peek at Net::Frame::Layer. she's the mothership π«Ά
π ATTRIBUTES π
for the tea on all of these, refer to RFC 5175. that's the source of truth, bestie, not me π
curHopLimitflagsreservedrouterLifetimereachableTimeretransTimeroptions
and these next ones are the inherited attributes β they're not hers originally, she got them from the family. see Net::Frame::Layer for the full lore:
rawpayloadnextLayer
π METHODS π
newnew (hash)β the object constructor, periodt. you can pass in attributes and they'll overwrite the defaults. wanna know what the defaults even are? look at SYNOPSIS above, they're all sitting right there β¨getOptionsLengthβ hands you the length, in bytes, ofoptions. and if there are no options? she gives you0. that's it, that's the whole thing, and honestly? queen behavior π
the following are inherited methods. heads up though: some of them might get overridden in this layer, and some of them might not even be meaningful here. so don't come for her if one of them acts weird β check Net::Frame::Layer for the real details:
layercomputeLengthscomputeChecksumspackunpackencapsulategetLengthgetPayloadLengthprintdump
π CONSTANTS π
No constants here.
that's it. that's the section. empty. nothing. and you know what, that's valid, not every layer needs a personality trait π
π§ SEE ALSO π§
go read these next, they're the friend group:
Net::Frame::Layer::ICMPv6Net::Frame::Layer
π AUTHOR π
Patrice <GomoR> Auffret Paolo Vanni Venegas
(iconic duo, no notes π«Ά)
π COPYRIGHT AND LICENSE π
Copyright (c) 2006-2019, Patrice <GomoR> Auffret Copyright (c) 2009-2019, Paolo Vanni Venegas
you're allowed to distribute this module under the terms of the Artistic license. see the LICENSE.Artistic file in the source distribution archive for the whole legal situation β¨
β ok final thing: this whole page comes fromperl v5.30.0, dated2019-12-26, filed underNet::F...sement(3pm). that's the sign-off bestie, mwah π
π¦ where this page comes from
- debian bookworm: libnet-frame-layer-icmpv6-perl 1.11-1 Β· Artistic-1.0-Perl
- debian trixie: libnet-frame-layer-icmpv6-perl 1.11-1 Β· Artistic-1.0-Perl
- ubuntu jammy: libnet-frame-layer-icmpv6-perl 1.11-1 Β· Artistic-1.0-Perl
- ubuntu noble: libnet-frame-layer-icmpv6-perl 1.11-1 Β· Artistic-1.0-Perl
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms