Skip to content

SNMP lldpLocManAddrTable and lldpRemManAddrTable design

AndriiS edited this page Feb 13, 2018 · 22 revisions

The SNMP lldpLocManAddrTable and lldpRemManAddrTable MIB design

High Level Design Document

Rev 0.1

Table of Contents

List of Tables

Revision
Rev Date Author Change Description
0.1 Andrii Savka Initial version

About this Manual

This document provides general information about the design of lldpLocManAddrTable and lldpRemManAddrTable in SONiC.

Scope

This document describes the high level design of the design of MIB for lldpLocManAddrTable and lldpRemManAddrTable.

Definitions/Abbreviation

Table 2: Abbreviations
Definitions/Abbreviation Description
SNMP Simple Network Management Protocol
LLDP Link Layer Discovery Protocol
API Application Programmable Interface
SAI Switch Abstraction Interface

1 Overview

1.1 System Chart

Following diagram describes a top level overview of the SONiC SNMP LLDP architecture:

1.2 Modules description

1.2.1 SNMP agent

Stores the information from Counter DB in the local cash and handles the SNMP requests.

1.2.2 APP DB

Located in the Redis DB and running inside the container "database". Redis DB works with the data in format of key-value tuples, needs no predefined schema and holds various LLDP counters in the "LLDP_ENTRY_TABLE" tables.

1.2.3 LLDP sync daemon

This component is updating "LLDP_ENTRY_TABLE" tables in the APP DB with the information from LLDP docker container.

1.2.4 LLDP docker container

Consists the LLDP CLI tools and daemon with LLDP protocol implementation.

2 Requirements

The following OIDs should be supported in the SNMP agent:

2.1 The lldpLocPortTable requirements

OID SNMP counter Description
1.0.8802.1.1.2.1.3.7 lldpLocPortTable
1.0.8802.1.1.2.1.3.7.1 lldpLocPortEntry
1.0.8802.1.1.2.1.3.7.1.1 lldpLocPortNum The index value used to identify the port component (contained in the local chassis with the LLDP agent) associated with this entry
1.0.8802.1.1.2.1.3.7.1.2 lldpLocPortIdSubtype The type of port identifier encoding used in the associated 'lldpLocPortId' object
1.0.8802.1.1.2.1.3.7.1.4 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

2.2 The lldpLocManAddrTable requirements

OID SNMP counter Description
1.0.8802.1.1.2.1.3.8 lldpLocManAddrTable
1.0.8802.1.1.2.1.3.8.1 lldpLocManAddrEntry
1.0.8802.1.1.2.1.3.8.1.1 lldpLocManAddrSubtype The type of management address identifier encoding used in the associated 'lldpLocManagmentAddr' object
1.0.8802.1.1.2.1.3.8.1.2 lldpLocManAddr The string value used to identify the management address component associated with the local system. The purpose of this address is to contact the management entity.
1.0.8802.1.1.2.1.3.8.1.3 lldpLocManAddrLen The total length of the management address subtype and the management address fields in LLDPDUs transmitted by the local LLDP agent.
1.0.8802.1.1.2.1.3.8.1.4 lldpLocManAddrIfSubtype The enumeration value that identifies the interface numbering method used for defining the interface number, associated with the local system
1.0.8802.1.1.2.1.3.8.1.5 lldpLocManAddrIfId The integer value used to identify the interface number regarding the management address component associated with the local system.
1.0.8802.1.1.2.1.3.8.1.6 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.

2.3 The lldpRemTable requirements

OID SNMP counter Description
1.0.8802.1.1.2.1.4.1 lldpRemTable
1.0.8802.1.1.2.1.4.1.1 lldpRemEntry
1.0.8802.1.1.2.1.4.1.1.2 lldpRemLocalPortNum The index value used to identify the port component associated with this entry. The lldpRemLocalPortNum identifies the port on which the remote system information is received
1.0.8802.1.1.2.1.4.1.1.3 lldpRemIndex This object represents an arbitrary local integer value used by this agent to identify a particular connection instance, unique only for the indicated remote system
1.0.8802.1.1.2.1.4.1.1.11 lldpRemSysCapSupported The bitmap value used to identify which system capabilities are supported on the remote system
1.0.8802.1.1.2.1.4.1.1.12 lldpRemSysCapEnabled The bitmap value used to identify which system capabilities are enabled on the remote system

2.4 The lldpRemManAddrTable requirements

OID SNMP counter Description
1.0.8802.1.1.2.1.4.2 lldpRemManAddrTable
1.0.8802.1.1.2.1.4.2.1 lldpRemManAddrTable
1.0.8802.1.1.2.1.4.2.1.1 lldpRemManAddrSubtype The type of management address identifier encoding used in the associated 'lldpRemManagmentAddr' object
1.0.8802.1.1.2.1.4.2.1.2 lldpRemManAddr The string value used to identify the management address component associated with the remote system. The purpose of this address is to contact the management entity
1.0.8802.1.1.2.1.4.2.1.3 lldpRemManAddrIfSubtype The enumeration value that identifies the interface numbering method used for defining the interface number, associated with the remote system
1.0.8802.1.1.2.1.4.2.1.4 lldpRemManAddrIfId The integer value used to identify the interface number regarding the management address component associated with the remote system
1.0.8802.1.1.2.1.4.2.1.5 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

3 Modules Design

3.1 Modules that need to be updated

3.1.1 SNMP agent

  • The implementation of lldpLocPortTable and lldpRemTable tables should be updated to support the missed OIDs which are described in Requirements.
  • The lldpLocManAddrTable table should be implemented in ieee802.1 LLDP MIB.
  • The lldpRemManAddrTable table should be implemented in ieee802.1 LLDP MIB.

3.1.2 LLDP sync daemon

The LLDP sync daemon should be extended to parse and update the following information:

  • local port number, subtype and description
  • local management address info
  • remote port number, index and system capabilities map
  • remote management address info

3.2 APP DB

The LLDP_ENTRY_TABLE table should be extended with following keys:

Key Value
lldpLocPortNum The local port index
lldpLocPortIdSubtype The type of local port identifier encoding
lldpLocPortDesc The description of local port
lldpRemLocalPortNum The port index that remote port is related to
lldpRemIndex The remote port index
lldpRemSysCapSupported System capabilities which are supported on the remote system
lldpRemSysCapEnabled System capabilities which are enabled on the remote system
lldpRemManAddrSubtype The type of management address identifier encoding
lldpRemManAddr The management address of the remote system
lldpRemManAddrIfSubtype The enumeration value that identifies the interface numbering method
lldpRemManAddrIfId Identify the interface number regarding the management address
lldpLocManAddrSubtype The type of management address identifier encoding
lldpLocManAddr The local management address
lldpLocManAddrLen The total length of the management address
lldpLocManAddrIfSubtype The enumeration value that identifies the interface numbering method
lldpLocManAddrIfId Identify the interface number regarding the management address

4 Flows

4.1 Get SNMP LLDP OID

5 Open Questions

  1. Clarify how to implement the remote port index.
Clone this wiki locally