[PLUG-TALK] Linux doesn't receive LLDP on E800 series ICE 100GB NIC

Randy Bush randy at psg.com
Mon Sep 13 19:18:48 UTC 2021


can anyone with intel nic clue help sra out?

randy

Date: Mon, 13 Sep 2021 14:52:13 -0400
From: Rob Austein <sra at arrcus.com>

Basic problem: Linux doesn't receive LLDP on E800 series ICE 100GB
Ethernet card ports.  Yes we know about the card's on-board LLDP
engine, in theory we just need to disable that by doing:

```
sudo ethtool --set-priv-flags $ifname disable-fw-lldp on
```

In practice, this does not work (for us).

Questions, to the extent that I currently able to ask them coherently:

1. Should I be worried about the "DDP package file not found" (dmesg,
   below) and, if so, how do I fix it?

2. Why am I getting "Operation not supported" when trying to view
   private flags, and how do I fix it?

https://sourceforge.net/p/e1000/mailman/message/37246019/ suggests
that disabling LLDP via ethtool requires CONFIG_DCB enabled in the
kernel, which might explain why disabling LLDP on the onboard X722
ports via ethtool doesn't work either (we've just been using the
horrible debugfs kludge to disable LLDP on the X710 series).  Will
build a new kernel and try that, but the messages for the E800 cards
are weird enough that I suspect CONFID_DCB is not the whole problen.

Note that the following is with both a custom kernel and a (very
slightly) hacked copy the Debian ethtool-1:4.15 package, but I get the
same results with a pristine copy of the Debian ethtool-1:5.9-1 source
package built for this userland environment (basically Debian Stretch
with some additions, yes I know Stretch is old).

root at cs1:~# uname -a
Linux cs1.medusa.arrcus.com 4.19.84-arrcus #1621043543 SMP Thu Aug 19 01:56:36 UTC 2021 x86_64 GNU/Linux

root at cs1:~# lspci  | fgrep Ethernet
19:00.0 Ethernet controller: Intel Corporation Ethernet Connection X722 for 10GBASE-T (rev 09)
19:00.1 Ethernet controller: Intel Corporation Ethernet Connection X722 for 10GBASE-T (rev 09)
65:00.0 Ethernet controller: Intel Corporation Device 1592 (rev 02)
65:00.1 Ethernet controller: Intel Corporation Device 1592 (rev 02)

Fun stuff from `dmesg`:

[    2.558446] ice: Intel(R) Ethernet Connection E800 Series Linux Driver - version 1.6.4
[    2.561708] ice: Copyright (C) 2018-2021, Intel Corporation.
[    2.775171] ice 0000:65:00.0: Direct firmware load for intel/ice/ddp/ice.pkg failed with error -2
[    2.782137] ice 0000:65:00.0: The DDP package file was not found or could not be read. Entering Safe Mode
[    2.855883] ice 0000:65:00.0: RDMA is not supported on this device
[    3.070988] ice 0000:65:00.1: Direct firmware load for intel/ice/ddp/ice.pkg failed with error -2
[    3.075184] ice 0000:65:00.1: The DDP package file was not found or could not be read. Entering Safe Mode
[    3.134648] ice 0000:65:00.1: RDMA is not supported on this device

root at cs1:~# ip link | egrep '^[0-9]: en'
5: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
6: enp101s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9188 qdisc mq state UP mode DEFAULT group default qlen 1000
7: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
8: enp101s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9188 qdisc mq state UP mode DEFAULT group default qlen 1000


root at cs1:~# dpkg -l ethtool
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                          Version                     Architecture                Description
+++-=============================================-===========================-===========================-==========================================
ii  ethtool                                       1:4.15.arrcus1              amd64                       display or change Ethernet device settings

root at cs1:~# ethtool --show-priv-flags enp101s0f0
Cannot get private flags: Operation not supported

root at cs1:~# ethtool --show-priv-flags eno1
Private flags for eno1:
MFP                    : off
LinkPolling            : off
flow-director-atr      : on
veb-stats              : off
hw-atr-eviction        : on
link-down-on-close     : off
legacy-rx              : off
disable-source-pruning : off
disable-fw-lldp        : off
vf-true-promisc-support: off

root at cs1:~# ethtool --set-priv-flags eno1 disable-fw-lldp on
Cannot set private flags: Operation not supported

root at cs1:~# ethtool --set-priv-flags enp101s0f0 disable-fw-lldp on
ethtool: bad command line argument(s)
For more information run ethtool -h

-30-



More information about the PLUG-talk mailing list