k8snetworkplumbingwg / accelerated-bridge-cni Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
we should run code coverage as part of CI and have a badge that reports the state in README
Add Makefile target to generate mocks
Extending unit tests when adding new functionality
Currently, accelerated-bridge-cni logs to Stderr and this can't be changed, as result, all logs go to the container runtime log (for example, to the containerd log).
It will be useful to support logging into a file to simplify debugging.
The README does not reflect the CNI config of this plugin. it should be updated so users understand what is an acceptable configuration
we have added a few CVE fixes to accelerated bridge CNI, lets do a release so folks enjoy latest fixes.
perhaps we want to have #57 as well
currently MyNetlink
is part of manager.go
it should be in its own file. possibly in a different package (utils ?)
Split plugin configuration and cache only significant one.
Currently the whole configuration is cached by the plugin, but not whole information used during deletion.
Wrong MAC address value returned in Result on CmdAdd when MAC address passed in cni config
Expected MAC address equal to the one in conf
Run cnitool utility with config, which include MAC address field, for ex:
$ export CNI_PATH=/opt/cni/bin
$ export NETCONFPATH=<config file location>
$ ./cnitool add accelerated-bridge-cni /var/run/netns/ns1
{
"cniVersion": "0.4.0",
"interfaces": [
{
"name": "eth0",
"mac": "56:0a:69:b3:a6:5b",
"sandbox": "/var/run/netns/ns1"
}
],
"ips": [
{
"version": "4",
"interface": 0,
"address": "10.56.217.2/24",
"gateway": "10.56.217.1"
}
],
"routes": [
{
"dst": "0.0.0.0/0"
}
],
"dns": {}
}
Nope
Please fill in the below table with the version numbers of applicable components used.
Component | Version |
---|---|
Accelerated Bridge CNI Plugin | Latest |
Multus | |
SR-IOV Network Device Plugin | |
Kubernetes | v1.19.2 |
OS | CentOS 7.8 |
$ cat /swgwork/dmitrolin/go-src/configs/10-accelerated-bridge.conf
{
"cniVersion":"0.4.0",
"name":"accelerated-bridge-cni",
"type":"accelerated-bridge",
"deviceID":"0000:82:00.3",
},
"runtimeConfig":{
"mac":"e4:22:33:44:55:66",
},
"ipam":{
"type":"host-local",
"subnet":"10.56.217.0/24",
"routes":[{"dst":"0.0.0.0/0"}],
"gateway": "10.56.217.1"
}
}
We would like to release a new version of accelerated bridge CNI.
Content:
PR#38 - add support for vfio interface
funlen
and gocognit
linters disabled because main.go:cmdAdd()
, manager.go:ApplyVFConfig()
and config.go:LoadConf()
produce errors. Need to refactor this part of code.
Cleaner code
Bump golang version to 1.18 to align with other projects in the org
following best practices to keep things up 2 date and enjoy latest golang features
currently caching methods are part of config package.
we should move it to its own package
see: https://github.com/Mellanox/rdma-cni/tree/master/pkg/cache
most of npwg projects use github workflow, we should transition to it from travis
If/when/once this project moves to networkplumbingwg org we should push docker images to github container registry
(which avoids the docker image pull limits)
Several features were added since we last released.
representor-device
field)It would be great to do a release so that users can use a tagged version of accelerated-bridge-cni with latest features.
Do we want additional content to be added for release ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.