Open Alt-Shivam opened 1 year ago
Hi @Alt-Shivam
Thanks for your feedback here. Let me explain these prohibited devices and the reasoning for them.
eno1, eno2, eth0, eth1, etc. These tend to be the default management ports that are built into the main board of a server/host. They are the ports we use to connect to the host itself, over something like ssh or vnc.
Our device plugin is usually configured to find devices of a certain driver type. The problem is these server ports sometimes share the same driver as AF_XDP enabled network cards such as X710 or E810. This means the plugin will pick up the management port and add them to the device pool along with the other AF_XDP NIC ports.
That becomes a problem when you spin up a pod and Kubernets allocates your server management port to the pod. The plugins move the port out of the host network namespace and into the pod network namespace. At this point your host is now unreachable. You'd need to physically go to the machine, attach a KVM and manually delete the pod to get your host network back. That or force a reboot.
Assigning eno1/eno2/eth0/eth1 has the potential to "brick" a remote machine, so we prohibited the plugins for picking up these devices.
I'd be interested to know your usecase? If there's a good reason for using eno1, then maybe we disable prohibited devices check through a config option or something.
As a short term quick solution, if you still wish to proceed with using enoX then the quickest way to get up and running is to remove them from the prohibited devices list here at line 37: https://github.com/intel/afxdp-plugins-for-kubernetes/blob/main/constants/constants.go#L37
KR, Gary
Thank you, @garyloug for providing such a detailed and informative explanation. My motive is to try out CNDP with its potential use cases and benchmark it.
One more thing:
Can you suggest me a NIC to try out cdq
mode?
I currently have these ones:
but I'm unable to bind them with ice
driver. Driver Link
Thanks & Regards Shivank
Hey, I'm facing this issue after af-xdp plugin deployed successfully. Logs: