func (i *testInterface) SetMacAddress(mac net.HardwareAddr) error { if i.mac != nil { return types.ForbiddenErrorf("endpoint interface MAC address present (%s). Cannot be modified with %s.", i.mac, mac) } if mac == nil { return types.BadRequestErrorf("tried to set nil MAC address to endpoint interface") } i.mac = types.GetMacCopy(mac) return nil }
func (ep *endpoint) AddInterface(mac net.HardwareAddr, ipv4 net.IPNet, ipv6 net.IPNet) error { ep.Lock() defer ep.Unlock() iface := &endpointInterface{ addr: *types.GetIPNetCopy(&ipv4), addrv6: *types.GetIPNetCopy(&ipv6), } iface.mac = types.GetMacCopy(mac) ep.iface = iface return nil }
func (epi *endpointInterface) CopyTo(dstEpi *endpointInterface) error { dstEpi.mac = types.GetMacCopy(epi.mac) dstEpi.addr = types.GetIPNetCopy(epi.addr) dstEpi.addrv6 = types.GetIPNetCopy(epi.addrv6) dstEpi.srcName = epi.srcName dstEpi.dstPrefix = epi.dstPrefix dstEpi.poolID = epi.poolID for _, route := range epi.routes { dstEpi.routes = append(dstEpi.routes, types.GetIPNetCopy(route)) } return nil }
func (epi *endpointInterface) CopyTo(dstEpi *endpointInterface) error { dstEpi.mac = types.GetMacCopy(epi.mac) dstEpi.addr = types.GetIPNetCopy(epi.addr) dstEpi.addrv6 = types.GetIPNetCopy(epi.addrv6) dstEpi.srcName = epi.srcName dstEpi.dstPrefix = epi.dstPrefix dstEpi.v4PoolID = epi.v4PoolID dstEpi.v6PoolID = epi.v6PoolID if len(epi.llAddrs) != 0 { dstEpi.llAddrs = make([]*net.IPNet, 0, len(epi.llAddrs)) for _, ll := range epi.llAddrs { dstEpi.llAddrs = append(dstEpi.llAddrs, ll) } } for _, route := range epi.routes { dstEpi.routes = append(dstEpi.routes, types.GetIPNetCopy(route)) } return nil }
func (epi *endpointInterface) MacAddress() net.HardwareAddr { return types.GetMacCopy(epi.mac) }
func (i *nwIface) MacAddress() net.HardwareAddr { i.Lock() defer i.Unlock() return types.GetMacCopy(i.mac) }
func (ep *endpoint) MacAddress() net.HardwareAddr { return types.GetMacCopy(ep.mac) }