8 "github.com/docker/libnetwork/osl"
11 func validateID(nid, eid string) error {
13 return fmt.Errorf("invalid network id")
17 return fmt.Errorf("invalid endpoint id")
23 func createVxlan(name string, vni uint32, mtu int) error {
24 defer osl.InitOSContext()()
26 // Get default interface to plumb the vxlan on
27 routeCmd := "/usr/sbin/ipadm show-addr -p -o addrobj " +
28 "`/usr/sbin/route get default | /usr/bin/grep interface | " +
29 "/usr/bin/awk '{print $2}'`"
30 out, err := exec.Command("/usr/bin/bash", "-c", routeCmd).Output()
32 return fmt.Errorf("cannot get default route: %v", err)
35 defaultInterface := strings.SplitN(string(out), "/", 2)
36 propList := fmt.Sprintf("interface=%s,vni=%d", defaultInterface[0], vni)
38 out, err = exec.Command("/usr/sbin/dladm", "create-vxlan", "-t", "-p", propList,
41 return fmt.Errorf("error creating vxlan interface: %v %s", err, out)
47 func deleteInterfaceBySubnet(brPrefix string, s *subnet) error {
52 func deleteInterface(name string) error {
53 defer osl.InitOSContext()()
55 out, err := exec.Command("/usr/sbin/dladm", "delete-vxlan", name).Output()
57 return fmt.Errorf("error creating vxlan interface: %v %s", err, out)