NAME
Net::DHCPv6::Packet::Relay - Base class for DHCPv6 relay messages (RelayForw/RelayReply)
VERSION
version 0.003
SYNOPSIS
# Text form (auto-resolved to wire bytes)
my $relay = Net::DHCPv6::Packet::Relay->new(
msg_type => $RELAY_FORW,
hop_count => 0,
link_address => '2001:db8::1',
peer_address => '2001:db8::2',
);
print $relay->hop_count; # 0
print $relay->link_address; # '2001:db8::1'
print $relay->link_address_raw; # 16 bytes
print $relay->peer_address; # '2001:db8::2'
# Raw bytes
use Socket qw(inet_pton AF_INET6);
my $relay2 = Net::DHCPv6::Packet::Relay->new(
msg_type => $RELAY_FORW,
hop_count => 0,
link_address_raw => inet_pton( AF_INET6, '2001:db8::1' ),
peer_address_raw => inet_pton( AF_INET6, '2001:db8::2' ),
);
DESCRIPTION
Base class for RELAY-FORW and RELAY-REPLY messages (RFC 8415 §14), which have a different wire format than standard DHCPv6 messages: a 1-byte hop count, 16-byte link address, 16-byte peer address, then options. No transaction_id field.
ALPHA STATUS
ALPHA SOFTWARE. This is an early release. The interface is experimental and subject to change without notice.
CONSTRUCTORS
- new(%args)
-
Constructs a relay message. Required:
hop_count, and eitherlink_address(IPv6 text) orlink_address_raw(16 raw bytes), and eitherpeer_addressorpeer_address_raw. Optional:options(OptionList). - from_bytes($bytes)
-
Class method. Parses relay wire format: msg_type(1) + hop_count(1) + link_address(16) + peer_address(16) + options.
METHODS
- hop_count
- link_address
-
Returns the link address as a text string.
- link_address_raw
-
Returns the link address as 16 raw bytes.
- peer_address
-
Returns the peer address as a text string.
- peer_address_raw
-
Returns the peer address as 16 raw bytes.
- as_bytes
-
Serializes to wire format.
ACCESSORS (inherited)
SEE ALSO
Net::DHCPv6::Packet, Net::DHCPv6::Message::RelayForw, Net::DHCPv6::Message::RelayReply
AUTHOR
Dean Hamstead <dean@fragfest.com.au>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2026 by Dean Hamstead.
This is free software, licensed under:
The MIT (X11) License