All Projects → Mellanox → k8s-rdma-sriov-dev-plugin

Mellanox / k8s-rdma-sriov-dev-plugin

Licence: Apache-2.0 license
Kubernetes Rdma SRIOV device plugin

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to k8s-rdma-sriov-dev-plugin

sriov-cni
DPDK & SR-IOV CNI plugin
Stars: ✭ 209 (+127.17%)
Mutual labels:  dpdk, sriov
starfish
Rust futures on spdk
Stars: ✭ 31 (-66.3%)
Mutual labels:  dpdk
Npf
NPF: packet filter with stateful inspection, NAT, IP sets, etc.
Stars: ✭ 160 (+73.91%)
Mutual labels:  dpdk
Validate-DCB
Validator for RDMA Configuration and Best Practices
Stars: ✭ 34 (-63.04%)
Mutual labels:  rdma
Packet Journey
DEPRECATED - Packet-journey, userland router which uses DPDK for its fastpath switching.
Stars: ✭ 200 (+117.39%)
Mutual labels:  dpdk
Coyote
Framework providing operating system abstractions and a range of shared networking (RDMA, TCP/IP) and memory services to common modern heterogeneous platforms.
Stars: ✭ 80 (-13.04%)
Mutual labels:  rdma
Ruru
Real-time TCP latency monitoring using DPDK backend and a 3D React frontend
Stars: ✭ 155 (+68.48%)
Mutual labels:  dpdk
pDPM
Passive Disaggregated Persistent Memory at USENIX ATC 2020.
Stars: ✭ 38 (-58.7%)
Mutual labels:  rdma
ksmbd
ksmbd kernel server(SMB/CIFS server)
Stars: ✭ 181 (+96.74%)
Mutual labels:  rdma
oko
Extend Open vSwitch with BPF programs at runtime
Stars: ✭ 29 (-68.48%)
Mutual labels:  dpdk
mydpdkdns
dns server with high performance, based on dpdk.
Stars: ✭ 41 (-55.43%)
Mutual labels:  dpdk
Capsule
A framework for network function development. Written in Rust, inspired by NetBricks and built on DPDK.
Stars: ✭ 217 (+135.87%)
Mutual labels:  dpdk
sriovnet
Go library/package to configure SRIOV networking devices
Stars: ✭ 26 (-71.74%)
Mutual labels:  sriov
Opennetvm
A high performance container-based NFV platform from GW and UCR.
Stars: ✭ 177 (+92.39%)
Mutual labels:  dpdk
nvfuse
NVMe based File System in User-space
Stars: ✭ 81 (-11.96%)
Mutual labels:  dpdk
Dpvs
DPVS is a high performance Layer-4 load balancer based on DPDK.
Stars: ✭ 2,168 (+2256.52%)
Mutual labels:  dpdk
dpdk doc
dpdk中文资料及会议文档ppt
Stars: ✭ 151 (+64.13%)
Mutual labels:  dpdk
yastack
YAStack: User-space network-stack based on DPDK, FreeBSD TCP/IP Stack, EnvoyProxy
Stars: ✭ 90 (-2.17%)
Mutual labels:  dpdk
dperf
dperf is a DPDK based 100Gbps network performance and load testing software.
Stars: ✭ 1,320 (+1334.78%)
Mutual labels:  dpdk
docker-sriov-plugin
Docker networking plugin for SRIOV and passthrough interfaces
Stars: ✭ 70 (-23.91%)
Mutual labels:  sriov

No longer maintained

[DEPRECATED] This repository is no longer maintained

You are still welcome to explore, learn, and use the code provided here. Alternatively, repository k8s-rdma-shared-dev-plugin can be used.

k8s-rdma-sriov-dev-plugin

(https://hub.docker.com/r/rdma/k8s-rdma-sriov-dev-plugin)

This is simple rdma device plugin that support IB and RoCE SRIOV vHCA and HCA. This also support DPDK applications for Mellanox NICs. This plugin runs as daemonset. Its container image is available at rdma/k8s-rdma-sriov-dev-plugin.

How to use SRIOV mode?

1. Create per node sriov configuration

Edit example/sriov/rdma-sriov-node-config.yaml to describe sriov PF netdevice(s). In this example it is eth0 and eth1.

Note: (a) Do not add any VFs. (b) Do not enable SRIOV manually.

This plugin enables SRIOV for a given PF and does necessary configuration for IB and RoCE link layers.

2. Create ConfigMap

Create config map which holds SRIOV netdevice information from this config yaml file. This is per node configuration. In below example, they are eth0 and eth1 in rdma-sriov-node-config.yaml.

kubectl create -f example/sriov/rdma-sriov-node-config.yaml

3. Deploy device plugin

kubectl create -f example/device-plugin.yaml

4. Create Test pod

Create test pod which requests 1 vhca resource.

kubectl create -f example/sriov/test-sriov-pod.yaml

How to use HCA mode?

1. Use CNI plugin such as Contiv, Calico, Cluster

Make sure to configure ib0 or appropriate IPoIB netdevice as the parent netdevice for creating overlay/virtual netdevices.

2. Create ConfigMap

Create config map to describe mode as "hca" mode. This is per node configuration.

kubectl create -f example/hca/rdma-hca-node-config.yaml

3. Deploy device plugin

kubectl create -f example/device-plugin.yaml

4. Create Test pod

Create test pod which requests 1 vhca resource.

kubectl create -f example/hca/test-hca-pod.yaml
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].