1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

Merge pull request #2302 from thaJeztah/vxlan_locking

Use sync.RWMutex for VXLANUDPPort
This commit is contained in:
Flavio Crisciani 2019-01-03 11:12:26 -08:00 committed by GitHub
commit 25949f1470

View file

@ -7,8 +7,8 @@ import (
)
var (
mutex sync.RWMutex
vxlanUDPPort uint32
mutex sync.Mutex
)
const defaultVXLANUDPPort = 4789
@ -19,8 +19,6 @@ func init() {
// ConfigVXLANUDPPort configures vxlan udp port number.
func ConfigVXLANUDPPort(vxlanPort uint32) error {
mutex.Lock()
defer mutex.Unlock()
// if the value comes as 0 by any reason we set it to default value 4789
if vxlanPort == 0 {
vxlanPort = defaultVXLANUDPPort
@ -33,14 +31,15 @@ func ConfigVXLANUDPPort(vxlanPort uint32) error {
if vxlanPort < 1024 || vxlanPort > 49151 {
return fmt.Errorf("ConfigVxlanUDPPort Vxlan UDP port number is not in valid range %d", vxlanPort)
}
mutex.Lock()
vxlanUDPPort = vxlanPort
mutex.Unlock()
return nil
}
// VXLANUDPPort returns Vxlan UDP port number
func VXLANUDPPort() uint32 {
mutex.Lock()
defer mutex.Unlock()
mutex.RLock()
defer mutex.RUnlock()
return vxlanUDPPort
}