summaryrefslogtreecommitdiff
path: root/libpod/network/netconflist.go
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2021-02-03 05:00:24 -0500
committerGitHub <noreply@github.com>2021-02-03 05:00:24 -0500
commit97421651d3821a03eab319befdedcf554c31a2f9 (patch)
tree1ed7aba24817c7ad8d57b5d90b272857ab46a610 /libpod/network/netconflist.go
parent881f3d788d48b683e674d1f9778d581370c9c11e (diff)
parentbd0e22ed14ca09a7b656f4603c13aac3a4066968 (diff)
downloadpodman-97421651d3821a03eab319befdedcf554c31a2f9.tar.gz
podman-97421651d3821a03eab319befdedcf554c31a2f9.tar.bz2
podman-97421651d3821a03eab319befdedcf554c31a2f9.zip
Merge pull request #9204 from baude/macvlanextra
Honor network options for macvlan networks
Diffstat (limited to 'libpod/network/netconflist.go')
-rw-r--r--libpod/network/netconflist.go16
1 files changed, 14 insertions, 2 deletions
diff --git a/libpod/network/netconflist.go b/libpod/network/netconflist.go
index ca6a4a70b..9be98e78f 100644
--- a/libpod/network/netconflist.go
+++ b/libpod/network/netconflist.go
@@ -172,19 +172,31 @@ func HasDNSNamePlugin(paths []string) bool {
}
// NewMacVLANPlugin creates a macvlanconfig with a given device name
-func NewMacVLANPlugin(device string) MacVLANConfig {
+func NewMacVLANPlugin(device string, gateway net.IP, ipRange *net.IPNet, subnet *net.IPNet, mtu int) (MacVLANConfig, error) {
i := IPAMDHCP{DHCP: "dhcp"}
+ if gateway != nil || ipRange != nil || subnet != nil {
+ ipam, err := NewIPAMLocalHostRange(subnet, ipRange, gateway)
+ if err != nil {
+ return MacVLANConfig{}, err
+ }
+ ranges := make([][]IPAMLocalHostRangeConf, 0)
+ ranges = append(ranges, ipam)
+ i.Ranges = ranges
+ }
m := MacVLANConfig{
PluginType: "macvlan",
IPAM: i,
}
+ if mtu > 0 {
+ m.MTU = mtu
+ }
// CNI is supposed to use the default route if a
// parent device is not provided
if len(device) > 0 {
m.Master = device
}
- return m
+ return m, nil
}
// IfPassesFilter filters NetworkListReport and returns true if the filter match the given config