1775 Commits

Author SHA1 Message Date
SilverBut
2bebd89aa2 dhcp ipam: support customizing dhcp options
Signed-off-by: SilverBut <SilverBut@users.noreply.github.com>
2021-10-02 22:48:05 +08:00
SilverBut
be383cf30d dhcp ipam: truncate client id to 254 bytes
Signed-off-by: SilverBut <SilverBut@users.noreply.github.com>
2021-10-02 22:41:05 +08:00
SilverBut
6d1f71e55a dhcp ipam: print error correctly without format string
Signed-off-by: SilverBut <SilverBut@users.noreply.github.com>
2021-10-02 22:40:44 +08:00
SilverBut
24259e7d21 dhcp ipam: using full config to regular the code
Signed-off-by: SilverBut <SilverBut@users.noreply.github.com>
2021-10-02 22:40:19 +08:00
Piotr Skamruk
c16cff9805 Allow setting sysctls on a particular interface
Signed-off-by: Piotr Skamruk <piotr.skamruk@gmail.com>
2021-10-01 18:09:40 +02:00
SilverBut
7cb3453c36 dhcp: remove implemented TODO
Signed-off-by: SilverBut <SilverBut@users.noreply.github.com>
2021-09-30 13:10:45 +00:00
Dan Williams
2a9114d1af
Merge pull request #665 from edef1c/filepath-clean
Don't redundantly filepath.Clean the output of filepath.Join
2021-09-29 10:35:48 -05:00
Matt Dupre
2c46a72680
Merge pull request #664 from edef1c/rand-read
Use crypto/rand.Read, not crypto.Reader.Read
2021-09-22 09:08:01 -07:00
edef
ceb34eb2e6 Don't redundantly filepath.Clean the output of filepath.Join
filepath.Join is already specified to clean its output,
and the implementation indeed does so.

Signed-off-by: edef <edef@edef.eu>
2021-09-17 14:12:46 +00:00
edef
90c018566c Use crypto/rand.Read, not crypto.Reader.Read
The current code accidentally ignores partial reads, since it doesn't
check the return value of (io.Reader).Read.

What we actually want is io.ReadFull(rand.Reader, buf), which is
conveniently provided by rand.Read(buf).

Signed-off-by: edef <edef@edef.eu>
2021-09-17 13:30:14 +00:00
Bruce Ma
a6b5412c55
Merge pull request #638 from maiqueb/fix-confusing-error-msg-invalid-cidr
Fix confusing error msg invalid cidr
2021-09-16 17:47:05 +08:00
Edward Haas
081ed44a1d bridge: Add macspoofchk support
The new macspoofchk field is added to the bridge plugin to support
anti-mac-spoofing.
When the parameter is enabled, traffic is limited to the mac addresses
of the container interface (the veth peer that is placed in the
container ns).
Any traffic that exits the pod is checked against the source mac address
that is expected. If the mac address is different, the frames are
dropped.

The implementation is using nftables and should only be used on nodes
that support it.

Signed-off-by: Edward Haas <edwardh@redhat.com>
2021-09-14 12:46:15 +03:00
Dan Williams
189d0c06aa
Merge pull request #661 from squeed/firewall-version
plugins: fix bug where support for CNI version 0.4.0 or 1.0.0 was dropped
v1.0.1
2021-09-07 09:24:23 -05:00
Casey Callendrello
ba48f8a659 plugins: fix bug where support for CNI version 0.4.0 or 1.0.0 was dropped
Signed-off-by: Casey Callendrello <cdc@redhat.com>
2021-09-07 15:48:16 +02:00
Casey Callendrello
62952ffdac vendor: bump to libcni v1.0.1
Signed-off-by: Casey Callendrello <cdc@redhat.com>
2021-09-07 15:43:54 +02:00
Miguel Duarte Barroso
8ab23366fb static ipam: do not parse the CIDR twice
With this patch, when the IPs are provisioned via CNI args or via
`RuntimeConfig` the CIDR is only parsed once.

Signed-off-by: Miguel Duarte Barroso <mdbarroso@redhat.com>
2021-08-24 13:19:37 +02:00
Miguel Duarte Barroso
2052c30acd static ipam: improve error msgs when provisioning invalid CIDR
This commit addresses the scenarios when the invalid CIDR is
provisioned via:
- CNI_ARGS
- RuntimeConfig

Signed-off-by: Miguel Duarte Barroso <mdbarroso@redhat.com>
2021-08-24 13:05:44 +02:00
Casey Callendrello
8632ace977
Merge pull request #649 from squeed/libcni-1.0
libcni v1.0 bumps, dependency updates
v1.0.0
2021-08-11 17:39:33 +02:00
Casey Callendrello
156e59ccd1 bump go to 1.16, other misc fixes
- add selinux relabling to release.sh
- use same go version in root

Signed-off-by: Casey Callendrello <cdc@redhat.com>
2021-08-11 17:26:35 +02:00
Casey Callendrello
0818512c7a vendor: bump all direct dependencies
Just good hygiene.

Signed-off-by: Casey Callendrello <cdc@redhat.com>
2021-08-10 14:55:43 +02:00
Casey Callendrello
9b1666d489 vendor: bump to libcni v1.0
Signed-off-by: Casey Callendrello <cdc@redhat.com>
2021-08-10 14:55:43 +02:00
Casey Callendrello
7995c2d934
Merge pull request #651 from tnir/tnir/bridge/promiscuous
bridge: Fix typo in error message for promiscuous mode
2021-08-10 14:55:21 +02:00
Casey Callendrello
0e64b0f8c2
Merge pull request #650 from tnir/actions-badge
Update the CI badge from Travis CI to GitHub Actions
2021-08-10 14:42:49 +02:00
Takuya Noguchi
0e38a1d0c0 docs: Update the CI badge from Travis CI to GitHub Actions
cf. https://github.com/containernetworking/plugins/pull/555

Signed-off-by: Takuya Noguchi <takninnovationresearch@gmail.com>
2021-08-09 09:47:39 +00:00
Takuya Noguchi
24b3fbc635 bridge: Fix typo in error message for promiscuous mode
Signed-off-by: Takuya Noguchi <takninnovationresearch@gmail.com>
2021-08-09 09:46:38 +00:00
Dan Williams
649e0181fe
Merge pull request #645 from dcbw/veth-peer-to-host-ns
ip: place veth peer in host namspace directly
2021-07-27 13:59:05 -05:00
Dan Williams
a49f908168 ip: place veth peer in host namspace directly
Instead of moving the host side of the veth peer into the host
network namespace later, just create it in the host namespace
directly.

Signed-off-by: Dan Williams <dcbw@redhat.com>
2021-07-21 09:59:11 -05:00
Dan Williams
f14ff6687a
Merge pull request #636 from EdDev/bridge-mac-specification
bridge: Add mac field to specify container iface mac
2021-06-30 10:57:09 -05:00
Dan Williams
eddf2f2386
Merge pull request #633 from squeed/remove-flannel
plugins: remove flannel
2021-06-30 10:18:30 -05:00
Edward Haas
a3cde17fc0 bridge: Add mac field to specify container iface mac
Controlling the mac address of the interface (veth peer) in the
container is useful for functionalities that depend on the mac address.
Examples range from dynamic IP allocations based on an identifier (the
mac) and up to firewall rules (e.g. no-mac-spoofing).

Enforcing a mac address at an early stage and not through a chained
plugin assures the configuration does not have wrong intermediate
configuration. This is especially critical when a dynamic IP may be
provided already in this period.
But it also has implications for future abilities that may land on the
bridge plugin, e.g. supporting no-mac-spoofing.

The field name used (`mac`) fits with other plugins which control the
mac address of the container interface.

The mac address may be specified through the following methods:
- CNI_ARGS
- Args
- RuntimeConfig [1]

The list is ordered by priority, from lowest to higher. The higher
priority method overrides any previous settings.
(e.g. if the mac is specified in RuntimeConfig, it will override any
specifications of the mac mentioned in CNI_ARGS or Args)

[1] To use RuntimeConfig, the network configuration should include the
`capabilities` field with `mac` specified (`"capabilities": {"mac": true}`).

Signed-off-by: Edward Haas <edwardh@redhat.com>
2021-06-29 10:50:19 +03:00
Miguel Duarte Barroso
a786b12b68 static ipam: decide wrong cidr error msg
Signed-off-by: Miguel Duarte Barroso <mdbarroso@redhat.com>
2021-06-25 11:24:56 +01:00
Miguel Duarte Barroso
0db5882a12 static ipam: stop wrapping net.ParseCIDR errors
Signed-off-by: Miguel Duarte Barroso <mdbarroso@redhat.com>
2021-06-25 11:24:56 +01:00
Miguel Duarte Barroso
5a408187d4 static ipam: show confusing error msg
Signed-off-by: Miguel Duarte Barroso <mdbarroso@redhat.com>
2021-06-25 11:24:54 +01:00
Casey Callendrello
2876cd5476
Merge pull request #635 from EdDev/cleanup-hwaddr-util
Cleanup unused code
2021-06-16 17:42:31 +02:00
Edward Haas
2f9917ebed utils, hwaddr: Remove unused package
Signed-off-by: Edward Haas <edwardh@redhat.com>
2021-06-07 16:22:31 +03:00
Edward Haas
272f15420d ip, link_linux: Remove unused SetHWAddrByIP function
Signed-off-by: Edward Haas <edwardh@redhat.com>
2021-06-07 15:59:41 +03:00
Casey Callendrello
77233dd79d plugins: remove flannel
Now that the flannel CNI plugin has been moved to
https://github.com/flannel-io/cni-plugin, we should remove it from here.

Signed-off-by: Casey Callendrello <cdc@redhat.com>
2021-06-02 17:38:32 +02:00
Dan Williams
5238c13aa9
Merge pull request #617 from thxCode/refactor_win_bridge
refactor(windows): win-bridge
2021-06-02 10:36:45 -05:00
thxcode
4b180a9d9c refactor(win-bridge): netconf
- support v2 api
- unify v1 and v2 api

BREAKING CHANGE:
- remove `HcnPolicyArgs` field
- merge `HcnPolicyArgs` into `Policies` field

Signed-off-by: thxcode <thxcode0824@gmail.com>
2021-05-27 23:49:16 +08:00
thxcode
9215e60986 refactor(win-bridge): hcn api processing
Signed-off-by: thxcode <thxcode0824@gmail.com>
2021-05-27 23:14:11 +08:00
thxcode
93a55036b1 refactor(win-bridge): hns api processing
Signed-off-by: thxcode <thxcode0824@gmail.com>
2021-05-27 23:14:11 +08:00
thxcode
aa8c8c1489 chore(win-bridge): location related
- group functions by HNS,HCN

Signed-off-by: thxcode <thxcode0824@gmail.com>
2021-05-27 23:14:11 +08:00
thxcode
ec75bb8587 chore(win-bridge): text related
- format function names
- add/remove comments
- adjust message of error

Signed-off-by: thxcode <thxcode0824@gmail.com>
2021-05-27 23:14:11 +08:00
Dan Williams
78702e9d8a
Merge pull request #631 from containernetworking/remove-bryan
Remove Bryan Boreham as maintainer
2021-05-26 10:39:16 -05:00
Bryan Boreham
c4d4aa7d92 Remove Bryan Boreham as maintainer
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2021-05-21 13:13:36 +00:00
Dan Williams
6618a0aba8
Merge pull request #623 from anuragensemble/multi-ip-intf
Add multi IP support for SBR
2021-05-19 10:33:40 -05:00
Dan Williams
fc2a8805b4
Merge pull request #628 from franciosi/origin/patch-1
Small typo improves in README.md
2021-05-19 10:16:38 -05:00
Casey Callendrello
d1b9c90914
Merge pull request #630 from mars1024/feat/host-local-ips
host-local: support ip/prefix in env args and CNI args
2021-05-19 11:16:15 -04:00
Bruce Ma
af26bab500 host-local: support ip/prefix in env args and CNI args
Signed-off-by: Bruce Ma <brucema19901024@gmail.com>
2021-05-17 21:12:45 +08:00
Anurag Dwivedi
f72aa98629 [sbr]: Use different tableID for every ipCfg
Check tableID not in use for every ipCfg

       This allows SBR plugin to accommodate for multi-ip interfaces

       Fixes #581

Signed-off-by: Anurag Dwivedi <anuragensemble1@gmail.com>
2021-05-15 19:33:58 +05:30