@@ -30,9 +30,9 @@ func main() {
30
30
var ip = flag .String ("ip" , "127.0.0.1" , "IP address of target device" )
31
31
var community = flag .String ("c" , "public" , "SNMP community" )
32
32
var format = flag .String ("o" , "csv" , "Output format (csv, json)" )
33
- var localPortType = flag .String ("lt" , "desc" , "port-id-subtype selection for local (desc| id)" )
34
- var remotePortType = flag .String ("rt" , "desc" , "port-id-subtype selection for remote (desc| id)" )
35
- var prune = flag .Bool ("p" , false , "whether print LLDP entry has no remote port name or not " )
33
+ var localPortType = flag .String ("lt" , "desc" , "port-id-subtype selection for local (desc, id)" )
34
+ var remotePortType = flag .String ("rt" , "desc" , "port-id-subtype selection for remote (desc, id)" )
35
+ var prune = flag .Bool ("p" , false , "do not output LLDP entry which has no remote info " )
36
36
37
37
flag .Parse ()
38
38
@@ -90,6 +90,14 @@ func main() {
90
90
lldpEntries [strings .Split (pdu .Name [26 :], "." )[1 ]].RemotePortName = remotePort
91
91
}
92
92
93
+ if * prune {
94
+ for key , lldp := range lldpEntries {
95
+ if lldp .RemotePortName == "" || lldp .RemoteSysName == "" {
96
+ delete (lldpEntries , key )
97
+ }
98
+ }
99
+ }
100
+
93
101
if * format == "json" {
94
102
jsonString , err := json .Marshal (lldpEntries )
95
103
if err != nil {
@@ -100,11 +108,6 @@ func main() {
100
108
} else if * format == "csv" {
101
109
fmt .Println ("Local,RemotePort,RemoteSysName" )
102
110
for _ , lldp := range lldpEntries {
103
- if * prune {
104
- if lldp .RemotePortName == "" && lldp .RemoteSysName == "" {
105
- continue
106
- }
107
- }
108
111
fmt .Println (
109
112
lldp .LocalPortName , "," ,
110
113
lldp .RemotePortName , "," ,
0 commit comments