2015-03-20 20:54:49 +00:00
|
|
|
package libnetwork_test
|
|
|
|
|
|
|
|
import (
|
|
|
|
"net"
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
log "github.com/Sirupsen/logrus"
|
|
|
|
"github.com/docker/libnetwork"
|
|
|
|
_ "github.com/docker/libnetwork/drivers/bridge"
|
2015-04-13 18:40:42 +00:00
|
|
|
"github.com/docker/libnetwork/pkg/options"
|
2015-03-20 20:54:49 +00:00
|
|
|
"github.com/vishvananda/netlink"
|
|
|
|
)
|
|
|
|
|
2015-04-15 05:25:42 +00:00
|
|
|
var bridgeName = "dockertest0"
|
2015-04-09 20:48:13 +00:00
|
|
|
|
|
|
|
func TestSimplebridge(t *testing.T) {
|
2015-03-20 20:54:49 +00:00
|
|
|
bridge := &netlink.Bridge{LinkAttrs: netlink.LinkAttrs{Name: bridgeName}}
|
|
|
|
netlink.LinkDel(bridge)
|
|
|
|
|
|
|
|
ip, subnet, err := net.ParseCIDR("192.168.100.1/24")
|
|
|
|
if err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
|
|
|
subnet.IP = ip
|
|
|
|
|
|
|
|
ip, cidr, err := net.ParseCIDR("192.168.100.2/28")
|
|
|
|
if err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
|
|
|
cidr.IP = ip
|
|
|
|
|
|
|
|
ip, cidrv6, err := net.ParseCIDR("fe90::1/96")
|
|
|
|
if err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
|
|
|
cidrv6.IP = ip
|
|
|
|
|
|
|
|
log.Debug("Adding a simple bridge")
|
2015-04-13 18:40:42 +00:00
|
|
|
options := options.Generic{
|
2015-04-15 05:25:42 +00:00
|
|
|
"BridgeName": bridgeName,
|
|
|
|
"AddressIPv4": subnet,
|
|
|
|
"FixedCIDR": cidr,
|
|
|
|
"FixedCIDRv6": cidrv6,
|
|
|
|
"EnableIPv6": true,
|
|
|
|
"EnableIPTables": true,
|
|
|
|
"EnableIPMasquerade": true,
|
|
|
|
"EnableICC": true,
|
|
|
|
"EnableIPForwarding": true,
|
|
|
|
"AllowNonDefaultBridge": true}
|
2015-03-20 20:54:49 +00:00
|
|
|
|
2015-04-13 18:40:42 +00:00
|
|
|
controller := libnetwork.New()
|
|
|
|
|
2015-04-15 05:25:42 +00:00
|
|
|
driver, err := controller.NewNetworkDriver("simplebridge", options)
|
2015-03-20 20:54:49 +00:00
|
|
|
if err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
|
|
|
|
2015-04-15 05:25:42 +00:00
|
|
|
network, err := controller.NewNetwork(driver, "testnetwork", "")
|
|
|
|
if err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
|
|
|
|
|
|
|
ep, _, err := network.CreateEndpoint("testep", "", "")
|
|
|
|
if err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
|
|
|
|
|
|
|
if err := ep.Delete(); err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
|
|
|
|
2015-03-20 20:54:49 +00:00
|
|
|
if err := network.Delete(); err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
|
|
|
}
|