Documentation
¶
Index ¶
- Constants
- Variables
- func CreateIPRules(nl Netlinker, rules []*IPRule) error
- type EncapType
- type IPRule
- type Netlink
- func (n Netlink) Close(t *Tunnel, r []*IPRule, rt []*Route)
- func (n Netlink) RouteAdd(r *Route) error
- func (n Netlink) RouteByProtocol(protocol int) ([]*Route, error)
- func (n Netlink) RouteDelete(r *Route) error
- func (n Netlink) RouteGet(ip net.IP) ([]*Route, error)
- func (n Netlink) RuleAdd(r *IPRule) error
- func (n Netlink) RuleDel(r *IPRule) error
- func (n Netlink) RuleGet(r *IPRule) error
- func (n Netlink) TunnelAdd(t *Tunnel) error
- func (n Netlink) TunnelAddrAdd(t *Tunnel, prefix string) error
- func (n Netlink) TunnelDelete(t *Tunnel) error
- func (n Netlink) TunnelGet(t *Tunnel) error
- func (n Netlink) TunnelUp(t *Tunnel) error
- type Netlinker
- type Route
- type Tunnel
Constants ¶
View Source
const ( RouteTableSpecific = 100 RouteTableDefault = 101 )
Variables ¶
View Source
var ( ErrTunnelExists = errors.New("tunnel already exists") ErrAddressExists = errors.New("address already exists") ErrRuleExists = errors.New("ip rule already exists") )
View Source
var ( DzTableSpecific = 100 DzTableDefault = 101 )
Functions ¶
func CreateIPRules ¶
Types ¶
type IPRule ¶
type Netlink ¶
type Netlink struct{}
func (Netlink) RouteDelete ¶
RouteDelete deletes a route from the kernel routing table via netlink.
func (Netlink) TunnelDelete ¶
type Netlinker ¶
type Netlinker interface {
TunnelAdd(*Tunnel) error
TunnelDelete(*Tunnel) error
TunnelAddrAdd(*Tunnel, string) error
TunnelUp(*Tunnel) error
RouteAdd(*Route) error
RouteDelete(*Route) error
RouteGet(net.IP) ([]*Route, error)
RuleAdd(*IPRule) error
RuleDel(*IPRule) error
RouteByProtocol(int) ([]*Route, error)
}
Click to show internal directories.
Click to hide internal directories.