Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
SNMP::Info::FDP(3)    User Contributed Perl Documentation   SNMP::Info::FDP(3)

       SNMP::Info::FDP - SNMP Interface	to Foundry Discovery Protocol (FDP)
       using SNMP

       Bruce Rodger, Max Baker

	my $fdp	= new SNMP::Info (
				    AutoSpecify	=> 1,
				    Debug	=> 1,
				    DestHost	=> 'router',
				    Community	=> 'public',
				    Version	=> 2

	my $class = $fdp->class();
	print "	Using device sub class : $class\n";

	$hasfdp	  = $fdp->hasFDP() ? 'yes' : 'no';

	# Print	out a map of device ports with FDP neighbors:
	my $interfaces = $fdp->interfaces();
	my $fdp_if	 = $fdp->fdp_if();
	my $fdp_ip	 = $fdp->fdp_ip();
	my $fdp_port	 = $fdp->fdp_port();

	foreach	my $fdp_key (keys %$fdp_ip){
	   my $iid	     = $fdp_if->{$fdp_key};
	   my $port	     = $interfaces->{$iid};
	   my $neighbor	     = $fdp_ip->{$fdp_key};
	   my $neighbor_port = $fdp_port->{$fdp_key};
	   print "Port : $port connected to $neighbor /	$neighbor_port\n";

       SNMP::Info::FDP is a subclass of	SNMP::Info that	provides an object
       oriented	interface to FDP information through SNMP.

       FDP is a	Layer 2	protocol that supplies topology	information of devices
       that also speak FDP, mostly switches and	routers.  It has similar
       functionality to	Cisco's	CDP, and the SNMP interface is virtually
       identical.  FDP is implemented in Brocade (Foundry) devices.

       Create or use a device subclass that inherits this class.  Do not use

       Each device implements a	subset of the global and cache entries.	 Check
       the return value	to see if that data is held by the device.

   Inherited Classes

   Required MIBs
	   Needs a reasonably recent MIB. Works	OK with	B2R07604A.mib, but
	   doesn't work	with B2R07600C.

       These are methods that return scalar values from	SNMP

	   Is FDP is active in this device?

	   Accounts for	SNMP version 1 devices which may have FDP but not

	   Is FDP enabled on this device?


	   Interval in seconds at which	FDP messages are generated.


	   Time	in seconds that	FDP messages are kept.


       CDP compatibility

	   Interval in seconds at which	FDP messages are generated.


	   Time	in seconds that	FDP messages are kept.


	   Returns FDP device ID.

	   This	is the device id broadcast via FDP to other devices, and is
	   what	is retrieved from remote devices with $fdp->id().


	   Is FDP enabled on this device?

       These are methods that return tables of information in the form of a
       reference to a hash.

       CDP compatibility

	   Returns Device Functional Capabilities.  Results are	munged into an
	   ascii binary	string,	MSB.  Each digit represents a bit from the
	   table below.


	   (Bit) - Description

	   (0x40) - Provides level 1 functionality.
	   (0x20) - The	bridge or switch does not forward IGMP Report packets
	   on non router ports.
	   (0x10) - Sends and receives packets for at least one	network	layer
	   protocol. If	the device is routing the protocol, this bit should
	   not be set.
	   (0x08) - Performs level 2 switching.	The difference between this
	   bit and bit 0x02 is that a switch does not run the Spanning-Tree
	   Protocol. This device is assumed to be deployed in a	physical loop-
	   free	topology.
	   (0x04) - Performs level 2 source-route bridging. A source-route
	   bridge would	set both this bit and bit 0x02.
	   (0x02) - Performs level 2 transparent bridging.
	   (0x01) - Performs level 3 routing for at least one network layer

	   Thanks to Martin Lorensen for a pointer to this information.


	   Returns remote device id string


	   Returns the mapping to the SNMP Interface Table.

	   In order to map the fdp table entry back to the interfaces()	entry,
	   we truncate the last	number off of it :

	     my	$fdp_ip	      =	$device->fdp_ip();

	     my	%fdp_if
	     foreach my	$key (keys %$fdp_ip){
		 $iid =	$key;
		 ## Truncate off .1 from fdp response
		 $iid =~ s/\.\d+$//;
		 $fdp_if{$key} = $iid;

	     return \%fdp_if;

	   Returns remote IP address


	   Returns remote platform id


	   Returns remote port ID


	   Returns remote address type received.  Usually IP.


	   Returns remote hardware version


	   Returns type	of entry received, either FDP or CDP.


perl v5.32.0			  2020-08-09		    SNMP::Info::FDP(3)


Want to link to this manual page? Use this URL:

home | help