package netlink import ( "fmt" "net" "github.com/vishvananda/netlink/nl" ) // Rule represents a netlink rule. type Rule struct { *nl.RtMsg Priority int Table int Mark int Mask int TunID uint Goto int Src *net.IPNet Dst *net.IPNet Flow int IifName string OifName string SuppressIfgroup int SuppressPrefixlen int } func (r Rule) String() string { return fmt.Sprintf("ip rule %d: from %s table %d", r.Priority, r.Src, r.Table) } // NewRule return empty rules. func NewRule() *Rule { return &Rule{ SuppressIfgroup: -1, SuppressPrefixlen: -1, Priority: -1, Mark: -1, Mask: -1, Goto: -1, Flow: -1, } }