NAME

Net::CDP::Address - Cisco Discovery Protocol (CDP) interface address

SYNOPSIS

use Net::CDP qw(:protos);
use Net::CDP::Address;

# Constructors
$address = new Net::CDP::Address($ip);
$address = new Net::CDP::Address($protocol, $packed);
$cloned  = clone $address;

# Object methods
$protocol = $address->protocol;
$address  = $address->address;
$packed   = $address->packed;

DESCRIPTION

A Net::CDP::Address object represents a single addres in the Addresses field of a CDP packet. Net::CDP::Address objects are immutable.

CONSTRUCTORS

new
$address = new Net::CDP::Address($ip)
$address = new Net::CDP::Address($protocol, $packed)

Returns a new Net::CDP::Address object.

If only one argument is provided, new will attempt to parse it as an IPv4 or IPv6 address.

Otherwise, you must specify the protocol and the bytes that comprise the address. $protocol should be one of the following constants:

CDP_ADDR_PROTO_CLNP
CDP_ADDR_PROTO_IPV4
CDP_ADDR_PROTO_IPV6
CDP_ADDR_PROTO_DECNET
CDP_ADDR_PROTO_APPLETALK
CDP_ADDR_PROTO_IPX
CDP_ADDR_PROTO_VINES
CDP_ADDR_PROTO_XNS
CDP_ADDR_PROTO_APOLLO

These constants can be exported from Net::CDP::Address using the tag :protos. See Exporter.

$packed must be a string consisting of the bytes that make up the address in network order. You may find the pack function useful in generating this string.

clone
$cloned = clone $packet

Returns a deep copy of the supplied Net::CDP::Address object.

OBJECT METHODS

protocol
$protocol = $address->protocol()

Returns this address's protocol.

address
$ip = $address->address()

If this is an IPv4 or IPv6 address, returns its standard string representation, otherwise undef.

packed
$packed = $address->packed()

Returns this address as a string consisting of the bytes that comprise it in network order.

SEE ALSO

Net::CDP

AUTHOR

Michael Chapman, <cpan@very.puzzling.org>

COPYRIGHT AND LICENSE

Copyright (C) 2004 by Michael Chapman

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.