Hello Sandy,
Same result when installing and enabling some settings thanks to LLDPAD.
LLDP RX frames are never seen from OS side ..
Here what I do (after installing and starting lldpad):
# dmesg | grep i40e|grep eth|grep Link
i40e 0000:08:00.0: eth2: NIC Link is Up 10 Gbps Full Duplex, Flow Control: None
i40e 0000:08:00.1: eth3: NIC Link is Up 10 Gbps Full Duplex, Flow Control: None
i40e 0000:08:00.2: eth4: NIC Link is Up 10 Gbps Full Duplex, Flow Control: None
i40e 0000:08:00.3: eth5: NIC Link is Up 10 Gbps Full Duplex, Flow Control: None
i40e 0000:0b:00.0: eth6: NIC Link is Up 10 Gbps Full Duplex, Flow Control: None
i40e 0000:0b:00.1: eth7: NIC Link is Up 10 Gbps Full Duplex, Flow Control: None
i40e 0000:0b:00.2: eth8: NIC Link is Up 10 Gbps Full Duplex, Flow Control: None
i40e 0000:0b:00.3: eth9: NIC Link is Up 10 Gbps Full Duplex, Flow Control: None
# for i in `seq 2 9`; do lldptool set-lldp -i eth$i adminStatus=rxtx ; lldptool -T -i eth$i -V sysName enableTx=yes; lldptool -T -i eth$i -V portDesc enableTx=yes ; lldptool -T -i eth$i -V sysDesc enableTx=yes; lldptool -T -i eth$i -V sysCap enableTx=yes; lldptool -T -i eth$i -V mngAddr enableTx=yes; done
Doing eth2
adminStatus = rxtx
enableTx = yes
enableTx = yes
enableTx = yes
enableTx = yes
enableTx = yes
Doing eth3
adminStatus = rxtx
enableTx = yes
enableTx = yes
enableTx = yes
enableTx = yes
enableTx = yes
Doing eth4
adminStatus = rxtx
enableTx = yes
enableTx = yes
enableTx = yes
enableTx = yes
enableTx = yes
Doing eth5
adminStatus = rxtx
enableTx = yes
enableTx = yes
enableTx = yes
enableTx = yes
enableTx = yes
Doing eth6
adminStatus = rxtx
enableTx = yes
enableTx = yes
enableTx = yes
enableTx = yes
enableTx = yes
Doing eth7
adminStatus = rxtx
enableTx = yes
enableTx = yes
enableTx = yes
enableTx = yes
enableTx = yes
Doing eth8
adminStatus = rxtx
enableTx = yes
enableTx = yes
enableTx = yes
enableTx = yes
enableTx = yes
Doing eth9
adminStatus = rxtx
enableTx = yes
enableTx = yes
enableTx = yes
enableTx = yes
enableTx = yes
# /etc/init.d/lldpad restart
Stopping lldpad: [ OK ]
Starting lldpad: [ OK ]
<WAIT FOR 2Minutes>
# lldptool get-lldp -i eth6 adminStatus
adminStatus=rxtx
# lldptool -t -n -i eth6
<NOTHING>
# tcpdump -i eth6 -s 1500 -XX 'ether proto 0x88c
<ONLY SHOW TRANSMITTED FRAMES>
Some informations regarding DCB:
# dcbtool gc eth6 dcb
Command: Get Config
Feature: DCB State
Port: eth6
Status: Device not capable
# dcbtool sc eth6 dcb on
Command: Set Config
Feature: DCB State
Port: eth6
Status: Device not capable
Seems that's impossible to enable it ?
Driver/Frimware version (same as below):
# ethtool -i eth6
driver: i40e
version: 1.3.39.1
firmware-version: 4.53 0x80001da6 0.0.0
bus-info: 0000:0b:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes
Tests outputed with eth6 but it's the same result with any other ethernet interface from i40e.
It really seems that LLDP RX Frames are dropped directly inside the NIC (firmware setting to tune ?) whatever the OS (vSphere side, same result, LLDP frames are never received on the ESXi).
MM.