diff --git a/govc/test/network.bats b/govc/test/network.bats index fe4935dac..3830d173b 100755 --- a/govc/test/network.bats +++ b/govc/test/network.bats @@ -2,6 +2,19 @@ load test_helper +@test "network dvs" { + vcsim_env + + run govc dvs.create -discovery-protocol cdp -product-version 6.6.0 -mtu 1500 DVS1 + assert_success + + dvs=$(govc object.collect -o -json network/DVS1) + + assert_equal cdp "$(jq -r .config.linkDiscoveryProtocolConfig.protocol <<<"$dvs")" + assert_equal 1500 "$(jq -r .config.maxMtu <<<"$dvs")" + assert_equal 6.6.0 "$(jq -r .summary.productInfo.version <<<"$dvs")" +} + @test "network dvs backing" { vcsim_env diff --git a/simulator/folder.go b/simulator/folder.go index 55fcf0be7..74b9ac604 100644 --- a/simulator/folder.go +++ b/simulator/folder.go @@ -628,6 +628,15 @@ func (f *Folder) CreateDVSTask(ctx *Context, req *types.CreateDVS_Task) soap.Has }, } + if spec, ok := req.Spec.ConfigSpec.(*types.VMwareDVSConfigSpec); ok { + configInfo.LinkDiscoveryProtocolConfig = spec.LinkDiscoveryProtocolConfig + configInfo.MaxMtu = spec.MaxMtu + configInfo.IpfixConfig = spec.IpfixConfig + configInfo.LacpApiVersion = spec.LacpApiVersion + configInfo.MulticastFilteringMode = spec.MulticastFilteringMode + configInfo.NetworkOffloadSpecId = spec.NetworkOffloadSpecId + } + if spec.Contact != nil { configInfo.Contact = *spec.Contact }