SNMP_BRIDGE(3)

πŸ“¦ version 15.1, in freebsd 14.5, freebsd 15.1

πŸ’… SNMP_BRIDGE(3) β€” Library Functions Manual πŸ’…

okay bestie, this is SNMP_BRIDGE(3) from the Library Functions Manual, and it's literally the bridge module for snmpd. no cap, it's giving network-admin main character energy. πŸŽ€

πŸ’– NAME πŸ’–

snmp_bridge β€” bridge module for snmpd

πŸ“š LIBRARY πŸ“š

the library setup is exactly this vibe:

(begemotSnmpdModulePath."bridge" = /usr/lib/snmp_bridge.so)

✨ DESCRIPTION ✨

so the snmp_bridge module implements the BRIDGE-MIB as standardized in RFC 4188, the RSTP-MIB standardized in RFC4318, and a private BEGEMOT-BRIDGE-MIB that lets you manage multiple bridge interfaces. πŸ¦‹

most of the objects defined in the private BEGEMOT-BRIDGE-MIB are duplicates of the original objects defined by the standard BRIDGE-MIB, but the private MIB also defines additional objects. those extra objects make the functionality of snmp_bridge similar to ifconfig(8) for configuring bridge interfaces. πŸ‘‘

⚠️ real talk: the original says one should consider adding write communities or loading the snmp_bridge module on systems where security is crucial. that's a big-deal security vibe check, bestie β€” do not sleep on it. πŸ’€

πŸ› οΈ IMPLEMENTATION NOTES πŸ› οΈ

the additional objects to configure a bridge are:

  • begemotBridgeBaseStatus β€” bridge interfaces can be created and destroyed via this object. SNMP SET operations with the following values are allowed:
    • createAndWait β€” will attempt to create a bridge interface with the name given by the table index.
    • createAndGo β€” will attempt to create a bridge interface with the name given by the table index and set the status of the interface to "active/up".
    • destroy β€” will attempt to destroy the bridge interface.
  • begemotBridgeBaseSpanEnabled β€” a SNMP SET operation on this object is only successful if the corresponding port has not been added as member of the bridge interface on the system.
  • begemotBridgeBasePortStatus β€” SNMP SET operations with the following values are allowed:
    • createAndWait β€” will create a new row for the bridge member in the SNMP begemotBridgeBasePortTable but will not try to commit the information to the system.
    • active β€” will attempt to commit the information to the system and will be successful only if a value for begemotBridgeBaseSpanEnabled has been SET already.
    • destroy β€” will attempt to remove the interface from the system bridge interface.
  • begemotBridgeBasePortPrivate β€” this object controls a bridge interface flag called PRIVATE where any private port can not communicate with another private port. πŸ™ˆ

🚧 RESTRICTIONS 🚧

not all information in the MIBs is currently available in FreeBSD. the following variables carry no information:

  • dot1dBasePortCircuit
  • dot1dBasePortDelayExceededDiscards
  • dot1dBasePortMtuExceededDiscards
  • begemotBridgeBasePortDelayExceededDiscards
  • begemotBridgeBasePortMtuExceededDiscards

πŸ“‚ FILES πŸ“‚

  • /usr/share/snmp/defs/bridge_tree.def β€” the description of the MIB tree implemented by snmp_bridge.
  • /usr/share/snmp/mibs/BRIDGE-MIB.txt β€” this is the BRIDGE-MIB that is implemented by this module.
  • /usr/share/snmp/mibs/RSTP-MIB.txt β€” this is the RSTP-MIB implemented by this module.
  • /usr/share/snmp/mibs/BEGEMOT-BRIDGE-MIB.txt β€” this is the private BEGEMOT-BRIDGE-MIB that is implemented by this module.

πŸ‘€ SEE ALSO πŸ‘€

go check out bsnmpd(1), gensnmptree(1), snmpmod(3), if_bridge(4), and ifconfig(8). iykyk. 🌈

πŸ‘‘ AUTHORS πŸ‘‘

Shteryana Shopova <syrinx@FreeBSD.org> β€” iconic. periodt. πŸ’œ


and that's the page, bestie: this came from Debian, dated August 6, 2007, and it's the SNMP_BRIDGE(3) manual. slay. 🫢

πŸ“¦ where this page comes from