diff --git a/cmd/gluetun/main.go b/cmd/gluetun/main.go index 3e67e885..a5c3a66b 100644 --- a/cmd/gluetun/main.go +++ b/cmd/gluetun/main.go @@ -531,7 +531,7 @@ type netLinker interface { type Addresser interface { AddrList(link netlink.Link, family int) ( addresses []netlink.Addr, err error) - AddrAdd(link netlink.Link, addr *netlink.Addr) error + AddrReplace(link netlink.Link, addr *netlink.Addr) error } type Router interface { diff --git a/internal/netlink/address.go b/internal/netlink/address.go index 245c2f58..cabf74f2 100644 --- a/internal/netlink/address.go +++ b/internal/netlink/address.go @@ -9,6 +9,6 @@ func (n *NetLink) AddrList(link Link, family int) ( return netlink.AddrList(link, family) } -func (n *NetLink) AddrAdd(link Link, addr *Addr) error { - return netlink.AddrAdd(link, addr) +func (n *NetLink) AddrReplace(link Link, addr *Addr) error { + return netlink.AddrReplace(link, addr) } diff --git a/internal/routing/mocks_test.go b/internal/routing/mocks_test.go index fa3faf4c..23e73cd4 100644 --- a/internal/routing/mocks_test.go +++ b/internal/routing/mocks_test.go @@ -34,20 +34,6 @@ func (m *MockNetLinker) EXPECT() *MockNetLinkerMockRecorder { return m.recorder } -// AddrAdd mocks base method. -func (m *MockNetLinker) AddrAdd(arg0 netlink.Link, arg1 *netlink.Addr) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "AddrAdd", arg0, arg1) - ret0, _ := ret[0].(error) - return ret0 -} - -// AddrAdd indicates an expected call of AddrAdd. -func (mr *MockNetLinkerMockRecorder) AddrAdd(arg0, arg1 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddrAdd", reflect.TypeOf((*MockNetLinker)(nil).AddrAdd), arg0, arg1) -} - // AddrList mocks base method. func (m *MockNetLinker) AddrList(arg0 netlink.Link, arg1 int) ([]netlink.Addr, error) { m.ctrl.T.Helper() @@ -63,6 +49,20 @@ func (mr *MockNetLinkerMockRecorder) AddrList(arg0, arg1 interface{}) *gomock.Ca return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddrList", reflect.TypeOf((*MockNetLinker)(nil).AddrList), arg0, arg1) } +// AddrReplace mocks base method. +func (m *MockNetLinker) AddrReplace(arg0 netlink.Link, arg1 *netlink.Addr) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "AddrReplace", arg0, arg1) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddrReplace indicates an expected call of AddrReplace. +func (mr *MockNetLinkerMockRecorder) AddrReplace(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddrReplace", reflect.TypeOf((*MockNetLinker)(nil).AddrReplace), arg0, arg1) +} + // IsWireguardSupported mocks base method. func (m *MockNetLinker) IsWireguardSupported() (bool, error) { m.ctrl.T.Helper() diff --git a/internal/routing/routing.go b/internal/routing/routing.go index 0a254655..14020e4b 100644 --- a/internal/routing/routing.go +++ b/internal/routing/routing.go @@ -18,7 +18,7 @@ type NetLinker interface { type Addresser interface { AddrList(link netlink.Link, family int) ( addresses []netlink.Addr, err error) - AddrAdd(link netlink.Link, addr *netlink.Addr) error + AddrReplace(link netlink.Link, addr *netlink.Addr) error } type Router interface { diff --git a/internal/vpn/interfaces.go b/internal/vpn/interfaces.go index 26c9239a..a77748f5 100644 --- a/internal/vpn/interfaces.go +++ b/internal/vpn/interfaces.go @@ -42,7 +42,7 @@ type Storage interface { } type NetLinker interface { - AddrAdd(link netlink.Link, addr *netlink.Addr) error + AddrReplace(link netlink.Link, addr *netlink.Addr) error Router Ruler Linker diff --git a/internal/wireguard/address.go b/internal/wireguard/address.go index 32914e28..e4aa748a 100644 --- a/internal/wireguard/address.go +++ b/internal/wireguard/address.go @@ -20,7 +20,7 @@ func (w *Wireguard) addAddresses(link netlink.Link, IPNet: routing.NetipPrefixToIPNet(&ipNet), } - err = w.netlink.AddrAdd(link, address) + err = w.netlink.AddrReplace(link, address) if err != nil { return fmt.Errorf("%w: when adding address %s to link %s", err, address, link.Attrs().Name) diff --git a/internal/wireguard/address_test.go b/internal/wireguard/address_test.go index 7382a419..9964e461 100644 --- a/internal/wireguard/address_test.go +++ b/internal/wireguard/address_test.go @@ -40,10 +40,10 @@ func Test_Wireguard_addAddresses(t *testing.T) { wgBuilder: func(ctrl *gomock.Controller, link netlink.Link) *Wireguard { netLinker := NewMockNetLinker(ctrl) firstCall := netLinker.EXPECT(). - AddrAdd(link, &netlink.Addr{IPNet: routing.NetipPrefixToIPNet(&ipNetOne)}). + AddrReplace(link, &netlink.Addr{IPNet: routing.NetipPrefixToIPNet(&ipNetOne)}). Return(nil) netLinker.EXPECT(). - AddrAdd(link, &netlink.Addr{IPNet: routing.NetipPrefixToIPNet(&ipNetTwo)}). + AddrReplace(link, &netlink.Addr{IPNet: routing.NetipPrefixToIPNet(&ipNetTwo)}). Return(nil).After(firstCall) return &Wireguard{ netlink: netLinker, @@ -59,7 +59,7 @@ func Test_Wireguard_addAddresses(t *testing.T) { wgBuilder: func(ctrl *gomock.Controller, link netlink.Link) *Wireguard { netLinker := NewMockNetLinker(ctrl) netLinker.EXPECT(). - AddrAdd(link, &netlink.Addr{IPNet: routing.NetipPrefixToIPNet(&ipNetOne)}). + AddrReplace(link, &netlink.Addr{IPNet: routing.NetipPrefixToIPNet(&ipNetOne)}). Return(errDummy) return &Wireguard{ netlink: netLinker, @@ -76,10 +76,10 @@ func Test_Wireguard_addAddresses(t *testing.T) { wgBuilder: func(ctrl *gomock.Controller, link netlink.Link) *Wireguard { netLinker := NewMockNetLinker(ctrl) firstCall := netLinker.EXPECT(). - AddrAdd(link, &netlink.Addr{IPNet: routing.NetipPrefixToIPNet(&ipNetOne)}). + AddrReplace(link, &netlink.Addr{IPNet: routing.NetipPrefixToIPNet(&ipNetOne)}). Return(nil) netLinker.EXPECT(). - AddrAdd(link, &netlink.Addr{IPNet: routing.NetipPrefixToIPNet(&ipNetTwo)}). + AddrReplace(link, &netlink.Addr{IPNet: routing.NetipPrefixToIPNet(&ipNetTwo)}). Return(errDummy).After(firstCall) return &Wireguard{ netlink: netLinker, diff --git a/internal/wireguard/netlinker.go b/internal/wireguard/netlinker.go index 07817c68..9c80d3e5 100644 --- a/internal/wireguard/netlinker.go +++ b/internal/wireguard/netlinker.go @@ -5,7 +5,7 @@ import "github.com/qdm12/gluetun/internal/netlink" //go:generate mockgen -destination=netlinker_mock_test.go -package wireguard . NetLinker type NetLinker interface { - AddrAdd(link netlink.Link, addr *netlink.Addr) error + AddrReplace(link netlink.Link, addr *netlink.Addr) error Router Ruler Linker diff --git a/internal/wireguard/netlinker_mock_test.go b/internal/wireguard/netlinker_mock_test.go index 1bed2ca0..c041fadb 100644 --- a/internal/wireguard/netlinker_mock_test.go +++ b/internal/wireguard/netlinker_mock_test.go @@ -34,18 +34,18 @@ func (m *MockNetLinker) EXPECT() *MockNetLinkerMockRecorder { return m.recorder } -// AddrAdd mocks base method. -func (m *MockNetLinker) AddrAdd(arg0 netlink.Link, arg1 *netlink.Addr) error { +// AddrReplace mocks base method. +func (m *MockNetLinker) AddrReplace(arg0 netlink.Link, arg1 *netlink.Addr) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "AddrAdd", arg0, arg1) + ret := m.ctrl.Call(m, "AddrReplace", arg0, arg1) ret0, _ := ret[0].(error) return ret0 } -// AddrAdd indicates an expected call of AddrAdd. -func (mr *MockNetLinkerMockRecorder) AddrAdd(arg0, arg1 interface{}) *gomock.Call { +// AddrReplace indicates an expected call of AddrReplace. +func (mr *MockNetLinkerMockRecorder) AddrReplace(arg0, arg1 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddrAdd", reflect.TypeOf((*MockNetLinker)(nil).AddrAdd), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddrReplace", reflect.TypeOf((*MockNetLinker)(nil).AddrReplace), arg0, arg1) } // IsWireguardSupported mocks base method.