Hi Eelco,
On Wed, Jul 16, 2025 at 9:22 PM Eelco Chaudron <[email protected]> wrote: > > > > On 15 Jul 2025, at 10:33, Changliang Wu wrote: > > > New appctl 'lldp/neighbor' displays lldp neighbor information. > > Support json output with --format json --pretty > > Supoort dot1 and dot3 tlv > Hi Changliang, > > Unfortunately, I haven’t had time to do a proper review of the patch, as I’m > about to go on PTO for a couple of weeks. Thanks for letting me know. Enjoy your time off! > > One thing I personally don’t like is the current CLI and JSON output format. > I understand they are structured around lldpd’s format, but I find them > confusing, especially the JSON, which may not be straightforward to parse. > Please see my earlier comments on the v5 version of this patch for more > details. > > If others believe that lldpd compatibility (particularly on the JSON side) is > more important, I'm okay with proceeding. Perhaps we can revisit and improve > the CLI output later to make it more user-friendly, rather than a strict > replica of lldpd. After all, the JSON output is the one intended for parsing. This seems a good suggestion, and Aaron also has some issues with the CLI output format, maybe we can continue with this approach? > > Cheers, > > Eelco > > > Example outputs would be: > > $ ovs-appctl lldp/neighbor > > LLDP neighbor: > > Interface: p1 > > Chassis: > > Chassis ID: aa:aa:aa:aa:aa:aa > > SysName: FakeSystemName > > SysDescr: FakeSystemDesc > > MgmtIP: 192.168.0.1 > > MgmtIface: 635 > > Capability: Bridge, on > > Capability: Router, on > > Port: > > PortID: GigabitEthernet1/0/15 > > PortDescr: GigabitEthernet1/0/15 Interface > > TTL: 121 > > MFS: 10240 > > PMD autoneg: supported: yes, enabled: yes > > Adv: 10Base-T, HD: yes, FD: yes > > Adv: 100Base-TX, HD: yes, FD: yes > > Adv: 1000Base-T, HD: no, FD: yes > > MAU oper type: 30 > > MDI Power: supported: yes, enabled: no, pair control: no > > VLAN: 1, pvid: yes, VLAN 0001 > > PPVID: supported: yes,enabled no > > > > $ ovs-appctl --format json --pretty lldp/neighbor > > { > > "lldp": { > > "interface": { > > "p1": { > > "chassis": { > > "FakeSystemName": { > > "capability": [ > > { > > "enabled": true, > > "type": "Bridge"}, > > { > > "enabled": true, > > "type": "Router"}], > > "descr": "FakeSystemDesc", > > "id": { > > "type": "mac", > > "value": "aa:aa:aa:aa:aa:aa"}, > > "mgmt-iface": [ > > 635], > > "mgmt-ip": [ > > "192.168.0.1"]}}, > > "port": { > > "auto-negotiation": { > > "current": 30, > > "enabled": true, > > "supported": true}, > > "desc": "GigabitEthernet1/0/15 Interface", > > "id": { > > "type": "ifname", > > "value": "GigabitEthernet1/0/15"}, > > "mfs": 10240, > > "power": { > > "enabled": false, > > "paircontrol": false, > > "supported": true}, > > "ttl": 121}, > > "ppvid": { > > "enabled": false, > > "supported": true}, > > "vlan": { > > "pvid": true, > > "value": "VLAN 0001", > > "vlan-id": 1}}}}} > > > > v2: fix code lint and build warn > > v3: fix more static analyze error > > v4: fix build error > > v5: add json output, add NEWS > > v6: add dot1 and dot3, fix review problems > > v7: split patch to patch set > > v8: refactor dot1 and dot3 from lldpd, fix review problems > > v9: clean dot1,dot3 list, fix review problems > > > > Changliang Wu (3): > > lldp: Add ovs-appctl lldp/neighbor command. > > lldp: Decode dot1,3 tlv and display in lldp/neighbor. > > tests: lldp: Add testcases for lldp/neighbor. > > > > NEWS | 3 + > > lib/lldp/lldp-const.h | 5 + > > lib/lldp/lldp.c | 164 ++++++++- > > lib/lldp/lldpd-structs.c | 31 ++ > > lib/lldp/lldpd-structs.h | 69 ++++ > > lib/ovs-lldp.c | 678 +++++++++++++++++++++++++++++++++++++ > > tests/automake.mk | 1 + > > tests/ovs-lldp.at | 227 +++++++++++++ > > tests/testsuite.at | 1 + > > vswitchd/ovs-vswitchd.8.in | 4 + > > 10 files changed, 1181 insertions(+), 2 deletions(-) > > create mode 100644 tests/ovs-lldp.at > > > > -- > > 2.43.5 > _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
