summaryrefslogtreecommitdiff
path: root/libpod/network/create.go
diff options
context:
space:
mode:
authorbaude <bbaude@redhat.com>2021-02-02 13:24:14 -0600
committerbaude <bbaude@redhat.com>2021-02-02 13:24:14 -0600
commitbd0e22ed14ca09a7b656f4603c13aac3a4066968 (patch)
treec2ddd23aa6fcd8900e515b37341332e8e5393f40 /libpod/network/create.go
parentd66a18cb11688060a3ef737dd05758398279f053 (diff)
downloadpodman-bd0e22ed14ca09a7b656f4603c13aac3a4066968.tar.gz
podman-bd0e22ed14ca09a7b656f4603c13aac3a4066968.tar.bz2
podman-bd0e22ed14ca09a7b656f4603c13aac3a4066968.zip
Honor network options for macvlan networks
when creating a macvlan network, we should honor gateway, subnet, and mtu as provided by the user. Fixes: #9167 Signed-off-by: baude <bbaude@redhat.com>
Diffstat (limited to 'libpod/network/create.go')
-rw-r--r--libpod/network/create.go15
1 files changed, 14 insertions, 1 deletions
diff --git a/libpod/network/create.go b/libpod/network/create.go
index 88310a79c..deacf487a 100644
--- a/libpod/network/create.go
+++ b/libpod/network/create.go
@@ -249,6 +249,7 @@ func createBridge(name string, options entities.NetworkCreateOptions, runtimeCon
func createMacVLAN(name string, options entities.NetworkCreateOptions, runtimeConfig *config.Config) (string, error) {
var (
+ mtu int
plugins []CNIPlugins
)
liveNetNames, err := GetLiveNetworkNames()
@@ -283,7 +284,19 @@ func createMacVLAN(name string, options entities.NetworkCreateOptions, runtimeCo
}
}
ncList := NewNcList(name, version.Current(), options.Labels)
- macvlan := NewMacVLANPlugin(parentNetworkDevice)
+ if val, ok := options.Options["mtu"]; ok {
+ intVal, err := strconv.Atoi(val)
+ if err != nil {
+ return "", err
+ }
+ if intVal > 0 {
+ mtu = intVal
+ }
+ }
+ macvlan, err := NewMacVLANPlugin(parentNetworkDevice, options.Gateway, &options.Range, &options.Subnet, mtu)
+ if err != nil {
+ return "", err
+ }
plugins = append(plugins, macvlan)
ncList["plugins"] = plugins
b, err := json.MarshalIndent(ncList, "", " ")