如何通过Netconf API获取聚合成员接口信息?
Python脚本略,接口聚合情况如下:

使用API为:
<LAGG>
<LAGGGroups>
<LAGGGroup>
<GroupId></GroupId>
<LinkMode></LinkMode>
<IfIndex></IfIndex>
<IfName></IfName>
<MemberList></MemberList>
</LAGGGroup>
</LAGGGroups>
</LAGG>
结果为:'Route-Aggregation23': 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD'
1、找个Linux系统(在线工具不行,可以找在线的Linux系统站或配置虚拟机),执行命令:
echo 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD' | base64 --decode | hexdump -C
结果为:
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000040 00 03 |..|
00000042

这个位图均为16进制,转换时以16进制为基准
1. 最左00000040,16转10为64
2. 右侧\0 003(bash视图可以看到是00 03),16 转2进制为 0000 0000 0000 0011
根据API文档

二进制左边第一位最高,右边第一位最低,最高位代表最低端口,所以左边第一位是端口1,第二位端口2,以此类推
那么00 03 就代指15和16两个端口索引
所以成员端口索引为:
64 * 8 + 15 == 527
64 * 8 + 16 == 528
(由于位图每组都是两个16进制数,如03、00,所以是乘8)
进入probe视图,使用display system internal ifmgr list命令查看接口索引:
得出该聚合口中的成员端口是2/0/13、2/0/14