[AGENT++] Hi, I met a problem when add LLDP-MIB

cheng wan wancheng82 at gmail.com
Tue Mar 16 11:21:16 CET 2010


Attachment 2, head file

2010/3/16 cheng wan <wancheng82 at gmail.com>:
> I had integrated some MIB modules with agent++.
> I had already add RFC1213-MIB, IF-MIB, BRIDGE-MIB,and it worked OK.
>
> The steps were just like the examples in agent++.
> 1) In function "void init", I added the new MIB modules.
> void init(Mib& mib)
> {
>   ......
>   ......
>    mib.add(new rfc1213_mib());
>   mib.add(new if_mib());
>   .......
>   ......
>   mib.add(new lldp_mib());
>   ......
> }
> 2)  Took  ifNumber in RFC1213 for example.
>     I added printf("HERE") to ifNumber::get_request, and it could
> print out "HERE" when I used snmpget tools.
>     Also I could get the value.
>     rwan at pica8:~/snmpagent/agentgen.pro/pica8mibs$ snmpwalk -c public
> -v 2c localhost 1.3.6.1.2.1.2.1
>     IF-MIB::ifNumber.0 = INTEGER: 30
>
> void ifNumber::get_request(Request* req, int ind)
> {
>
>        //--AgentGen BEGIN=ifNumber::get_request
>        //--AgentGen END
>        MibLeaf::get_request(req, ind);
>                printf("HERE"):
> }
>
> 3) But lldpMessageTxInterval in LLDP-MIB could not print out "THERE"
> when I used snmpget tools to get this value.
>    Also I could not get the value.
>    rwan at pica8:~/snmpagent/agentgen.pro/pica8mibs$ snmpwalk -c public
> -v 2c localhost 1.0.8802.1.1.2.1.1.1.0
>    iso.0.8802.1.1.2.1.1.1.0 = No Such Object available on this agent
> at this OID
>
> void lldpMessageTxInterval::get_request(Request* req, int ind)
> {
>
>        //--AgentGen BEGIN=lldpMessageTxInterval::get_request
>        //--AgentGen END
>        MibLeaf::get_request(req, ind);
>                printf("THERE"):
> }
>
>
> The only difference is that LLDP-MIB''s OID is not as other MIBS, it
> starts from iso(1).std(0).iso8802(8802).ieee802dot1(1).ieee802dot1mibs(1).lldpMIB(2).
> I did not know how to add these kind MIBS.
> Attachemnt are the MIB files, and stub code generated by agenpro.
> Thank you.
>
> Robin
>
-------------- next part --------------
//
// AgentGen Standard v1.8.7  Copyright (C) Frank Fock, All rights reserved
//



//--AgentGen BEGIN=_BEGIN
//--AgentGen END


#ifndef _lldp_mib_h
#define _lldp_mib_h


#include <agent_pp/mib.h>

#include <agent_pp/snmp_textual_conventions.h>
#include <agent_pp/notification_originator.h>
#include <snmp_pp/log.h>


#define oidLldpRemTablesChange           "1.0.8802.1.1.2.0.0.1"
#define oidLldpMessageTxInterval         "1.0.8802.1.1.2.1.1.1.0"
#define oidLldpMessageTxHoldMultiplier   "1.0.8802.1.1.2.1.1.2.0"
#define oidLldpReinitDelay               "1.0.8802.1.1.2.1.1.3.0"
#define oidLldpTxDelay                   "1.0.8802.1.1.2.1.1.4.0"
#define oidLldpNotificationInterval      "1.0.8802.1.1.2.1.1.5.0"
#define oidLldpPortConfigTable           "1.0.8802.1.1.2.1.1.6"
#define oidLldpPortConfigEntry           "1.0.8802.1.1.2.1.1.6.1"
#define oidLldpPortConfigPortNum         "1.0.8802.1.1.2.1.1.6.1.1"
#define colLldpPortConfigPortNum         "1"
#define oidLldpPortConfigAdminStatus     "1.0.8802.1.1.2.1.1.6.1.2"
#define colLldpPortConfigAdminStatus     "2"
#define oidLldpPortConfigNotificationEnable "1.0.8802.1.1.2.1.1.6.1.3"
#define colLldpPortConfigNotificationEnable "3"
#define oidLldpPortConfigTLVsTxEnable    "1.0.8802.1.1.2.1.1.6.1.4"
#define colLldpPortConfigTLVsTxEnable    "4"
#define oidLldpConfigManAddrTable        "1.0.8802.1.1.2.1.1.7"
#define oidLldpConfigManAddrEntry        "1.0.8802.1.1.2.1.1.7.1"
#define oidLldpConfigManAddrPortsTxEnable "1.0.8802.1.1.2.1.1.7.1.1"
#define colLldpConfigManAddrPortsTxEnable "1"
#define oidLldpStatsRemTablesLastChangeTime "1.0.8802.1.1.2.1.2.1.0"
#define oidLldpStatsRemTablesInserts     "1.0.8802.1.1.2.1.2.2.0"
#define oidLldpStatsRemTablesDeletes     "1.0.8802.1.1.2.1.2.3.0"
#define oidLldpStatsRemTablesDrops       "1.0.8802.1.1.2.1.2.4.0"
#define oidLldpStatsRemTablesAgeouts     "1.0.8802.1.1.2.1.2.5.0"
#define oidLldpStatsTxPortTable          "1.0.8802.1.1.2.1.2.6"
#define oidLldpStatsTxPortEntry          "1.0.8802.1.1.2.1.2.6.1"
#define oidLldpStatsTxPortNum            "1.0.8802.1.1.2.1.2.6.1.1"
#define colLldpStatsTxPortNum            "1"
#define oidLldpStatsTxPortFramesTotal    "1.0.8802.1.1.2.1.2.6.1.2"
#define colLldpStatsTxPortFramesTotal    "2"
#define oidLldpStatsRxPortTable          "1.0.8802.1.1.2.1.2.7"
#define oidLldpStatsRxPortEntry          "1.0.8802.1.1.2.1.2.7.1"
#define oidLldpStatsRxPortNum            "1.0.8802.1.1.2.1.2.7.1.1"
#define colLldpStatsRxPortNum            "1"
#define oidLldpStatsRxPortFramesDiscardedTotal "1.0.8802.1.1.2.1.2.7.1.2"
#define colLldpStatsRxPortFramesDiscardedTotal "2"
#define oidLldpStatsRxPortFramesErrors   "1.0.8802.1.1.2.1.2.7.1.3"
#define colLldpStatsRxPortFramesErrors   "3"
#define oidLldpStatsRxPortFramesTotal    "1.0.8802.1.1.2.1.2.7.1.4"
#define colLldpStatsRxPortFramesTotal    "4"
#define oidLldpStatsRxPortTLVsDiscardedTotal "1.0.8802.1.1.2.1.2.7.1.5"
#define colLldpStatsRxPortTLVsDiscardedTotal "5"
#define oidLldpStatsRxPortTLVsUnrecognizedTotal "1.0.8802.1.1.2.1.2.7.1.6"
#define colLldpStatsRxPortTLVsUnrecognizedTotal "6"
#define oidLldpStatsRxPortAgeoutsTotal   "1.0.8802.1.1.2.1.2.7.1.7"
#define colLldpStatsRxPortAgeoutsTotal   "7"
#define oidLldpLocChassisIdSubtype       "1.0.8802.1.1.2.1.3.1.0"
#define oidLldpLocChassisId              "1.0.8802.1.1.2.1.3.2.0"
#define oidLldpLocSysName                "1.0.8802.1.1.2.1.3.3.0"
#define oidLldpLocSysDesc                "1.0.8802.1.1.2.1.3.4.0"
#define oidLldpLocSysCapSupported        "1.0.8802.1.1.2.1.3.5.0"
#define oidLldpLocSysCapEnabled          "1.0.8802.1.1.2.1.3.6.0"
#define oidLldpLocPortTable              "1.0.8802.1.1.2.1.3.7"
#define oidLldpLocPortEntry              "1.0.8802.1.1.2.1.3.7.1"
#define oidLldpLocPortNum                "1.0.8802.1.1.2.1.3.7.1.1"
#define colLldpLocPortNum                "1"
#define oidLldpLocPortIdSubtype          "1.0.8802.1.1.2.1.3.7.1.2"
#define colLldpLocPortIdSubtype          "2"
#define oidLldpLocPortId                 "1.0.8802.1.1.2.1.3.7.1.3"
#define colLldpLocPortId                 "3"
#define oidLldpLocPortDesc               "1.0.8802.1.1.2.1.3.7.1.4"
#define colLldpLocPortDesc               "4"
#define oidLldpLocManAddrTable           "1.0.8802.1.1.2.1.3.8"
#define oidLldpLocManAddrEntry           "1.0.8802.1.1.2.1.3.8.1"
#define oidLldpLocManAddrSubtype         "1.0.8802.1.1.2.1.3.8.1.1"
#define colLldpLocManAddrSubtype         "1"
#define oidLldpLocManAddr                "1.0.8802.1.1.2.1.3.8.1.2"
#define colLldpLocManAddr                "2"
#define oidLldpLocManAddrLen             "1.0.8802.1.1.2.1.3.8.1.3"
#define colLldpLocManAddrLen             "3"
#define oidLldpLocManAddrIfSubtype       "1.0.8802.1.1.2.1.3.8.1.4"
#define colLldpLocManAddrIfSubtype       "4"
#define oidLldpLocManAddrIfId            "1.0.8802.1.1.2.1.3.8.1.5"
#define colLldpLocManAddrIfId            "5"
#define oidLldpLocManAddrOID             "1.0.8802.1.1.2.1.3.8.1.6"
#define colLldpLocManAddrOID             "6"
#define oidLldpRemTable                  "1.0.8802.1.1.2.1.4.1"
#define oidLldpRemEntry                  "1.0.8802.1.1.2.1.4.1.1"
#define oidLldpRemTimeMark               "1.0.8802.1.1.2.1.4.1.1.1"
#define colLldpRemTimeMark               "1"
#define oidLldpRemLocalPortNum           "1.0.8802.1.1.2.1.4.1.1.2"
#define colLldpRemLocalPortNum           "2"
#define oidLldpRemIndex                  "1.0.8802.1.1.2.1.4.1.1.3"
#define colLldpRemIndex                  "3"
#define oidLldpRemChassisIdSubtype       "1.0.8802.1.1.2.1.4.1.1.4"
#define colLldpRemChassisIdSubtype       "4"
#define oidLldpRemChassisId              "1.0.8802.1.1.2.1.4.1.1.5"
#define colLldpRemChassisId              "5"
#define oidLldpRemPortIdSubtype          "1.0.8802.1.1.2.1.4.1.1.6"
#define colLldpRemPortIdSubtype          "6"
#define oidLldpRemPortId                 "1.0.8802.1.1.2.1.4.1.1.7"
#define colLldpRemPortId                 "7"
#define oidLldpRemPortDesc               "1.0.8802.1.1.2.1.4.1.1.8"
#define colLldpRemPortDesc               "8"
#define oidLldpRemSysName                "1.0.8802.1.1.2.1.4.1.1.9"
#define colLldpRemSysName                "9"
#define oidLldpRemSysDesc                "1.0.8802.1.1.2.1.4.1.1.10"
#define colLldpRemSysDesc                "10"
#define oidLldpRemSysCapSupported        "1.0.8802.1.1.2.1.4.1.1.11"
#define colLldpRemSysCapSupported        "11"
#define oidLldpRemSysCapEnabled          "1.0.8802.1.1.2.1.4.1.1.12"
#define colLldpRemSysCapEnabled          "12"
#define oidLldpRemManAddrTable           "1.0.8802.1.1.2.1.4.2"
#define oidLldpRemManAddrEntry           "1.0.8802.1.1.2.1.4.2.1"
#define oidLldpRemManAddrSubtype         "1.0.8802.1.1.2.1.4.2.1.1"
#define colLldpRemManAddrSubtype         "1"
#define oidLldpRemManAddr                "1.0.8802.1.1.2.1.4.2.1.2"
#define colLldpRemManAddr                "2"
#define oidLldpRemManAddrIfSubtype       "1.0.8802.1.1.2.1.4.2.1.3"
#define colLldpRemManAddrIfSubtype       "3"
#define oidLldpRemManAddrIfId            "1.0.8802.1.1.2.1.4.2.1.4"
#define colLldpRemManAddrIfId            "4"
#define oidLldpRemManAddrOID             "1.0.8802.1.1.2.1.4.2.1.5"
#define colLldpRemManAddrOID             "5"
#define oidLldpRemUnknownTLVTable        "1.0.8802.1.1.2.1.4.3"
#define oidLldpRemUnknownTLVEntry        "1.0.8802.1.1.2.1.4.3.1"
#define oidLldpRemUnknownTLVType         "1.0.8802.1.1.2.1.4.3.1.1"
#define colLldpRemUnknownTLVType         "1"
#define oidLldpRemUnknownTLVInfo         "1.0.8802.1.1.2.1.4.3.1.2"
#define colLldpRemUnknownTLVInfo         "2"
#define oidLldpRemOrgDefInfoTable        "1.0.8802.1.1.2.1.4.4"
#define oidLldpRemOrgDefInfoEntry        "1.0.8802.1.1.2.1.4.4.1"
#define oidLldpRemOrgDefInfoOUI          "1.0.8802.1.1.2.1.4.4.1.1"
#define colLldpRemOrgDefInfoOUI          "1"
#define oidLldpRemOrgDefInfoSubtype      "1.0.8802.1.1.2.1.4.4.1.2"
#define colLldpRemOrgDefInfoSubtype      "2"
#define oidLldpRemOrgDefInfoIndex        "1.0.8802.1.1.2.1.4.4.1.3"
#define colLldpRemOrgDefInfoIndex        "3"
#define oidLldpRemOrgDefInfo             "1.0.8802.1.1.2.1.4.4.1.4"
#define colLldpRemOrgDefInfo             "4"

#define nLldpPortConfigAdminStatus       0
#define cLldpPortConfigAdminStatus       2
#define nLldpPortConfigNotificationEnable 1
#define cLldpPortConfigNotificationEnable 3
#define nLldpPortConfigTLVsTxEnable      2
#define cLldpPortConfigTLVsTxEnable      4
#define nLldpConfigManAddrPortsTxEnable  0
#define cLldpConfigManAddrPortsTxEnable  1
#define nLldpStatsTxPortFramesTotal      0
#define cLldpStatsTxPortFramesTotal      2
#define nLldpStatsRxPortFramesDiscardedTotal 0
#define cLldpStatsRxPortFramesDiscardedTotal 2
#define nLldpStatsRxPortFramesErrors     1
#define cLldpStatsRxPortFramesErrors     3
#define nLldpStatsRxPortFramesTotal      2
#define cLldpStatsRxPortFramesTotal      4
#define nLldpStatsRxPortTLVsDiscardedTotal 3
#define cLldpStatsRxPortTLVsDiscardedTotal 5
#define nLldpStatsRxPortTLVsUnrecognizedTotal 4
#define cLldpStatsRxPortTLVsUnrecognizedTotal 6
#define nLldpStatsRxPortAgeoutsTotal     5
#define cLldpStatsRxPortAgeoutsTotal     7
#define nLldpLocPortIdSubtype            0
#define cLldpLocPortIdSubtype            2
#define nLldpLocPortId                   1
#define cLldpLocPortId                   3
#define nLldpLocPortDesc                 2
#define cLldpLocPortDesc                 4
#define nLldpLocManAddrLen               0
#define cLldpLocManAddrLen               3
#define nLldpLocManAddrIfSubtype         1
#define cLldpLocManAddrIfSubtype         4
#define nLldpLocManAddrIfId              2
#define cLldpLocManAddrIfId              5
#define nLldpLocManAddrOID               3
#define cLldpLocManAddrOID               6
#define nLldpRemChassisIdSubtype         0
#define cLldpRemChassisIdSubtype         4
#define nLldpRemChassisId                1
#define cLldpRemChassisId                5
#define nLldpRemPortIdSubtype            2
#define cLldpRemPortIdSubtype            6
#define nLldpRemPortId                   3
#define cLldpRemPortId                   7
#define nLldpRemPortDesc                 4
#define cLldpRemPortDesc                 8
#define nLldpRemSysName                  5
#define cLldpRemSysName                  9
#define nLldpRemSysDesc                  6
#define cLldpRemSysDesc                  10
#define nLldpRemSysCapSupported          7
#define cLldpRemSysCapSupported          11
#define nLldpRemSysCapEnabled            8
#define cLldpRemSysCapEnabled            12
#define nLldpRemManAddrIfSubtype         0
#define cLldpRemManAddrIfSubtype         3
#define nLldpRemManAddrIfId              1
#define cLldpRemManAddrIfId              4
#define nLldpRemManAddrOID               2
#define cLldpRemManAddrOID               5
#define nLldpRemUnknownTLVInfo           0
#define cLldpRemUnknownTLVInfo           2
#define nLldpRemOrgDefInfo               0
#define cLldpRemOrgDefInfo               4


//--AgentGen BEGIN=_INCLUDE
#ifdef AGENTPP_NAMESPACE
namespace Agentpp {
#endif
//--AgentGen END


/**
 *  lldpRemTablesChange
 *
 * "A lldpRemTablesChange notification is sent when the value
 * of lldpStatsRemTableLastChangeTime changes.  It can be
 * utilized by an NMS to trigger LLDP remote systems table
 * maintenance polls.
 * Note that transmission of lldpRemTablesChange
 * notifications are throttled by the agent, as specified by the
 * 'lldpNotificationInterval' object."
 */


class lldpRemTablesChange: public NotificationOriginator {

public:
	lldpRemTablesChange();
	virtual ~lldpRemTablesChange();

	virtual void        	generate(Vbx*, int, const OctetStr&);

//--AgentGen BEGIN=lldpRemTablesChange
//--AgentGen END
};


/**
 *  lldpMessageTxInterval
 *
 * "The interval at which LLDP frames are transmitted on
 * behalf of this LLDP agent.
 * The default value for lldpMessageTxInterval object is
 * 30 seconds.
 * The value of this object must be restored from non-volatile
 * storage after a re-initialization of the management system."
 */


class lldpMessageTxInterval: public MibLeaf {

public:
	lldpMessageTxInterval();
	virtual ~lldpMessageTxInterval();

	static lldpMessageTxInterval* instance;

	virtual void       	get_request(Request*, int);
	virtual long       	get_state();
	virtual void       	set_state(long);
	virtual int        	set(const Vbx&);
	virtual int        	prepare_set_request(Request*, int&);
	virtual agentpp_boolean    	value_ok(const Vbx&);

//--AgentGen BEGIN=lldpMessageTxInterval
//--AgentGen END
};


/**
 *  lldpMessageTxHoldMultiplier
 *
 * "The time-to-live value expressed as a multiple of the
 * lldpMessageTxInterval object.  The actual time-to-live value
 * used in LLDP frames, transmitted on behalf of this LLDP agent,
 * can be expressed by the following formula: TTL = min(65535,
 * (lldpMessageTxInterval * lldpMessageTxHoldMultiplier)) For
 * example, if the value of lldpMessageTxInterval is '30', and
 * the value of lldpMessageTxHoldMultiplier is '4', then the
 * value '120' is encoded in the TTL field in the LLDP header.
 * The default value for lldpMessageTxHoldMultiplier object is 4.
 * The value of this object must be restored from non-volatile
 * storage after a re-initialization of the management system."
 */


class lldpMessageTxHoldMultiplier: public MibLeaf {

public:
	lldpMessageTxHoldMultiplier();
	virtual ~lldpMessageTxHoldMultiplier();

	static lldpMessageTxHoldMultiplier* instance;

	virtual void       	get_request(Request*, int);
	virtual long       	get_state();
	virtual void       	set_state(long);
	virtual int        	set(const Vbx&);
	virtual int        	prepare_set_request(Request*, int&);
	virtual agentpp_boolean    	value_ok(const Vbx&);

//--AgentGen BEGIN=lldpMessageTxHoldMultiplier
//--AgentGen END
};


/**
 *  lldpReinitDelay
 *
 * "The lldpReinitDelay indicates the delay (in units of
 * seconds) from when lldpPortConfigAdminStatus object of a
 * particular port becomes 'disabled' until re-initialization
 * will be attempted.
 * The default value for lldpReintDelay object is two seconds.
 * The value of this object must be restored from non-volatile
 * storage after a re-initialization of the management system."
 */


class lldpReinitDelay: public MibLeaf {

public:
	lldpReinitDelay();
	virtual ~lldpReinitDelay();

	static lldpReinitDelay* instance;

	virtual void       	get_request(Request*, int);
	virtual long       	get_state();
	virtual void       	set_state(long);
	virtual int        	set(const Vbx&);
	virtual int        	prepare_set_request(Request*, int&);
	virtual agentpp_boolean    	value_ok(const Vbx&);

//--AgentGen BEGIN=lldpReinitDelay
//--AgentGen END
};


/**
 *  lldpTxDelay
 *
 * "The lldpTxDelay indicates the delay (in units
 * of seconds) between successive LLDP frame transmissions
 * initiated by value/status changes in the LLDP local systems
 * MIB.  The recommended value for the lldpTxDelay is set by the
 * following  formula:
 *    1 <= lldpTxDelay <= (0.25 * lldpMessageTxInterval)
 * The default value for lldpTxDelay object is two seconds.
 * The value of this object must be restored from non-volatile
 * storage after a re-initialization of the management system."
 */


class lldpTxDelay: public MibLeaf {

public:
	lldpTxDelay();
	virtual ~lldpTxDelay();

	static lldpTxDelay* instance;

	virtual void       	get_request(Request*, int);
	virtual long       	get_state();
	virtual void       	set_state(long);
	virtual int        	set(const Vbx&);
	virtual int        	prepare_set_request(Request*, int&);
	virtual agentpp_boolean    	value_ok(const Vbx&);

//--AgentGen BEGIN=lldpTxDelay
//--AgentGen END
};


/**
 *  lldpNotificationInterval
 *
 * "This object controls the transmission of LLDP notifications.
 * the agent must not generate more than one lldpRemTablesChange
 * notification-event in the indicated period, where a
 * 'notification-event' is the transmission of a single
 * notification PDU type to a list of notification destinations.
 * If additional changes in lldpRemoteSystemsData object
 * groups occur within the indicated throttling period,
 * then these trap- events must be suppressed by the
 * agent. An NMS should periodically check the value of
 * lldpStatsRemTableLastChangeTime to detect any missed
 * lldpRemTablesChange notification-events, e.g. due to
 * throttling or transmission loss.
 * If notification transmission is enabled for particular ports,
 * the suggested default throttling period is 5 seconds.
 * The value of this object must be restored from non-volatile
 * storage after a re-initialization of the management system."
 */


class lldpNotificationInterval: public MibLeaf {

public:
	lldpNotificationInterval();
	virtual ~lldpNotificationInterval();

	static lldpNotificationInterval* instance;

	virtual void       	get_request(Request*, int);
	virtual long       	get_state();
	virtual void       	set_state(long);
	virtual int        	set(const Vbx&);
	virtual int        	prepare_set_request(Request*, int&);
	virtual agentpp_boolean    	value_ok(const Vbx&);

//--AgentGen BEGIN=lldpNotificationInterval
//--AgentGen END
};


/**
 *  lldpPortConfigAdminStatus
 *
 * "The administratively desired status of the local LLDP agent.
 * If the associated lldpPortConfigAdminStatus object has a
 * value of 'txOnly(1)', then LLDP agent will transmit LLDP
 * frames on this port and it will not store any information
 * about the remote systems connected.

 * If the associated lldpPortConfigAdminStatus object has a
 * value of 'rxOnly(2)', then the LLDP agent will receive,
 * but it will not transmit LLDP frames on this port.
 * If the associated lldpPortConfigAdminStatus object has a
 * value of 'txAndRx(3)', then the LLDP agent will transmit
 * and receive LLDP frames on this port.
 * If the associated lldpPortConfigAdminStatus object has a
 * value of 'disabled(4)', then LLDP agent will not transmit or
 * receive LLDP frames on this port.  If there is remote systems
 * information which is received on this port and stored in
 * other tables, before the port's lldpPortConfigAdminStatus
 * becomes disabled, then the information will naturally age out."
 */


class lldpPortConfigAdminStatus: public MibLeaf {

public:
	lldpPortConfigAdminStatus(const Oidx&);
	virtual ~lldpPortConfigAdminStatus();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual long       	get_state();
	virtual void       	set_state(long);
	virtual int        	set(const Vbx&);
	virtual int        	prepare_set_request(Request*, int&);
	virtual agentpp_boolean    	value_ok(const Vbx&);
	enum labels {
		e_txOnly = 1,
		e_rxOnly = 2,
		e_txAndRx = 3,
		e_disabled = 4 };

//--AgentGen BEGIN=lldpPortConfigAdminStatus
//--AgentGen END
};


/**
 *  lldpPortConfigNotificationEnable
 *
 * "The lldpPortConfigNotificationEnable controls, on a per
 * port basis,  whether or not notifications from the agent
 * are enabled. The value true(1) means that notifications are
 * enabled; the value false(2) means that they are not."
 */


class lldpPortConfigNotificationEnable: public MibLeaf {

public:
	lldpPortConfigNotificationEnable(const Oidx&);
	virtual ~lldpPortConfigNotificationEnable();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual long       	get_state();
	virtual void       	set_state(long);
	virtual int        	set(const Vbx&);
	virtual int        	prepare_set_request(Request*, int&);
	virtual agentpp_boolean    	value_ok(const Vbx&);
	enum labels {
		e_true = 1,
		e_false = 2 };

//--AgentGen BEGIN=lldpPortConfigNotificationEnable
//--AgentGen END
};


/**
 *  lldpPortConfigTLVsTxEnable
 *
 * "The lldpPortConfigTLVsTxEnable, defined as a bitmap,
 * includes the basic set of LLDP TLVs whose transmission is
 * allowed on the local LLDP agent by the network management.
 * Each bit in the bitmap corresponds to a TLV type associated
 * with a specific optional TLV.
 * It should be noted that the organizationally-specific TLVs
 * are excluded from the lldpTLVsTxEnable bitmap.

 * LLDP Organization Specific Information Extension MIBs should
 * have similar configuration object to control transmission
 * of their organizationally defined TLVs.
 * The bit 'portDesc(0)' indicates that LLDP agent should
 * transmit 'Port Description TLV'.
 * The bit 'sysName(1)' indicates that LLDP agent should transmit
 * 'System Name TLV'.
 * The bit 'sysDesc(2)' indicates that LLDP agent should transmit
 * 'System Description TLV'.
 * The bit 'sysCap(3)' indicates that LLDP agent should transmit
 * 'System Capabilities TLV'.
 * There is no bit reserved for the management address TLV type
 * since transmission of management address TLVs are controlled
 * by another object, lldpConfigManAddrTable.
 * The default value for lldpPortConfigTLVsTxEnable object is
 * empty set, which means no enumerated values are set.
 * The value of this object must be restored from non-volatile
 * storage after a re-initialization of the management system."
 */


class lldpPortConfigTLVsTxEnable: public MibLeaf {

public:
	lldpPortConfigTLVsTxEnable(const Oidx&);
	virtual ~lldpPortConfigTLVsTxEnable();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual OctetStr       	get_state();
	virtual void       	set_state(const OctetStr&);
	virtual int        	set(const Vbx&);
	virtual int        	prepare_set_request(Request*, int&);
	virtual agentpp_boolean    	value_ok(const Vbx&);
	enum labels {
		e_portDesc = 0,
		e_sysName = 1,
		e_sysDesc = 2,
		e_sysCap = 3 };

//--AgentGen BEGIN=lldpPortConfigTLVsTxEnable
//--AgentGen END
};


/**
 *  lldpConfigManAddrPortsTxEnable
 *
 * "A set of ports that are identified by a PortList, in which
 * each port is represented as a bit.  The corresponding local
 * system management address instance will be transmitted on the
 * member ports of the lldpManAddrPortsTxEnable.
 * The default value for lldpConfigManAddrPortsTxEnable object
 * is empty binary string, which means no ports are specified
 * for advertising indicated management address instance."
 */


class lldpConfigManAddrPortsTxEnable: public MibLeaf {

public:
	lldpConfigManAddrPortsTxEnable(const Oidx&);
	virtual ~lldpConfigManAddrPortsTxEnable();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual OctetStr       	get_state();
	virtual void       	set_state(const OctetStr&);
	virtual int        	set(const Vbx&);
	virtual int        	prepare_set_request(Request*, int&);
	virtual agentpp_boolean    	value_ok(const Vbx&);

//--AgentGen BEGIN=lldpConfigManAddrPortsTxEnable
//--AgentGen END
};


/**
 *  lldpStatsRemTablesLastChangeTime
 *
 * "The value of sysUpTime object (defined in IETF RFC 3418)
 * at the time an entry is created, modified, or deleted in the
 * in tables associated with the lldpRemoteSystemsData objects
 * and all LLDP extension objects associated with remote systems.
 * An NMS can use this object to reduce polling of the
 * lldpRemoteSystemsData objects."
 */


class lldpStatsRemTablesLastChangeTime: public MibLeaf {

public:
	lldpStatsRemTablesLastChangeTime();
	virtual ~lldpStatsRemTablesLastChangeTime();

	static lldpStatsRemTablesLastChangeTime* instance;

	virtual void       	get_request(Request*, int);
	virtual unsigned long       	get_state();
	virtual void       	set_state(unsigned long);

//--AgentGen BEGIN=lldpStatsRemTablesLastChangeTime
//--AgentGen END
};


/**
 *  lldpStatsRemTablesInserts
 *
 * "The number of times the complete set of information
 * advertised by a particular MSAP has been inserted into tables
 * contained in lldpRemoteSystemsData and lldpExtensions objects.
 * The complete set of information received from a particular
 * MSAP should be inserted into related tables.  If partial
 * information cannot be inserted for a reason such as lack
 * of resources, all of the complete set of information should
 * be removed.
 * This counter should be incremented only once after the
 * complete set of information is successfully recorded
 * in all related tables.  Any failures during inserting
 * information set which result in deletion of previously
 * inserted information should not trigger any changes in
 * lldpStatsRemTablesInserts since the insert is not completed
 * yet or or in lldpStatsRemTablesDeletes, since the deletion
 * would only be a partial deletion. If the failure was the
 * result of lack of resources, the lldpStatsRemTablesDrops
 * counter should be incremented once."
 */


class lldpStatsRemTablesInserts: public MibLeaf {

public:
	lldpStatsRemTablesInserts();
	virtual ~lldpStatsRemTablesInserts();

	static lldpStatsRemTablesInserts* instance;

	virtual void       	get_request(Request*, int);
	virtual unsigned long       	get_state();
	virtual void       	set_state(unsigned long);

//--AgentGen BEGIN=lldpStatsRemTablesInserts
//--AgentGen END
};


/**
 *  lldpStatsRemTablesDeletes
 *
 * "The number of times the complete set of information
 * advertised by a particular MSAP has been deleted from
 * tables contained in lldpRemoteSystemsData and lldpExtensions
 * objects.
 * This counter should be incremented only once when the
 * complete set of information is completely deleted from all
 * related tables.  Partial deletions, such as deletion of
 * rows associated with a particular MSAP from some tables,
 * but not from all tables are not allowed, thus should not
 * change the value of this counter."
 */


class lldpStatsRemTablesDeletes: public MibLeaf {

public:
	lldpStatsRemTablesDeletes();
	virtual ~lldpStatsRemTablesDeletes();

	static lldpStatsRemTablesDeletes* instance;

	virtual void       	get_request(Request*, int);
	virtual unsigned long       	get_state();
	virtual void       	set_state(unsigned long);

//--AgentGen BEGIN=lldpStatsRemTablesDeletes
//--AgentGen END
};


/**
 *  lldpStatsRemTablesDrops
 *
 * "The number of times the complete set of information
 * advertised by a particular MSAP could not be entered into
 * tables contained in lldpRemoteSystemsData and lldpExtensions
 * objects because of insufficient resources."
 */


class lldpStatsRemTablesDrops: public MibLeaf {

public:
	lldpStatsRemTablesDrops();
	virtual ~lldpStatsRemTablesDrops();

	static lldpStatsRemTablesDrops* instance;

	virtual void       	get_request(Request*, int);
	virtual unsigned long       	get_state();
	virtual void       	set_state(unsigned long);

//--AgentGen BEGIN=lldpStatsRemTablesDrops
//--AgentGen END
};


/**
 *  lldpStatsRemTablesAgeouts
 *
 * "The number of times the complete set of information
 * advertised by a particular MSAP has been deleted from tables
 * contained in lldpRemoteSystemsData and lldpExtensions objects
 * because the information timeliness interval has expired.
 * This counter should be incremented only once when the complete
 * set of information is completely invalidated (aged out)
 * from all related tables.  Partial aging, similar to deletion
 * case, is not allowed, and thus, should not change the value
 * of this counter."
 */


class lldpStatsRemTablesAgeouts: public MibLeaf {

public:
	lldpStatsRemTablesAgeouts();
	virtual ~lldpStatsRemTablesAgeouts();

	static lldpStatsRemTablesAgeouts* instance;

	virtual void       	get_request(Request*, int);
	virtual unsigned long       	get_state();
	virtual void       	set_state(unsigned long);

//--AgentGen BEGIN=lldpStatsRemTablesAgeouts
//--AgentGen END
};


/**
 *  lldpStatsTxPortFramesTotal
 *
 * "The number of LLDP frames transmitted by this LLDP agent
 * on the indicated port."
 */


class lldpStatsTxPortFramesTotal: public MibLeaf {

public:
	lldpStatsTxPortFramesTotal(const Oidx&);
	virtual ~lldpStatsTxPortFramesTotal();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual unsigned long       	get_state();
	virtual void       	set_state(unsigned long);
	virtual unsigned long 	inc();

//--AgentGen BEGIN=lldpStatsTxPortFramesTotal
//--AgentGen END
};


/**
 *  lldpStatsRxPortFramesDiscardedTotal
 *
 * "The number of LLDP frames received by this LLDP agent on
 * the indicated port, and then discarded for any reason.
 * This counter can provide an indication that LLDP header
 * formating problems may exist with the local LLDP agent in
 * the sending system or that LLDPDU validation problems may
 * exist with the local LLDP agent in the receiving system."
 */


class lldpStatsRxPortFramesDiscardedTotal: public MibLeaf {

public:
	lldpStatsRxPortFramesDiscardedTotal(const Oidx&);
	virtual ~lldpStatsRxPortFramesDiscardedTotal();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual unsigned long       	get_state();
	virtual void       	set_state(unsigned long);
	virtual unsigned long 	inc();

//--AgentGen BEGIN=lldpStatsRxPortFramesDiscardedTotal
//--AgentGen END
};


/**
 *  lldpStatsRxPortFramesErrors
 *
 * "The number of invalid LLDP frames received by this LLDP
 * agent on the indicated port, while this LLDP agent is enabled."
 */


class lldpStatsRxPortFramesErrors: public MibLeaf {

public:
	lldpStatsRxPortFramesErrors(const Oidx&);
	virtual ~lldpStatsRxPortFramesErrors();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual unsigned long       	get_state();
	virtual void       	set_state(unsigned long);
	virtual unsigned long 	inc();

//--AgentGen BEGIN=lldpStatsRxPortFramesErrors
//--AgentGen END
};


/**
 *  lldpStatsRxPortFramesTotal
 *
 * "The number of valid LLDP frames received by this LLDP agent
 * on the indicated port, while this LLDP agent is enabled."
 */


class lldpStatsRxPortFramesTotal: public MibLeaf {

public:
	lldpStatsRxPortFramesTotal(const Oidx&);
	virtual ~lldpStatsRxPortFramesTotal();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual unsigned long       	get_state();
	virtual void       	set_state(unsigned long);
	virtual unsigned long 	inc();

//--AgentGen BEGIN=lldpStatsRxPortFramesTotal
//--AgentGen END
};


/**
 *  lldpStatsRxPortTLVsDiscardedTotal
 *
 * "The number of LLDP TLVs discarded for any reason by this LLDP
 * agent on the indicated port."
 */


class lldpStatsRxPortTLVsDiscardedTotal: public MibLeaf {

public:
	lldpStatsRxPortTLVsDiscardedTotal(const Oidx&);
	virtual ~lldpStatsRxPortTLVsDiscardedTotal();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual unsigned long       	get_state();
	virtual void       	set_state(unsigned long);
	virtual unsigned long 	inc();

//--AgentGen BEGIN=lldpStatsRxPortTLVsDiscardedTotal
//--AgentGen END
};


/**
 *  lldpStatsRxPortTLVsUnrecognizedTotal
 *
 * "The number of LLDP TLVs received on the given port that
 * are not recognized by this LLDP agent on the indicated port.

 * An unrecognized TLV is referred to as the TLV whose type value
 * is in the range of reserved TLV types (000 1001 - 111 1110)
 * in Table 9.1 of IEEE Std 802.1AB-2005.  An unrecognized
 * TLV may be a basic management TLV from a later LLDP version."
 */


class lldpStatsRxPortTLVsUnrecognizedTotal: public MibLeaf {

public:
	lldpStatsRxPortTLVsUnrecognizedTotal(const Oidx&);
	virtual ~lldpStatsRxPortTLVsUnrecognizedTotal();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual unsigned long       	get_state();
	virtual void       	set_state(unsigned long);
	virtual unsigned long 	inc();

//--AgentGen BEGIN=lldpStatsRxPortTLVsUnrecognizedTotal
//--AgentGen END
};


/**
 *  lldpStatsRxPortAgeoutsTotal
 *
 * "The counter that represents the number of age-outs that
 * occurred on a given port.  An age-out is the number of
 * times the complete set of information advertised by a
 * particular MSAP has been deleted from tables contained in
 * lldpRemoteSystemsData and lldpExtensions objects because
 * the information timeliness interval has expired.
 * This counter is similar to lldpStatsRemTablesAgeouts, except
 * that the counter is on a per port basis.  This enables NMS to
 * poll tables associated with the lldpRemoteSystemsData objects
 * and all LLDP extension objects associated with remote systems
 * on the indicated port only.
 * This counter should be set to zero during agent initialization
 * and its value should not be saved in non-volatile storage.
 * When a port's admin status changes from 'disabled' to
 * 'rxOnly', 'txOnly' or 'txAndRx', the counter associated with
 * the same port should reset to 0.  The agent should also flush
 * all remote system information associated with the same port.
 * This counter should be incremented only once when the
 * complete set of information is invalidated (aged out) from
 * all related tables on a particular port.  Partial aging
 * is not allowed, and thus, should not change the value of
 * this counter."
 */


class lldpStatsRxPortAgeoutsTotal: public MibLeaf {

public:
	lldpStatsRxPortAgeoutsTotal(const Oidx&);
	virtual ~lldpStatsRxPortAgeoutsTotal();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual unsigned long       	get_state();
	virtual void       	set_state(unsigned long);

//--AgentGen BEGIN=lldpStatsRxPortAgeoutsTotal
//--AgentGen END
};


/**
 *  lldpLocChassisIdSubtype
 *
 * "The type of encoding used to identify the chassis
 * associated with the local system."
 */


class lldpLocChassisIdSubtype: public MibLeaf {

public:
	lldpLocChassisIdSubtype();
	virtual ~lldpLocChassisIdSubtype();

	static lldpLocChassisIdSubtype* instance;

	virtual void       	get_request(Request*, int);
	virtual long       	get_state();
	virtual void       	set_state(long);
	enum labels {
		e_chassisComponent = 1,
		e_interfaceAlias = 2,
		e_portComponent = 3,
		e_macAddress = 4,
		e_networkAddress = 5,
		e_interfaceName = 6,
		e_local = 7 };

//--AgentGen BEGIN=lldpLocChassisIdSubtype
//--AgentGen END
};


/**
 *  lldpLocChassisId
 *
 * "The string value used to identify the chassis component
 * associated with the local system."
 */


class lldpLocChassisId: public MibLeaf {

public:
	lldpLocChassisId();
	virtual ~lldpLocChassisId();

	static lldpLocChassisId* instance;

	virtual void       	get_request(Request*, int);
	virtual OctetStr       	get_state();
	virtual void       	set_state(const OctetStr&);

//--AgentGen BEGIN=lldpLocChassisId
//--AgentGen END
};


/**
 *  lldpLocSysName
 *
 * "The string value used to identify the system name of the
 * local system.  If the local agent supports IETF RFC 3418,
 * lldpLocSysName object should have the same value of sysName
 * object."
 */


class lldpLocSysName: public MibLeaf {

public:
	lldpLocSysName();
	virtual ~lldpLocSysName();

	static lldpLocSysName* instance;

	virtual void       	get_request(Request*, int);
	virtual OctetStr       	get_state();
	virtual void       	set_state(const OctetStr&);

//--AgentGen BEGIN=lldpLocSysName
//--AgentGen END
};


/**
 *  lldpLocSysDesc
 *
 * "The string value used to identify the system description
 * of the local system.  If the local agent supports IETF RFC 3418,
 * lldpLocSysDesc object should have the same value of sysDesc
 * object."
 */


class lldpLocSysDesc: public MibLeaf {

public:
	lldpLocSysDesc();
	virtual ~lldpLocSysDesc();

	static lldpLocSysDesc* instance;

	virtual void       	get_request(Request*, int);
	virtual OctetStr       	get_state();
	virtual void       	set_state(const OctetStr&);

//--AgentGen BEGIN=lldpLocSysDesc
//--AgentGen END
};


/**
 *  lldpLocSysCapSupported
 *
 * "The bitmap value used to identify which system capabilities
 * are supported on the local system."
 */


class lldpLocSysCapSupported: public MibLeaf {

public:
	lldpLocSysCapSupported();
	virtual ~lldpLocSysCapSupported();

	static lldpLocSysCapSupported* instance;

	virtual void       	get_request(Request*, int);
	virtual OctetStr       	get_state();
	virtual void       	set_state(const OctetStr&);
	enum labels {
		e_other = 0,
		e_repeater = 1,
		e_bridge = 2,
		e_wlanAccessPoint = 3,
		e_router = 4,
		e_telephone = 5,
		e_docsisCableDevice = 6,
		e_stationOnly = 7 };

//--AgentGen BEGIN=lldpLocSysCapSupported
//--AgentGen END
};


/**
 *  lldpLocSysCapEnabled
 *
 * "The bitmap value used to identify which system capabilities
 * are enabled on the local system."
 */


class lldpLocSysCapEnabled: public MibLeaf {

public:
	lldpLocSysCapEnabled();
	virtual ~lldpLocSysCapEnabled();

	static lldpLocSysCapEnabled* instance;

	virtual void       	get_request(Request*, int);
	virtual OctetStr       	get_state();
	virtual void       	set_state(const OctetStr&);
	enum labels {
		e_other = 0,
		e_repeater = 1,
		e_bridge = 2,
		e_wlanAccessPoint = 3,
		e_router = 4,
		e_telephone = 5,
		e_docsisCableDevice = 6,
		e_stationOnly = 7 };

//--AgentGen BEGIN=lldpLocSysCapEnabled
//--AgentGen END
};


/**
 *  lldpLocPortIdSubtype
 *
 * "The type of port identifier encoding used in the associated
 * 'lldpLocPortId' object."
 */


class lldpLocPortIdSubtype: public MibLeaf {

public:
	lldpLocPortIdSubtype(const Oidx&);
	virtual ~lldpLocPortIdSubtype();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual long       	get_state();
	virtual void       	set_state(long);
	enum labels {
		e_interfaceAlias = 1,
		e_portComponent = 2,
		e_macAddress = 3,
		e_networkAddress = 4,
		e_interfaceName = 5,
		e_agentCircuitId = 6,
		e_local = 7 };

//--AgentGen BEGIN=lldpLocPortIdSubtype
//--AgentGen END
};


/**
 *  lldpLocPortId
 *
 * "The string value used to identify the port component
 * associated with a given port in the local system."
 */


class lldpLocPortId: public MibLeaf {

public:
	lldpLocPortId(const Oidx&);
	virtual ~lldpLocPortId();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual OctetStr       	get_state();
	virtual void       	set_state(const OctetStr&);

//--AgentGen BEGIN=lldpLocPortId
//--AgentGen END
};


/**
 *  lldpLocPortDesc
 *
 * "The string value used to identify the 802 LAN station's port
 * description associated with the local system.  If the local
 * agent supports IETF RFC 2863, lldpLocPortDesc object should
 * have the same value of ifDescr object."
 */


class lldpLocPortDesc: public MibLeaf {

public:
	lldpLocPortDesc(const Oidx&);
	virtual ~lldpLocPortDesc();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual OctetStr       	get_state();
	virtual void       	set_state(const OctetStr&);

//--AgentGen BEGIN=lldpLocPortDesc
//--AgentGen END
};


/**
 *  lldpLocManAddrLen
 *
 * "The total length of the management address subtype and the
 * management address fields in LLDPDUs transmitted by the
 * local LLDP agent.
 * The management address length field is needed so that the
 * receiving systems that do not implement SNMP will not be
 * required to implement an iana family numbers/address length
 * equivalency table in order to decode the management adress."
 */


class lldpLocManAddrLen: public MibLeaf {

public:
	lldpLocManAddrLen(const Oidx&);
	virtual ~lldpLocManAddrLen();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual long       	get_state();
	virtual void       	set_state(long);

//--AgentGen BEGIN=lldpLocManAddrLen
//--AgentGen END
};


/**
 *  lldpLocManAddrIfSubtype
 *
 * "The enumeration value that identifies the interface numbering
 * method used for defining the interface number, associated
 * with the local system."
 */


class lldpLocManAddrIfSubtype: public MibLeaf {

public:
	lldpLocManAddrIfSubtype(const Oidx&);
	virtual ~lldpLocManAddrIfSubtype();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual long       	get_state();
	virtual void       	set_state(long);
	enum labels {
		e_unknown = 1,
		e_ifIndex = 2,
		e_systemPortNumber = 3 };

//--AgentGen BEGIN=lldpLocManAddrIfSubtype
//--AgentGen END
};


/**
 *  lldpLocManAddrIfId
 *
 * "The integer value used to identify the interface number
 * regarding the management address component associated with
 * the local system."
 */


class lldpLocManAddrIfId: public MibLeaf {

public:
	lldpLocManAddrIfId(const Oidx&);
	virtual ~lldpLocManAddrIfId();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual long       	get_state();
	virtual void       	set_state(long);

//--AgentGen BEGIN=lldpLocManAddrIfId
//--AgentGen END
};


/**
 *  lldpLocManAddrOID
 *
 * "The OID value used to identify the type of hardware component
 * or protocol entity associated with the management address
 * advertised by the local system agent."
 */


class lldpLocManAddrOID: public MibLeaf {

public:
	lldpLocManAddrOID(const Oidx&);
	virtual ~lldpLocManAddrOID();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);

//--AgentGen BEGIN=lldpLocManAddrOID
//--AgentGen END
};


/**
 *  lldpRemChassisIdSubtype
 *
 * "The type of encoding used to identify the chassis associated
 * with the remote system."
 */


class lldpRemChassisIdSubtype: public MibLeaf {

public:
	lldpRemChassisIdSubtype(const Oidx&);
	virtual ~lldpRemChassisIdSubtype();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual long       	get_state();
	virtual void       	set_state(long);
	enum labels {
		e_chassisComponent = 1,
		e_interfaceAlias = 2,
		e_portComponent = 3,
		e_macAddress = 4,
		e_networkAddress = 5,
		e_interfaceName = 6,
		e_local = 7 };

//--AgentGen BEGIN=lldpRemChassisIdSubtype
//--AgentGen END
};


/**
 *  lldpRemChassisId
 *
 * "The string value used to identify the chassis component
 * associated with the remote system."
 */


class lldpRemChassisId: public MibLeaf {

public:
	lldpRemChassisId(const Oidx&);
	virtual ~lldpRemChassisId();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual OctetStr       	get_state();
	virtual void       	set_state(const OctetStr&);

//--AgentGen BEGIN=lldpRemChassisId
//--AgentGen END
};


/**
 *  lldpRemPortIdSubtype
 *
 * "The type of port identifier encoding used in the associated
 * 'lldpRemPortId' object."
 */


class lldpRemPortIdSubtype: public MibLeaf {

public:
	lldpRemPortIdSubtype(const Oidx&);
	virtual ~lldpRemPortIdSubtype();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual long       	get_state();
	virtual void       	set_state(long);
	enum labels {
		e_interfaceAlias = 1,
		e_portComponent = 2,
		e_macAddress = 3,
		e_networkAddress = 4,
		e_interfaceName = 5,
		e_agentCircuitId = 6,
		e_local = 7 };

//--AgentGen BEGIN=lldpRemPortIdSubtype
//--AgentGen END
};


/**
 *  lldpRemPortId
 *
 * "The string value used to identify the port component
 * associated with the remote system."
 */


class lldpRemPortId: public MibLeaf {

public:
	lldpRemPortId(const Oidx&);
	virtual ~lldpRemPortId();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual OctetStr       	get_state();
	virtual void       	set_state(const OctetStr&);

//--AgentGen BEGIN=lldpRemPortId
//--AgentGen END
};


/**
 *  lldpRemPortDesc
 *
 * "The string value used to identify the description of
 * the given port associated with the remote system."
 */


class lldpRemPortDesc: public MibLeaf {

public:
	lldpRemPortDesc(const Oidx&);
	virtual ~lldpRemPortDesc();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual OctetStr       	get_state();
	virtual void       	set_state(const OctetStr&);

//--AgentGen BEGIN=lldpRemPortDesc
//--AgentGen END
};


/**
 *  lldpRemSysName
 *
 * "The string value used to identify the system name of the
 * remote system."
 */


class lldpRemSysName: public MibLeaf {

public:
	lldpRemSysName(const Oidx&);
	virtual ~lldpRemSysName();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual OctetStr       	get_state();
	virtual void       	set_state(const OctetStr&);

//--AgentGen BEGIN=lldpRemSysName
//--AgentGen END
};


/**
 *  lldpRemSysDesc
 *
 * "The string value used to identify the system description
 * of the remote system."
 */


class lldpRemSysDesc: public MibLeaf {

public:
	lldpRemSysDesc(const Oidx&);
	virtual ~lldpRemSysDesc();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual OctetStr       	get_state();
	virtual void       	set_state(const OctetStr&);

//--AgentGen BEGIN=lldpRemSysDesc
//--AgentGen END
};


/**
 *  lldpRemSysCapSupported
 *
 * "The bitmap value used to identify which system capabilities
 * are supported on the remote system."
 */


class lldpRemSysCapSupported: public MibLeaf {

public:
	lldpRemSysCapSupported(const Oidx&);
	virtual ~lldpRemSysCapSupported();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual OctetStr       	get_state();
	virtual void       	set_state(const OctetStr&);
	enum labels {
		e_other = 0,
		e_repeater = 1,
		e_bridge = 2,
		e_wlanAccessPoint = 3,
		e_router = 4,
		e_telephone = 5,
		e_docsisCableDevice = 6,
		e_stationOnly = 7 };

//--AgentGen BEGIN=lldpRemSysCapSupported
//--AgentGen END
};


/**
 *  lldpRemSysCapEnabled
 *
 * "The bitmap value used to identify which system capabilities
 * are enabled on the remote system."
 */


class lldpRemSysCapEnabled: public MibLeaf {

public:
	lldpRemSysCapEnabled(const Oidx&);
	virtual ~lldpRemSysCapEnabled();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual OctetStr       	get_state();
	virtual void       	set_state(const OctetStr&);
	enum labels {
		e_other = 0,
		e_repeater = 1,
		e_bridge = 2,
		e_wlanAccessPoint = 3,
		e_router = 4,
		e_telephone = 5,
		e_docsisCableDevice = 6,
		e_stationOnly = 7 };

//--AgentGen BEGIN=lldpRemSysCapEnabled
//--AgentGen END
};


/**
 *  lldpRemManAddrIfSubtype
 *
 * "The enumeration value that identifies the interface numbering
 * method used for defining the interface number, associated
 * with the remote system."
 */


class lldpRemManAddrIfSubtype: public MibLeaf {

public:
	lldpRemManAddrIfSubtype(const Oidx&);
	virtual ~lldpRemManAddrIfSubtype();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual long       	get_state();
	virtual void       	set_state(long);
	enum labels {
		e_unknown = 1,
		e_ifIndex = 2,
		e_systemPortNumber = 3 };

//--AgentGen BEGIN=lldpRemManAddrIfSubtype
//--AgentGen END
};


/**
 *  lldpRemManAddrIfId
 *
 * "The integer value used to identify the interface number
 * regarding the management address component associated with
 * the remote system."
 */


class lldpRemManAddrIfId: public MibLeaf {

public:
	lldpRemManAddrIfId(const Oidx&);
	virtual ~lldpRemManAddrIfId();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual long       	get_state();
	virtual void       	set_state(long);

//--AgentGen BEGIN=lldpRemManAddrIfId
//--AgentGen END
};


/**
 *  lldpRemManAddrOID
 *
 * "The OID value used to identify the type of hardware component
 * or protocol entity associated with the management address
 * advertised by the remote system agent."
 */


class lldpRemManAddrOID: public MibLeaf {

public:
	lldpRemManAddrOID(const Oidx&);
	virtual ~lldpRemManAddrOID();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);

//--AgentGen BEGIN=lldpRemManAddrOID
//--AgentGen END
};


/**
 *  lldpRemUnknownTLVInfo
 *
 * "This object represents the value extracted from the value
 * field of the TLV."
 */


class lldpRemUnknownTLVInfo: public MibLeaf {

public:
	lldpRemUnknownTLVInfo(const Oidx&);
	virtual ~lldpRemUnknownTLVInfo();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual OctetStr       	get_state();
	virtual void       	set_state(const OctetStr&);

//--AgentGen BEGIN=lldpRemUnknownTLVInfo
//--AgentGen END
};


/**
 *  lldpRemOrgDefInfo
 *
 * "The string value used to identify the organizationally
 * defined information of the remote system.  The encoding for
 * this object should be as defined for SnmpAdminString TC."
 */


class lldpRemOrgDefInfo: public MibLeaf {

public:
	lldpRemOrgDefInfo(const Oidx&);
	virtual ~lldpRemOrgDefInfo();

	virtual MibEntryPtr	clone();
	virtual void       	get_request(Request*, int);
	virtual OctetStr       	get_state();
	virtual void       	set_state(const OctetStr&);

//--AgentGen BEGIN=lldpRemOrgDefInfo
//--AgentGen END
};


/**
 *  lldpPortConfigEntry
 *
 * "LLDP configuration information for a particular port.
 * This configuration parameter controls the transmission and
 * the reception of LLDP frames on those ports whose rows are
 * created in this table."
 */


class lldpPortConfigEntry: public MibTable {

public:
	lldpPortConfigEntry();
	virtual ~lldpPortConfigEntry();

	static lldpPortConfigEntry* instance;

	virtual agentpp_boolean     	ready_for_service(Vbx*, int);
	virtual void        	row_added(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_delete(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_init(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_activated(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_deactivated(MibTableRow*, const Oidx&, MibTable*);
	virtual void       	set_row(MibTableRow* r, long p0, long p1, const OctetStr& p2);

//--AgentGen BEGIN=lldpPortConfigEntry
//--AgentGen END
};


/**
 *  lldpConfigManAddrEntry
 *
 * "LLDP configuration information that specifies the set
 * of ports (represented as a PortList) on which the local
 * system management address instance will be transmitted.
 * This configuration object augments the lldpLocManAddrEntry,
 * therefore it is only present along with the management
 * address instance contained in the associated
 * lldpLocManAddrEntry entry.
 * Each active lldpConfigManAddrEntry must be restored from
 * non-volatile and re-created (along with the corresponding
 * lldpLocManAddrEntry) after a re-initialization of the
 * management system."
 */


class lldpConfigManAddrEntry: public MibTable {

public:
	lldpConfigManAddrEntry();
	virtual ~lldpConfigManAddrEntry();

	static lldpConfigManAddrEntry* instance;

	virtual agentpp_boolean     	ready_for_service(Vbx*, int);
	virtual void        	row_added(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_delete(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_init(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_activated(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_deactivated(MibTableRow*, const Oidx&, MibTable*);
	virtual void       	set_row(MibTableRow* r, const OctetStr& p0);

//--AgentGen BEGIN=lldpConfigManAddrEntry
//--AgentGen END
};


/**
 *  lldpStatsTxPortEntry
 *
 * "LLDP frame transmission statistics for a particular port.
 * The port must be contained in the same chassis as the
 * LLDP agent.

 * All counter values in a particular entry shall be
 * maintained on a continuing basis and shall not be deleted
 * upon expiration of rxInfoTTL timing counters in the LLDP
 * remote systems MIB of the receipt of a shutdown frame from
 * a remote LLDP agent.
 * All statistical counters associated with a particular
 * port on the local LLDP agent become frozen whenever the
 * adminStatus is disabled for the same port."
 */


class lldpStatsTxPortEntry: public MibTable {

public:
	lldpStatsTxPortEntry();
	virtual ~lldpStatsTxPortEntry();

	static lldpStatsTxPortEntry* instance;

	virtual agentpp_boolean     	ready_for_service(Vbx*, int);
	virtual void        	row_added(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_delete(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_init(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_activated(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_deactivated(MibTableRow*, const Oidx&, MibTable*);
	virtual void       	set_row(MibTableRow* r, unsigned long p0);

//--AgentGen BEGIN=lldpStatsTxPortEntry
//--AgentGen END
};


/**
 *  lldpStatsRxPortEntry
 *
 * "LLDP frame reception statistics for a particular port.
 * The port must be contained in the same chassis as the
 * LLDP agent.

 * All counter values in a particular entry shall be
 * maintained on a continuing basis and shall not be deleted
 * upon expiration of rxInfoTTL timing counters in the LLDP
 * remote systems MIB of the receipt of a shutdown frame from
 * a remote LLDP agent.
 * All statistical counters associated with a particular
 * port on the local LLDP agent become frozen whenever the
 * adminStatus is disabled for the same port."
 */


class lldpStatsRxPortEntry: public MibTable {

public:
	lldpStatsRxPortEntry();
	virtual ~lldpStatsRxPortEntry();

	static lldpStatsRxPortEntry* instance;

	virtual agentpp_boolean     	ready_for_service(Vbx*, int);
	virtual void        	row_added(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_delete(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_init(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_activated(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_deactivated(MibTableRow*, const Oidx&, MibTable*);
	virtual void       	set_row(MibTableRow* r, unsigned long p0, unsigned long p1, unsigned long p2, unsigned long p3, unsigned long p4, unsigned long p5);

//--AgentGen BEGIN=lldpStatsRxPortEntry
//--AgentGen END
};


/**
 *  lldpLocPortEntry
 *
 * "Information about a particular port component.
 * Entries may be created and deleted in this table by the
 * agent."
 */


class lldpLocPortEntry: public MibTable {

public:
	lldpLocPortEntry();
	virtual ~lldpLocPortEntry();

	static lldpLocPortEntry* instance;

	virtual agentpp_boolean     	ready_for_service(Vbx*, int);
	virtual void        	row_added(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_delete(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_init(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_activated(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_deactivated(MibTableRow*, const Oidx&, MibTable*);
	virtual void       	set_row(MibTableRow* r, long p0, const OctetStr& p1, const OctetStr& p2);

//--AgentGen BEGIN=lldpLocPortEntry
//--AgentGen END
};


/**
 *  lldpLocManAddrEntry
 *
 * "Management address information about a particular chassis
 * component.  There may be multiple management addresses
 * configured on the system identified by a particular
 * lldpLocChassisId.  Each management address should have
 * distinct 'management address type' (lldpLocManAddrSubtype) and
 * 'management address' (lldpLocManAddr.)
 * Entries may be created and deleted in this table by the
 * agent."
 */


class lldpLocManAddrEntry: public MibTable {

public:
	lldpLocManAddrEntry();
	virtual ~lldpLocManAddrEntry();

	static lldpLocManAddrEntry* instance;

	virtual agentpp_boolean     	ready_for_service(Vbx*, int);
	virtual void        	row_added(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_delete(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_init(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_activated(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_deactivated(MibTableRow*, const Oidx&, MibTable*);
	virtual void       	set_row(MibTableRow* r, long p0, long p1, long p2, const char* p3);

//--AgentGen BEGIN=lldpLocManAddrEntry
//--AgentGen END
};


/**
 *  lldpRemEntry
 *
 * "Information about a particular physical network connection.
 * Entries may be created and deleted in this table by the agent,
 * if a physical topology discovery process is active."
 */


class lldpRemEntry: public MibTable {

public:
	lldpRemEntry();
	virtual ~lldpRemEntry();

	static lldpRemEntry* instance;

	virtual agentpp_boolean     	ready_for_service(Vbx*, int);
	virtual void        	row_added(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_delete(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_init(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_activated(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_deactivated(MibTableRow*, const Oidx&, MibTable*);
	virtual void       	set_row(MibTableRow* r, long p0, const OctetStr& p1, long p2, const OctetStr& p3, const OctetStr& p4, const OctetStr& p5, const OctetStr& p6, const OctetStr& p7, const OctetStr& p8);

//--AgentGen BEGIN=lldpRemEntry
//--AgentGen END
};


/**
 *  lldpRemManAddrEntry
 *
 * "Management address information about a particular chassis
 * component.  There may be multiple management addresses
 * configured on the remote system identified by a particular
 * lldpRemIndex whose information is received on
 * lldpRemLocalPortNum of the local system.  Each management
 * address should have distinct 'management address
 * type' (lldpRemManAddrSubtype) and 'management address'
 * (lldpRemManAddr.)
 * Entries may be created and deleted in this table by the
 * agent."
 */


class lldpRemManAddrEntry: public MibTable {

public:
	lldpRemManAddrEntry();
	virtual ~lldpRemManAddrEntry();

	static lldpRemManAddrEntry* instance;

	virtual agentpp_boolean     	ready_for_service(Vbx*, int);
	virtual void        	row_added(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_delete(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_init(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_activated(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_deactivated(MibTableRow*, const Oidx&, MibTable*);
	virtual void       	set_row(MibTableRow* r, long p0, long p1, const char* p2);

//--AgentGen BEGIN=lldpRemManAddrEntry
//--AgentGen END
};


/**
 *  lldpRemUnknownTLVEntry
 *
 * "Information about an unrecognized TLV received from a
 * physical network connection.  Entries may be created and
 * deleted in this table by the agent, if a physical topology
 * discovery process is active."
 */


class lldpRemUnknownTLVEntry: public MibTable {

public:
	lldpRemUnknownTLVEntry();
	virtual ~lldpRemUnknownTLVEntry();

	static lldpRemUnknownTLVEntry* instance;

	virtual agentpp_boolean     	ready_for_service(Vbx*, int);
	virtual void        	row_added(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_delete(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_init(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_activated(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_deactivated(MibTableRow*, const Oidx&, MibTable*);
	virtual void       	set_row(MibTableRow* r, const OctetStr& p0);

//--AgentGen BEGIN=lldpRemUnknownTLVEntry
//--AgentGen END
};


/**
 *  lldpRemOrgDefInfoEntry
 *
 * "Information about the unrecognized organizationally
 * defined information advertised by the remote system.
 * The lldpRemTimeMark, lldpRemLocalPortNum, lldpRemIndex,
 * lldpRemOrgDefInfoOUI, lldpRemOrgDefInfoSubtype, and
 * lldpRemOrgDefInfoIndex are indexes to this table.  If there is
 * an lldpRemOrgDefInfoEntry associated with a particular remote
 * system identified by the lldpRemLocalPortNum and lldpRemIndex,
 * there must be an lldpRemEntry associated with the same
 * instance (i.e, using same indexes.)  When the lldpRemEntry
 * for the same index is removed from the lldpRemTable, the
 * associated lldpRemOrgDefInfoEntry should be removed from
 * the lldpRemOrgDefInfoTable.
 * Entries may be created and deleted in this table by the
 * agent."
 */


class lldpRemOrgDefInfoEntry: public MibTable {

public:
	lldpRemOrgDefInfoEntry();
	virtual ~lldpRemOrgDefInfoEntry();

	static lldpRemOrgDefInfoEntry* instance;

	virtual agentpp_boolean     	ready_for_service(Vbx*, int);
	virtual void        	row_added(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_delete(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_init(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_activated(MibTableRow*, const Oidx&, MibTable*);
	virtual void        	row_deactivated(MibTableRow*, const Oidx&, MibTable*);
	virtual void       	set_row(MibTableRow* r, const OctetStr& p0);

//--AgentGen BEGIN=lldpRemOrgDefInfoEntry
//--AgentGen END
};


class lldp_mib: public MibGroup
{
  public:
	lldp_mib();
	virtual ~lldp_mib() { }

//--AgentGen BEGIN=lldp_mib
//--AgentGen END

};

//--AgentGen BEGIN=_END
#ifdef AGENTPP_NAMESPACE
}
#endif
//--AgentGen END


/**
 * lldp_mib.h generated by AgentGen 1.8.7 for AGENT++v3.4 
 * Mon Mar 15 13:35:52 CST 2010.
 */


#endif





More information about the AGENTPP mailing list