diff --git a/common/odp/odp.go b/common/odp/odp.go index de5e7da2..0ea0b8b1 100644 --- a/common/odp/odp.go +++ b/common/odp/odp.go @@ -21,8 +21,13 @@ func CreateDatapath(dpname string) (supported bool, err error) { defer dpif.Close() dp, err := dpif.CreateDatapath(dpname) - if err != nil && !odp.IsDatapathNameAlreadyExistsError(err) { - return true, err + if err != nil { + if !odp.IsDatapathNameAlreadyExistsError(err) { + return true, err + } + if dp, err = dpif.LookupDatapath(dpname); err != nil { + return true, err + } } // Pick an ephemeral port number to use in probing for vxlan