SNMP::...scoAgg(3pm)

πŸ’– SNMP::...scoAgg(3pm) πŸ’–

okay bestie, welcome to SNMP::...scoAgg(3pm), straight out of the User Contributed Perl Documentation collection 🫢 this is the page for the Cisco aggregated-links glow-up, and yes we're doing the whole thing, every flag, every method, no skips ✨


πŸŽ€ NAME πŸŽ€

SNMP::Info::CiscoAgg β€” SNMP Interface to Cisco Aggregated Links. that's the whole vibe. it's the SNMP::Info hookup for Cisco link aggregation. πŸ’…

πŸ‘‘ AUTHOR πŸ‘‘

the SNMP::Info Developers wrote this and honestly? they ate. πŸ“

✨ SYNOPSIS ✨

here's the little intro spell so you can see it in action, no cap:

# Let SNMP::Info determine the correct subclass for you.
my $info = new SNMP::Info(
                         AutoSpecify => 1,
                         Debug       => 1,
                         DestHost    => 'myrouter',
                         Community   => 'public',
                         Version     => 2
                       )
   or die "Can't connect to DestHost.\n";

my $class = $info->class();
print "SNMP::Info determined this device to fall under subclass : $class\n";

not me letting AutoSpecify => 1 do the picking for me 😭 it literally sniffs out which subclass your device belongs to and tells you, main character energy fr fr.

🌸 DESCRIPTION 🌸

so this class gives you access to Aggregated Links configuration on Cisco devices. it's giving "one big happy merge" because it pulls together Cisco PAgP info, Cisco proprietary info, and IEEE 802.3ad info all in one place. πŸ¦‹

important bestie: use it, or create it, inside a subclass of SNMP::Info. do not use it directly. that's the rule, periodt.

🧬 Inherited Classes

  • SNMP::Info::IEEE802dot3ad β€” the family tree, we inherit from it πŸ’œ

πŸ“š Required MIBs

like, you literally can't do this without them:

  • CISCO-PAGP-MIB
  • CISCO-LAG-MIB
  • CISCO-IF-EXTENSION-MIB

πŸ”₯ TABLE METHODS πŸ”₯

πŸ’« agg_ports

returns a HASH reference mapping from slave to master</puple>port… okay not that, it maps from slave to master port, for each member of a port bundle on the device. πŸ”‘

  • Keys = ifIndex of the slave ports
  • Values = ifIndex of the corresponding master ports

slay, it's literally just a lookup table. πŸ’–

πŸ’« agg_ports_cisco

this one implements the Cisco LAG info retrieval. it gets merged into the agg_ports data automatically, so you don't even have to ask nicely. 🌈

heads up though: it will fetch all members of clagAggPortListInterfaceIndexList even if they are not running an aggregation protocol. yeah. all of them. annnnd breathe. 😭

πŸ’« agg_ports_pagp

implements the PAgP LAG info retrieval. also merged into agg_ports data automatically ✨ same energy, different protocol, we love consistency.

πŸ’« agg_ports_propvirtual

a version of SNMP::Info::Aggregate::agg_ports_ifstack that inspects only ports of type propVirtual. πŸŽ€

bestie, don't forget: you still need to use agg_ports_ifstack. this one is not a replacement, it's a plus-one. πŸ’…

πŸ’« lag_members

mimics ad_lag_ports from SNMP::Info::IEEE802dot3ad β€” except it's based on ifindex instead of bp_index. iconic behaviour, tbh. πŸ‘‘


πŸ’₯ OVERRIDES πŸ’₯

⭐ agg_ports_lag

this will retrieve LAG ports based on dot3adAggPortSelectedAggID data. and then, you guessed it, it gets merged into agg_ports data. everything is merged into agg_ports, that's just the whole plot of this manpage. 🫢


🌊 Table Methods imported from SNMP::Info::IEEE802dot3ad 🌊

see the documentation in SNMP::Info::IEEE802dot3ad for details. iykyk β€” the lore lives over there. πŸ“–


🧚 MUNGES 🧚

🍬 munge_port_ifindex

takes clagAggPortListInterfaceIndexList, uses the index as the master port, then returns all members as ifindex. 🌟

it works with single or multiple slaves to a master. flexible queen. no cap. πŸ’…βœ¨


kisses, this was perl v5.40.1, dated 2026-02-28, brought to you by SNMP::...scoAgg(3pm) πŸŽ€πŸ¦‹ go forth and aggregate responsibly, bestie πŸ’–
πŸ“¦ where this page comes from