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

FreeBSD Manual Pages

  
 
  

home | help
SNMP_ATM(3)		 BSD Library Functions Manual		   SNMP_ATM(3)

NAME
     atmif_event_f, atm_find_if_name, atm_find_if, atm_notify_aif,
     atm_unnotify_aif -- ATM driver module for snmpd.

LIBRARY
     (begemotSnmpdModulePath."netgraph"	= /usr/lib/snmp_netgraph.so (FreeBSD))
     (begemotSnmpdModulePath."mibII" = /usr/lib/snmp_mibII.so)
     (begemotSnmpdModulePath."atm" = /usr/lib/snmp_atm.so)

SYNOPSIS
     #include <bsnmp/snmpmod.h>
     #include <bsnmp/snmp_mibII.h>
     #include <bsnmp/snmp_atm.h>

     typedef void
     (*atmif_event_f)(struct atmif *aif, enum atmif_notify event,
	 uintptr_t data, void *uarg);

     struct atmif *
     atm_find_if_name(const char *name);

     struct atmif *
     atm_find_if(u_int ifindex);

     void *
     atm_notify_aif(struct atmif *aif, const struct lmodule *mod,
	 atmif_event_f func, void *uarg);

     void
     atm_unnotify_aif(void *not);

DESCRIPTION
     The snmp_atm module implements a number of	tables and scalars that	enable
     remote access to the ATM devices in the system. It	also exports a number
     of	functions, that	allow other modules to easily access ATM devices.

     The module	maintains an extension to the interface	structure exported by
     snmp_mibII(3) for all ATM devices.	This structure has the following
     fields:

	   struct atmif	{
		   struct mibif	   *ifp;	   /* common interface data */
		   struct atmif_mib *mib;	   /* ATM MIB */
		   enum	atmif_carrier_state carrier;
		   enum	atmif_suni_mode	mode;	   /* SUNI mode	SDH or SONET */
	   };

     The fields	have the following meaning:

     ifp  The field points to the snmp_mibII(3)	interface structure.

     mib  The special ATM interface MIB	(see below).

     carrier
	  The current state of the carrier. One	of the following:

	  ATMIF_CARRIER_ON
	       carrier detected,

	  ATMIF_CARRIER_OFF
	       no carrier,

	  ATMIF_CARRIER_UNKNOWN
	       the state of the	carrier	is unknown,

	  ATMIF_CARRIER_NONE
	       the device has no notion	of carrier or is not able to sense it.

     mode
	  For ATM devices with a SUNI chip this	is the current mode of the in-
	  terface:

	  ATMIF_SUNI_MODE_SONET
	       The interface is	in SONET mode.

	  ATMIF_SUNI_MODE_SDH
	       The interface is	in SDH mode.

	  ATMIF_SUNI_MODE_UNKNOWN
	       The interface either has	no SUNI	interface or the mode is un-
	       known (for example, interface is	down).

     An	ATM interface can be found by name or by SNMP interface	index (see
     snmp_mibII(3) for a discussion of interface indexes).  The	function
     atm_find_if_name()	searches an interface given a name.  The function
     atm_find_if() searches an interface by its	interface index.  Both func-
     tions return NULL if an interface cannot be found.

     The ATM MIB contains the following	fields:

	   struct atmif_mib {
		   u_int   version;	   /* currently	0 */

		   u_int   device;	   /* type of hardware (system specific) */
		   u_int   serial;	   /* card serial number (device specific) */
		   u_int   hw_version;	   /* card version (device specific) */
		   u_int   sw_version;	   /* firmware version (device specific) */
		   u_int   media;	   /* physical media (see MIB) */

		   u_char  esi[6];	   /* end system identifier (MAC) */
		   u_int   pcr;		   /* supported	peak cell rate */
		   u_int   vpi_bits;	   /* number of	used bits in VPI field */
		   u_int   vci_bits;	   /* number of	used bits in VCI field */
		   u_int   max_vpcs;	   /* maximum number of	VPCs */
		   u_int   max_vccs;	   /* maximum number of	VCCs */
	   };

   NOTIFICATIONS
     An	other module can register with atmif_event_f to	receive	notifications
     when certain events happen	on the ATM interface.  The registration	is
     done with atm_notify_aif()	which takes a pointer to the interface,	the
     calling module pointer, a callback	function and a user argument that is
     passed to the callback function.  The callback function is	called with
     the interface pointer, a notification code, a notification	argument and
     the user argument.	The following notifications are	defined:

     ATMIF_NOTIFY_DESTROY
	  The interface	is destroyed. The notification argument	is not used.

     ATMIF_NOTIFY_CARRIER
	  The carrier state on the interface has changed. The argument is the
	  old state of the carrier. The	new state can be obtained from the in-
	  terface structure.

     ATMIF_NOTIFY_VCC
	  A permanent VCC has been created or destroyed. The argument is an
	  u_int	that can be decoded as follows:

		vpi = (arg >> 24) & 0xff;
		vci = (arg >>  8) & 0xffff;
		state =	arg & 1;

	  state	is 0 if	the VCC	was destroyed and 1 if it was created.
     The registration for notification can be undone by	passing	the return
     value from	atm_notify_aif() to atm_unnotify_aif().	 The registrations is
     automatically removed if the interface is destroyed.

   MIB
     The MIB implemented by the	module is defined in BEGEMOT-ATM.txt.  In the
     generic part there	are two	tables and one scalar, there is	also a system
     specific group:

     begemotAtmIfTable
	  This table is	an extension of	ifTable.  It contains a	row for	each
	  ATM interface	and is index with ifIndex.  All	fields are read-only
	  except the begemotAtmIfMode column.

     begemotAtmIfTableLastChange
	  Contains the tick when a row was created or destroyed	in the above
	  table	or 0, if the table did not change since	start of the SNMP
	  agent.

     begemotAtmHWTable
	  Is also indexed by ifIndex and contains hardware specific informa-
	  tion.	This table is read-only.

FILES
     /usr/share/snmp/defs/atm_tree.def
		The description	of the MIB tree	implemented by atmif_event_f.

     /usr/share/snmp/mibs/BEGEMOT-ATM.txt
		This is	the MIB	that is	implemented by this module.

SEE ALSO
     bsnmpd(1),	gensnmptree(1),	snmp_mibII(3), snmpmod(3), snmp_netgraph(3)

AUTHORS
     Hartmut Brandt <harti@FreeBSD.org>

BSD				 May 23, 2005				   BSD

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | FILES | SEE ALSO | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=snmp_atm&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help