libnetwork_test.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package libnetwork_test
  2. import (
  3. "net"
  4. "os"
  5. "testing"
  6. log "github.com/Sirupsen/logrus"
  7. "github.com/docker/libnetwork"
  8. _ "github.com/docker/libnetwork/drivers/bridge"
  9. "github.com/vishvananda/netlink"
  10. )
  11. var bridgeName = "docker0"
  12. func TestMain(m *testing.M) {
  13. // Cleanup any existing docker0 bridge if needed. Ignore errors
  14. bridge := &netlink.Bridge{LinkAttrs: netlink.LinkAttrs{Name: bridgeName}}
  15. netlink.LinkDel(bridge)
  16. os.Exit(m.Run())
  17. }
  18. func TestSimplebridge(t *testing.T) {
  19. ip, subnet, err := net.ParseCIDR("192.168.100.1/24")
  20. if err != nil {
  21. t.Fatal(err)
  22. }
  23. subnet.IP = ip
  24. ip, cidr, err := net.ParseCIDR("192.168.100.2/28")
  25. if err != nil {
  26. t.Fatal(err)
  27. }
  28. cidr.IP = ip
  29. ip, cidrv6, err := net.ParseCIDR("fe90::1/96")
  30. if err != nil {
  31. t.Fatal(err)
  32. }
  33. cidrv6.IP = ip
  34. log.Debug("Adding a simple bridge")
  35. options := libnetwork.DriverParams{
  36. "BridgeName": bridgeName,
  37. "AddressIPv4": subnet,
  38. "FixedCIDR": cidr,
  39. "FixedCIDRv6": cidrv6,
  40. "EnableIPv6": true,
  41. "EnableIPTables": true,
  42. "EnableIPMasquerade": true,
  43. "EnableICC": true,
  44. "EnableIPForwarding": true}
  45. network, err := libnetwork.NewNetwork("simplebridge", "dummy", options)
  46. if err != nil {
  47. t.Fatal(err)
  48. }
  49. if err := network.Delete(); err != nil {
  50. t.Fatal(err)
  51. }
  52. }