"cniVersion": "0.2.0",
"name": "macvlan0",
"type": "macvlan",
- "master": "em1",
+ "master": "eth1p0",
"args" : {
"org.apache.mesos" : {
"network_info" : {
{ "key" : "mccKey1", "value" : "mccVal1" },
{ "key" : "bs", "value" : "bsVal" },
{ "key" : "StaticIP", "value" : "172.19.0.209" },
- { "key" : "viaIP", "value" : "eth1p0" },
+ { "key" : "Uplink", "value" : "eth1p0" },
+ { "key" : "viaIP", "value" : "172.19.0.1" },
{ "key" : "mccKey2", "value" : "mccVal2" },
{ "key" : "env", "value" : "prod" }
]
#/bin/bash
export DEBUG=1
export NETCONFPATH=/etc/cni/net.d/
-#export CNI_PATH=/home/mcambria/go/src/github.com/containernetworking/cni/bin/
-export CNI_PATH=/home/mcambria/go2/src/stash.verizon.com/cni/bin
+export CNI_PATH=/home/mcambria/go/src/github.com/containernetworking/cni/bin/
+#export CNI_PATH=/home/mcambria/go2/src/stash.verizon.com/cni/bin
export NETCONFPATH=${NETCONFPATH-/etc/cni/net.d}
export CNI_COMMAND=ADD
export CNI_NETNS=/var/run/netns/mcc-cni-test0
#/bin/bash
export DEBUG=1
export NETCONFPATH=/etc/cni/net.d/
-#export CNI_PATH=/home/mcambria/go/src/github.com/containernetworking/cni/bin/
-export CNI_PATH=/home/mcambria/go2/src/stash.verizon.com/cni/bin
+export CNI_PATH=/home/mcambria/go/src/github.com/containernetworking/cni/bin/
+#export CNI_PATH=/home/mcambria/go2/src/stash.verizon.com/cni/bin
export NETCONFPATH=${NETCONFPATH-/etc/cni/net.d}
export CNI_COMMAND=DEL
export CNI_NETNS=/var/run/netns/mcc-cni-test0
return nil, nil, err
}
- //gw := advertise_route
+ viaIP := a.conf.Args.VIAIP
route := netlink.Route{
Dst: dst,
LinkIndex: link.Attrs().Index,
- // Gw: gw
+ Gw: viaIP,
}
if err := netlink.RouteAdd(&route); err != nil {
return err
}
- // gw := advertise_route
+ viaIP := a.conf.Args.VIAIP
route := netlink.Route{
Dst: dst,
LinkIndex: link.Attrs().Index,
- //Gw: gw
+ Gw: viaIP,
}
if err := netlink.RouteDel(&route); err != nil {
type IPAMArgs struct {
types.CommonArgs
IP net.IP `json:"ip,omitempty"`
+ VIAIP net.IP `json:"viaip,omitempty"`
UPLINK types.UnmarshallableString `json:"uplink,omitempty"`
}
println("Map k (for)", k, label.Key, label.Value)
}
- println("CNI Args: Net Name: ", n.ARGS.Mesos.NetworkInfo.Name)
+ println("CNI Args NetworkInfo: Net Name: ", n.ARGS.Mesos.NetworkInfo.Name)
}
for key, value := range labels {
log.Println("IPAM args: n.IPAM.IP is:", args_ip)
}
+ var via_ip net.IP
+ if n.IPAM.Args.VIAIP != nil {
+ via_ip = n.IPAM.Args.VIAIP
+ log.Println("IPAM args: n.IPAM.VIAIP is:", via_ip)
+ }
+
var uplink types.UnmarshallableString
if n.IPAM.Args.UPLINK != "" {
uplink = n.IPAM.Args.UPLINK
if found {
println("viaIP is: ", viaIP)
log.Println("viaIP is: ", viaIP)
- n.IPAM.Args.UPLINK= types.UnmarshallableString(viaIP)
- log.Println("IPAM args: n.IPAM.UPLINK is:", n.IPAM.Args.UPLINK)
+ n.IPAM.Args.VIAIP = net.ParseIP(viaIP)
+ log.Println("IPAM args: n.IPAM.VIAIP is:", n.IPAM.Args.VIAIP)
} else {
println("viaIP label NOT set")
- }
-
+ }
+ Uplink, found := labels["Uplink"]
+ if found {
+ println("Uplink is: ", Uplink)
+ log.Println("Uplink is: ", Uplink)
+ n.IPAM.Args.UPLINK= types.UnmarshallableString(Uplink)
+ log.Println("IPAM args: n.IPAM.UPLINK is:", n.IPAM.Args.UPLINK)
+ } else {
+ println("Uplink label NOT set")
+ }
bull, found := labels["bull"]
if !found {