summaryrefslogtreecommitdiffstats
path: root/recipes-networking/cni
Commit message (Collapse)AuthorAgeFilesLines
* global: convert github SRC_URIs to use https protocolBruce Ashfield2021-11-021-2/+2
| | | | | | | | | | | github is removing git:// access, and fetches will start experiencing interruptions in service, and eventually will fail completely. bitbake will also begin to warn on github src_uri's that don't use https. So we convert the meta-virt instances to use protocol=https (done using the oe-core contrib conversion script) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* cni: add SRCREV_FORMATBruce Ashfield2021-10-191-0/+1
| | | | | | | | | | recipes that use multiple SCMs in the SRC_URI, must supply SRCREV_FORMAT or SRCPV triggers an expansion error. While this isn't fatal during the build, it can cause issues with setscene (and possibly) other tasks failing, which then leads to no sstate re-use, etc. Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* global: overrides syntax conversionBruce Ashfield2021-08-021-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OEcore/bitbake are moving to use the clearer ":" as an overrides separator. This is pass one of updating the meta-virt recipes to use that syntax. This has only been minimally build/runtime tested, more changes will be required for missed overrides, or incorrect conversions Note: A recent bitbake is required: commit 75fad23fc06c008a03414a1fc288a8614c6af9ca Author: Richard Purdie <richard.purdie@linuxfoundation.org> Date: Sun Jul 18 12:59:15 2021 +0100 bitbake: data_smart/parse: Allow ':' characters in variable/function names It is becomming increasingly clear we need to find a way to show what is/is not an override in our syntax. We need to do this in a way which is clear to users, readable and in a way we can transition to. The most effective way I've found to this is to use the ":" charater to directly replace "_" where an override is being specified. This includes "append", "prepend" and "remove" which are effectively special override directives. This patch simply adds the character to the parser so bitbake accepts the value but maps it back to "_" internally so there is no behaviour change. This change is simple enough it could potentially be backported to older version of bitbake meaning layers using the new syntax/markup could work with older releases. Even if other no other changes are accepted at this time and we don't backport, it does set us on a path where at some point in future we could require a more explict syntax. I've tested this patch by converting oe-core/meta-yocto to the new syntax for overrides (9000+ changes) and then seeing that builds continue to work with this patch. (Bitbake rev: 0dbbb4547cb2570d2ce607e9a53459df3c0ac284) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* cni: inhibit go.mod build for main cniBruce Ashfield2021-06-151-1/+3
| | | | | | | | | | The cni plugins already have mod=vendor, but we also need to ensure that the main CNI build is not using go module based builds. To avoid inconsistent vendoring messages, we switch all plugins to no module builds as well. Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* cni/plugins: update to 0.9.1Bruce Ashfield2021-06-041-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the cni plugins part of the recipe to the 0.9.1 release: c4d4aa7 Remove Bryan Boreham as maintainer af26bab host-local: support ip/prefix in env args and CNI args f72aa98 [sbr]: Use different tableID for every ipCfg Check tableID not in use for every ipCfg 40c225e Small typo improves in README.md 76ef07e Allow multiple routes to be added for the same prefix. Enables ECMP d6bf1ea Update to lastest vendor/github.com/vishvananda/netlink bdaaa20 tuning: always update MAC in CNI result 33a2929 vendor: bump to libcni v1.0-rc1 820fee9 tuning: Add support of altering the allmulticast flag f34c600 [sbr]: Use different tableID for every ipCfg Move default table routes which match the ipCfg config 8f32968 Fix nil-pointer check 028fc2f host-local: support custom IPs allocation through runtime configuration 7da1c84 pkg/ip: introduce a new type `IP` to support formated <ip>[/<prefix>] 2eac102 go.mod: github.com/j-keck/arping v1.0.1 f4d2925 go.mod: github.com/buger/jsonparser v1.1.1 c3d0153 go.mod: github.com/alexflint/go-filemutex v1.1.0 75b64e0 go.mod github.com/Microsoft/hcsshim v0.8.16 bc85637 go.mod: godbus/dbus/v5 v5.0.3, coreos/go-systemd v22.2.0 d2d89dd go.mod: github.com/mattn/go-shellwords v1.0.11 59a6259 go.mod: github.com/sirupsen/logrus v1.8.1 3cc1135 CI: Install linux-modules-extra for VRF module 5b02c2a Fix broken links to online docs in plugin READMEs f275746 gha: update actions/setup-go@v2 b811967 remove redundant startRange in RangeIter due to overlap check on multi ranges 178d7c0 fix(win-bridge): panic while calling HNS api e09a17f portmap: use slashes in sysctl template to support interface names which separated by dots 9b09f16 pkg/ipam: use slash as sysctl separator so interface name can have dot e31cd2c [macvlan] Stop setting proxy-arp on macvlan interface 8e540bf tuning: increase test coverage to 1.0.0 and older spec versions d2e5b5d portmap: increase test coverage to 1.0.0 and older spec versions 8f7fe6d flannel: increase test coverage to 1.0.0 and older spec versions f33eedb firewall: increase test coverage to 1.0.0 and older spec versions da52be3 bandwidth: increase test coverage to 1.0.0 and older spec versions 02cdaaf host-local: increase test coverage to 1.0.0 and older spec versions f534133 static: increase test coverage to 1.0.0 and older spec versions 932653f dhcp: increase test coverage to 1.0.0 and older spec versions dd3f606 dhcp: add -resendmax option to limit lease acquisition time for testcases 4ddc8ba vlan: increase test coverage to 1.0.0 and older spec versions f56545c ptp: increase test coverage to 1.0.0 and older spec versions bbf7189 macvlan: increase test coverage to 1.0.0 and older spec versions 5eae558 loopback: increase test coverage to 1.0.0 and older spec versions 5096b53 ipvlan: increase test coverage to 1.0.0 and older spec versions 34cee8c host-device: increase test coverage to 1.0.0 and older spec versions c3c286c bridge: increase test coverage to 1.0.0 and older spec versions c8f341d bridge: simplify version-based testcase code 8c25db8 testutils: add test utilities for spec version features 7d8c767 plugins: update to spec version 1.0.0 9e2430b vendor: bump CNI to 1.0.0-pre @ 62e54113 Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* cni: add ca-certifcates dependencyBruce Ashfield2021-03-151-0/+2
| | | | | | | | | | | Many of the CNI plugins require authenticated connections, as such they are looking for elements of ca-certificates. CNI isn't small, so we add this as a general rdepends. If we need to slim things down in the future, we can split the CNI into specific implementations and add the dependency to those packages. Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* cni: update to 0.8.0Bruce Ashfield2021-02-061-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following CNI commits are part of this update: e32b586 remove build badges from homepage 296290a Switch from Travis to GH Actions a199e6a go fmt ada6726 tighten up plugin-finding logic eec3755 Add "alias" to conventions 867451c Fix typo in pkg/types/internal/convert.go 679ed9d Fix typo in CONVENTIONS.md 6d8228e maintainers: fix typo e781c94 types: remove SupportedVersions 7555ca3 spec: bump to 1.0.0-pre-release and remove 'version' from Result addresses 6823eba tests: small cleanup and removal of one useless testcase 3805b13 types: add 1.0.0 0050bfa types: implement convert module and make types use it 90311ea Bump release build Go version to 1.14 f9b5c9b Add security reporting info e5c65a5 Revert formatting of error codes 65bf688 Travis: bump go versions a7cceb9 add go.mod 93a7425 testhelpers: clean up how we build against old libcni targets c78d465 Replace 2019 conference announcement with links to the recordings fc1de42 Sync contact methods in README and CONTRIBUTING c815aca Update the SPEC, CODE-OF-CONDUCT, CONTRIBUTING, RELEASING with minor formatting changes and linting updates. 17a6379 Update README.md 956c943 adding OVN4NFV-K8s-Plugin as 3rd party plugin e2a7366 Retry exec commands on text file busy 76b18ea Typo fixes for infiniband GUID 44dabed invoke: capture and return stderr if plugin exits unexpectedly 279bc6c Add DeviceID attribute to RuntimeConfig fdcc7b1 test: allow specific package testing with PKGS=<x> ./test.sh ca0082f Add Infiniband GUID to well known Capabilities 38353fa Remove extra ',' chars which makes conflist examples invalid. 134f603 maintainers: remove Stefan per personal request 1435c6b Add Michael Cambria as a CNI maintainer 6b46a03 Update link freenode.org to freenode.net 075e303 Update roadmap for 1.0 plans 0b1c649 Change language identifier to jsonc for json with comments 704c56d Update tests f208f19 Remove Result.String cc6e8af pkg/utils: utility package should use black-box testing 025e32f pkg/utils: add utils_test 6f29b01 intercept netplugin std error 777584f Add Kube-OVN to CNI list e00fa53 appending antrea to the cni list 7815be7 Add Project Antrea in CNI list f2fa4a3 Add table of contents b36de6e DOCUMENTATION: Address incomplete instructions in CONTRIBUTING.md c35ac21 Adding Cisco ACI to CNI plugin list 3eb88ac Add Bruce Ma and Piotr Skarmuk as maintainers 6c6a315 Update README to sunset slack and call out kubecon presentations b89eff5 Add a note to README about where to find the binaries 4eec648 When the CNI version isn't supplied in config, use default. eefc069 SPEC: update validation rules for interface name in docs and address some comments b5188cf spec: fix some typo in docs c94fcd7 Perfect annotation: Correct word spelling mistakes 7be1ac9 add interface name validation to libcni and skel 9f4a623 utils: add validation function for interface name 2a82881 Bump golang c0f784d Update cnitool docs 94399d5 add err handling in plugins/test/noop/ d8dfb56 validate containerID and networkName ensure they contain only letters and numbers e4a11ba libcni: cache file operations require full uniqueness tuple in RuntimeConf a83f3cb libcni: also cache IfName, network name, and container ID 894863c libcni: fix cache file 'result' key name f3654f3 skel: remove needless functions and types 3e79703 modify some well-known errors 1318d7c libcni: find plugin in exec 9af40ed libcni: add config caching 722a488 docs: add ips and mac to well-known capabilities and fix some typo 227c438 SPEC: add some well-known error codes ba034ef testcases: make testcase use suitable error code 4b29940 skel: clean up typed Errors in skel 50192c0 types : add NewError method 0af0477 readme: add Alibaba Cloud CNI plugin 'Terway' to the list b92d83c bump linux to Bionic 18.04 in Travis and Vagrant a48337a add missing commas, fix syntax error 5077b14 Add stringifyArgs and parseArgs functions to utils.go 80ad241 libcni: add InitCNIConfigWithCacheDir() and deprecate RuntimeConfig.CacheDir 5dbeae8 clean up : remove useless variable a03dc28 clean up : fix staticcheck warnings cbca752 Docs: Small typo fixes in main README.md As well as the following plugin commits: fa48f75 ipam/dhcp: Add broadcast flag 74a6b28 vendor: bump libcni 8feef71 add flannel to support dual stack ip 343d233 bandwidth: fix panic in tests d41acb8 host-device: Add support for DPDK device (#490) 075c5a0 [main/vlan] Fix error handling for delegate IPAM plugin a8d1f5c dhcp: default dhcp clien timeout is 10s 354def7 vlan: fix error message text by removing ptp references 25fc741 dhcp: daemon dhcp client timeout is configurable 3161bb5 dhcp: timeout value is set in DHCP daemon ebce6d0 remove unused function 691238c deps: go mod tidy coreos/go-iptables 23a1d90 deps: bump coreos/go-iptables e13bab9 tuning: revert values on delete (#540) 680c6dd go mod tidy be19d78 bump to go 1.15 8d52c42 Add ability to trigger retests via comments 3ae85c1 pkg/ns: fix test case to tolerate pids going away. 25704f9 Add github build & test actions eb31403 bridge: fix testcase to check addresses we care about 336ba52 Remove travis. b47d178 vendor: bump ginkgo, gover 108c2ae portmap plugin should flush previous udp connections cccf539 Updating plugin README.md files (#549) c41c78b update netlink dependencies 50a3aa6 Xdhcp: fix example configuration 98c621a VRF: extend supported version to 0.3.1 too. b34402a VRF CNI: Add an optional table parameter. 5fc309a Add more tests for the vrf cni plugin. 362f5d6 Update github.com/vishvananda/netlink to v1.1.0 8d0d8a9 Introduce a new VRF CNI meta plugin. 1a7f1bd Travis: run tests on arm64 8a6e96b Replace nc with the local echo client. 3227902 Add an echo client to be used instead of nc. 59baaa1 Bump up the ubuntu version used in CI to bionic. 9ce99d3 flannel: allow input ipam parameters as basis for delegate 08ff3b6 ipvlan: make master config as optional 1ea19f9 Remove extraneous test file in Windows plugin 799d3cb Fix race condition in GetCurrentNS 839d918 lo: CNI_IFNAME is no longer ignored c50490e cni: bump to 0.8.0 01a8de9 Bump Go version to 1.13 and 1.14 2b6cd54 Add contact info 0214625 Update firewall README.md CNI-ADMIN 813f541 firewall: fix some typos in docs 051452c Update firewall README.md 877602d portmap DEL noop if no portMappings present 2bd04cb firewall: fix generate of admin chain comment d4775ec Fix handling of delay in acquiring lease with stp turned on 68a80bc Update README.md 5cb3a5e portmap: don't use unspecified address as destination b9560fd macvlan: set mac address from CNI_ARGS 79192cb host-device: Bring interfaces down before moving. 219eb9e ptp, bridge: disable accept_ra on the host-side interface 02bfece plugins/meta/sbr: Adjusted ipv6 address mask to /128 5e0fbd8 portmap: Apply the DNAT hairpin to the whole subnet a78853f Support device id in host device plugin (#471) 2d2583e win-bridge: add support for portMappings capability 30776ff check bridge's port state 2a48d68 Reset the route flag before moving the rule 486ef96 [DO NOT REVIEW] vendor upate to remove useless dependencies 8a0e3fe build error utility package to replace juju/errors 112288e Unlock OS thread after netns is restored c7e2cf7 owners: updates for maintainer changes 53854dd flannel: remove net conf file after DEL succeed a9b4e04 Make host-device to work with virtio net device 45fd949 ptp: remove some redundant lines 2ff84a4 pkg/ip: use type cast instead of untrusty error message 37207f0 pkg/utils: sysctl package should use black-box testing d1360b8 loopback: Fix ipv6 address checks Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* cni: prevent go from downloading stuff in the backgroundMark Asselstine2020-03-131-23/+9
| | | | | | | | | | | | | | | | | | | | | | | | | While testing the cni uprev by building in a container with network=none the following error was found: go: github.com/Microsoft/go-winio@v0.4.11: Get https://proxy.golang.org/github.com/%21microsoft/go-winio/@v/v0.4.11.mod: dial tcp: lookup proxy.golang.org on 128.224.144.130:53: dial udp 128.224.144.130:53: connect: network is unreachable After some digging through the go documentation it was found that the '-mod=vendor' is required for 'go build' to use shipped vendor modules when building modules. This can be confirmed by look at the 'build_linux.sh' script which is found in the plugins repo. By using '-mod=vendor' and also ensuring things are properly placed in the GOPATH (ie $B) we can avoid having to create many of the links we had been previously. We also put all the build artifacts into $B to avoid mixing source and build. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* cni: 1.7.0 to 1.7.1 (and plugins 0.8.2 to 0.8.5)Mark Asselstine2020-03-131-3/+4
| | | | | | | | | | | | | | Both uprev's are listed as 'minor' in the upstream release notes. Neither introduces an uprev in spec. This fixes issues we observed while testing the forthcoming cri-o uprev. NOTE: this commit should only be used with the follow-on commit [cni: prevent go from downloading stuff in the background] otherwise you will end up with files not owned by you which will prevent the recipe being properly cleaned. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* cni: move cni tools to /usr/libexec/cniStefan Agner2019-10-021-2/+6
| | | | | | | | | Use a standard location to store the cni tools and plugins. This is more in line how other distributions package cni. Keep a symlink to /opt/cni/bin for backward compatibility. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* cni: build more pluginsChen Qi2019-08-121-1/+1
| | | | | | | | Also build plugins under ipam. Other distros default to contain these plugins. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* cni: fix problem about cross compilationChen Qi2019-08-121-3/+3
| | | | | | | | | | | | | | When setting up k8s, the following error appeared, failing to setup coredns pod. NetworkPlugin cni failed to set up pod "coredns-5f7fc64c95-4nnfq_kube-system" network: fork/exec /opt/cni/bin/loopback: no such file or directory This is because the binary, /opt/cni/bin/loopback, has wrong interpreter. So fix do_compile to use ${GO} instead of go to fix this problem. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* cni: remove unnecessary GO settingsChen Qi2019-08-121-18/+0
| | | | | | | | | | | These settings are either in go.bbclass or duplicate, thus removing them. Keep only CGO_ENABLED and GOPATH to easier manipulation while upgrading cni. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* containers/go/build: don't override global package strip flagsBruce Ashfield2019-07-221-1/+0
| | | | | | | | | | | | | | | | | | When the go-lang container recipes were first created there were issues with strip and the resulting binaries. As such, strip was inhibited for the various packages. This variable is now set in the default classes, and tests show that strip works on the binaries (saving up to 2M on disk for some binaries) with no runtime issues found. So we drop our explicit set of the inhibit and let the build proceed by the defaults. If issues are found, we can re-enable the setting or bbappends can turn it back on for builds showing issues. Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* k8s: update CNI to 0.7.xBruce Ashfield2019-07-121-3/+3
| | | | | | Updating the CNI and plugins to 0.7.x series. Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* cni: update to latest plugins, and skip windows bridge buildBruce Ashfield2018-11-021-3/+3
| | | | | | | | | Updating the cni plugins to match k8s and cri-o. We also filter out the windows plugins, since they use a different build infrastructure than the other variants .. and are not currently needed. This can be revisted in the future as needed. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* cni: update to the latest pluginsBruce Ashfield2018-07-041-2/+5
| | | | | | | | | | | | Updating the latest plugins. We have to make some minor build adjustments, but otherwise, this is a simple update. We also drop the ptest build, since it is not used and is causing build errors. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* cni: rprovide kubernetes-cniBruce Ashfield2017-10-051-2/+4
| | | | | | | | | Many distros make a 'kubernetes-cni' package available. This is no more than a binary extracted set of 'cni' plugins. We already have 'cni' available in the build system, so we make sure it rprovides kubernetes-cni to keep conflicts and confusion at a minimum. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* containers: CNI: introduce container networking interfaceBruce Ashfield2017-10-021-0/+93
Introducing the CNI framework to allow platforms such as kubernetes + cri-o to use thm for networking configuration. The networking plugins are installed, but are not configured by default to create any specific networking interfaces, which are the responsibility of the image and distribution. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>