Validate that the bridge option is supported

Thanks Luap99 for the validation suggestion

Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
This commit is contained in:
Anders F Björklund
2020-11-26 18:05:00 +01:00
parent de2b15f4d5
commit db70e91bde
2 changed files with 26 additions and 7 deletions

View File

@ -173,14 +173,26 @@ func createBridge(name string, options entities.NetworkCreateOptions, runtimeCon
ipMasq = false
}
mtu, err := parseMTU(options.Options["mtu"])
if err != nil {
return "", err
}
var mtu int
var vlan int
for k, v := range options.Options {
var err error
switch k {
case "mtu":
mtu, err = parseMTU(v)
if err != nil {
return "", err
}
vlan, err := parseVlan(options.Options["vlan"])
if err != nil {
return "", err
case "vlan":
vlan, err = parseVlan(v)
if err != nil {
return "", err
}
default:
return "", errors.Errorf("unsupported option %s", k)
}
}
// obtain host bridge name

View File

@ -355,4 +355,11 @@ var _ = Describe("Podman network create", func() {
Expect(nc.OutputToString()).To(ContainSubstring(`"vlan": 9`))
})
It("podman network create with invalid option", func() {
net := "invalid-test"
nc := podmanTest.Podman([]string{"network", "create", "--opt", "foo=bar", net})
nc.WaitWithDefaultTimeout()
Expect(nc).To(ExitWithError())
})
})