Comments (2)
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
from afxdp-plugins-for-kubernetes.
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:
- Ethernet Connection X722 for 10GBASE-T 37d2' if=eno1 drv=i40e unused=vfio-pci
- Ethernet Controller X710 for 10GbE SFP+ 1572' if=ens1f1 drv=i40e unused=vfio-pci
- 82540EM Gigabit Ethernet Controller 100e' if=ens22 drv=e1000 unused=vfio-pci (Virt)
but I'm unable to bind them with ice
driver. Driver Link
Thanks & Regards
Shivank
from afxdp-plugins-for-kubernetes.
Related Issues (12)
- [newbie] UDS client or API specification? HOT 5
- Question: Will The CNDP Interface Be Visible In The Kernel Space HOT 1
- working of AF_XDP plugin
- [Listen] Listener timed out: accept unixpacket HOT 3
- CNI doesn't find link after reboot HOT 4
- Which device drivers are supported by cdq mode? HOT 2
- Cannot allocate multiple devices to pod HOT 2
- Support needed for newer libbpf versions. HOT 2
- Remove CNI bpf responsibilities after the DP Syncer changes as merged
- Simplify UDS Server
- use our own xdp program HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from afxdp-plugins-for-kubernetes.