| package osl | |
| import "net" | |
| func (nh *neigh) processNeighOptions(options ...NeighOption) { | |
| for _, opt := range options { | |
| if opt != nil { | |
| opt(nh) | |
| } | |
| } | |
| } | |
| func (n *networkNamespace) LinkName(name string) NeighOption { | |
| return func(nh *neigh) { | |
| nh.linkName = name | |
| } | |
| } | |
| func (n *networkNamespace) Family(family int) NeighOption { | |
| return func(nh *neigh) { | |
| nh.family = family | |
| } | |
| } | |
| func (i *nwIface) processInterfaceOptions(options ...IfaceOption) { | |
| for _, opt := range options { | |
| if opt != nil { | |
| opt(i) | |
| } | |
| } | |
| } | |
| func (n *networkNamespace) Bridge(isBridge bool) IfaceOption { | |
| return func(i *nwIface) { | |
| i.bridge = isBridge | |
| } | |
| } | |
| func (n *networkNamespace) Master(name string) IfaceOption { | |
| return func(i *nwIface) { | |
| i.master = name | |
| } | |
| } | |
| func (n *networkNamespace) MacAddress(mac net.HardwareAddr) IfaceOption { | |
| return func(i *nwIface) { | |
| i.mac = mac | |
| } | |
| } | |
| func (n *networkNamespace) Address(addr *net.IPNet) IfaceOption { | |
| return func(i *nwIface) { | |
| i.address = addr | |
| } | |
| } | |
| func (n *networkNamespace) AddressIPv6(addr *net.IPNet) IfaceOption { | |
| return func(i *nwIface) { | |
| i.addressIPv6 = addr | |
| } | |
| } | |
| func (n *networkNamespace) LinkLocalAddresses(list []*net.IPNet) IfaceOption { | |
| return func(i *nwIface) { | |
| i.llAddrs = list | |
| } | |
| } | |
| func (n *networkNamespace) Routes(routes []*net.IPNet) IfaceOption { | |
| return func(i *nwIface) { | |
| i.routes = routes | |
| } | |
| } |