25 lines
358 B
Go
25 lines
358 B
Go
|
package main
|
||
|
|
||
|
import (
|
||
|
"github.com/vishvananda/netlink"
|
||
|
"fmt"
|
||
|
)
|
||
|
|
||
|
// zero value is unspec=all
|
||
|
type Family int
|
||
|
|
||
|
func (f *Family) UnmarshalFlag(value string) error {
|
||
|
switch (value) {
|
||
|
case "inet", "ipv4":
|
||
|
*f = netlink.FAMILY_V4
|
||
|
case "inet6", "ipv6":
|
||
|
*f = netlink.FAMILY_V6
|
||
|
default:
|
||
|
return fmt.Errorf("Invalid --family=%v", value)
|
||
|
}
|
||
|
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
|