diff options
author | baude <bbaude@redhat.com> | 2021-02-02 13:24:14 -0600 |
---|---|---|
committer | baude <bbaude@redhat.com> | 2021-02-02 13:24:14 -0600 |
commit | bd0e22ed14ca09a7b656f4603c13aac3a4066968 (patch) | |
tree | c2ddd23aa6fcd8900e515b37341332e8e5393f40 /libpod/network/create.go | |
parent | d66a18cb11688060a3ef737dd05758398279f053 (diff) | |
download | podman-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.go | 15 |
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, "", " ") |