// Code generated by mockery v2.10.0. DO NOT EDIT.

package mocks

import (
	mock "github.com/stretchr/testify/mock"
	netlink "github.com/vishvananda/netlink"
)

// NetlinkClient is an autogenerated mock type for the NetlinkClient type
type NetlinkClient struct {
	mock.Mock
}

// AddrAdd provides a mock function with given fields: link, addr
func (_m *NetlinkClient) AddrAdd(link netlink.Link, addr *netlink.Addr) error {
	ret := _m.Called(link, addr)

	var r0 error
	if rf, ok := ret.Get(0).(func(netlink.Link, *netlink.Addr) error); ok {
		r0 = rf(link, addr)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// AddrList provides a mock function with given fields: link
func (_m *NetlinkClient) AddrList(link netlink.Link) ([]netlink.Addr, error) {
	ret := _m.Called(link)

	var r0 []netlink.Addr
	if rf, ok := ret.Get(0).(func(netlink.Link) []netlink.Addr); ok {
		r0 = rf(link)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]netlink.Addr)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(netlink.Link) error); ok {
		r1 = rf(link)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// AddrReplace provides a mock function with given fields: link, addr
func (_m *NetlinkClient) AddrReplace(link netlink.Link, addr *netlink.Addr) error {
	ret := _m.Called(link, addr)

	var r0 error
	if rf, ok := ret.Get(0).(func(netlink.Link, *netlink.Addr) error); ok {
		r0 = rf(link, addr)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// LinkAdd provides a mock function with given fields: link
func (_m *NetlinkClient) LinkAdd(link netlink.Link) error {
	ret := _m.Called(link)

	var r0 error
	if rf, ok := ret.Get(0).(func(netlink.Link) error); ok {
		r0 = rf(link)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// LinkByName provides a mock function with given fields: name
func (_m *NetlinkClient) LinkByName(name string) (netlink.Link, error) {
	ret := _m.Called(name)

	var r0 netlink.Link
	if rf, ok := ret.Get(0).(func(string) netlink.Link); ok {
		r0 = rf(name)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(netlink.Link)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(string) error); ok {
		r1 = rf(name)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// LinkDel provides a mock function with given fields: link
func (_m *NetlinkClient) LinkDel(link netlink.Link) error {
	ret := _m.Called(link)

	var r0 error
	if rf, ok := ret.Get(0).(func(netlink.Link) error); ok {
		r0 = rf(link)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// LinkSetDown provides a mock function with given fields: link
func (_m *NetlinkClient) LinkSetDown(link netlink.Link) error {
	ret := _m.Called(link)

	var r0 error
	if rf, ok := ret.Get(0).(func(netlink.Link) error); ok {
		r0 = rf(link)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// LinkSetMTU provides a mock function with given fields: link, mtu
func (_m *NetlinkClient) LinkSetMTU(link netlink.Link, mtu int) error {
	ret := _m.Called(link, mtu)

	var r0 error
	if rf, ok := ret.Get(0).(func(netlink.Link, int) error); ok {
		r0 = rf(link, mtu)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// LinkSetUp provides a mock function with given fields: link
func (_m *NetlinkClient) LinkSetUp(link netlink.Link) error {
	ret := _m.Called(link)

	var r0 error
	if rf, ok := ret.Get(0).(func(netlink.Link) error); ok {
		r0 = rf(link)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}
