-
Smithx10
Did we ever get LLDP to work over aggregations?
-
jbk
no
-
jbk
i haven't thought about it too much (so there's probably more than a few flaws lurking there), but I am wondering if some of the mac flow improvements in an RFD (whose number I forget) might be able to be a component in the solution (though likely not the entire solution)
-
jbk
(802.1x and a few others more or less have the same problem w/ aggrs on illumos as LLDP)
-
Smithx10
Is there anyway to use libpcap or whatever to read the frames coming in passively? I see that snoop can capture ethertype 0x88cc on interfaces in the aggr
-
jbk
yes, but you'll see the LLDP packets from every link in the aggr
-
jbk
so you might not be able to tell which port in the aggr received the LLDP frame
-
Smithx10
I am trying to use
github.com/google/gopacket with CGO to try and the interfaces not in the aggregate work right now....
-
jbk
yeah
-
Smithx10
Snoop grabs them at a different layer?
-
jbk
i don't think snoop will let you run it on a specific link in the aggr
-
Smithx10
-
Smithx10
lldp-info is the libpcap program, it doesnt ever show 1 or 3
-
jbk
yeah, looks like it's not opening the aggr device
-
Smithx10
Im guessing snoop knows how?
-
jbk
well if you tell it -d adminaggr0, it's going to open that...
-
jbk
i'm guessing whatever lldp client you're using doesn't know how to iterate aggrs on illumos
-
sommerfeld
one issue may well be 'smart' nics like i40e trying to be too smart with LLDP
-
jbk
while i40e can run it's own internal LLDP between 'virtual' nics, that shouldn't matter
-
jbk
it's really that aggr opens all of the underlying interfaces exclusively
-
jbk
so that means dlpi_open() on those underlying interfaces should fail (but at minimum isn't going to do anything)
-
jbk
because aggr is basically treating all of the rings in the underlying interfaces as if it they were aggr's own rings
-
jbk
(being a bit loose there, but that's the basic idea)...
-
Smithx10
gopacket is linking in 35 | #include <pcap.h> , I got that pcap.h from pkgsrc libpcap-1.10.5 = System-independent interface for user-level packet capture. Maybe there is a diffent pcap.h
-
Smithx10
jbk: sommerfeld, this is interesting. on i40e aggregates my little go program gets the lldp frames and prints them out check it out:
gist.github.com/Smithx10/16babecf222028b1e6b31023a23adc5d Looks like the mlx interface doesnt tho. hmmm
-
jbk
i actually have most of an lldp implementation that is 'well integrated' into illumos (aside from using smf, it uses the topo bits to populate a number of default values for items, etc)... but have been waiting on trying to fix the 'aggr issue'
-
Smithx10
yeah, that would be useful. having to pull the interfaces out of the aggr scares me sometimes.... not sure if its a valid fear, but it will hang and I get the *oh shit* feeling lol