Browse Source

Added null driver support for handling --net=none and -n=false cases

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
Jana Radhakrishnan 10 years ago
parent
commit
d684600cdf
2 changed files with 42 additions and 1 deletions
  1. 2 1
      libnetwork/drivers.go
  2. 40 0
      libnetwork/drivers/null/null.go

+ 2 - 1
libnetwork/drivers.go

@@ -3,6 +3,7 @@ package libnetwork
 import (
 	"github.com/docker/libnetwork/driverapi"
 	"github.com/docker/libnetwork/drivers/bridge"
+	"github.com/docker/libnetwork/drivers/null"
 )
 
 type driverTable map[string]driverapi.Driver
@@ -10,7 +11,7 @@ type driverTable map[string]driverapi.Driver
 func enumerateDrivers() driverTable {
 	drivers := make(driverTable)
 
-	for _, fn := range [](func() (string, driverapi.Driver)){bridge.New} {
+	for _, fn := range [](func() (string, driverapi.Driver)){bridge.New, null.New} {
 		name, driver := fn()
 		drivers[name] = driver
 	}

+ 40 - 0
libnetwork/drivers/null/null.go

@@ -0,0 +1,40 @@
+package null
+
+import (
+	"github.com/docker/libnetwork/driverapi"
+	"github.com/docker/libnetwork/sandbox"
+	"github.com/docker/libnetwork/types"
+)
+
+const networkType = "null"
+
+type driver struct{}
+
+// New provides a new instance of null driver
+func New() (string, driverapi.Driver) {
+	return networkType, &driver{}
+}
+
+func (d *driver) Config(option interface{}) error {
+	return nil
+}
+
+func (d *driver) CreateNetwork(id types.UUID, option interface{}) error {
+	return nil
+}
+
+func (d *driver) DeleteNetwork(nid types.UUID) error {
+	return nil
+}
+
+func (d *driver) CreateEndpoint(nid, eid types.UUID, epOptions interface{}) (*sandbox.Info, error) {
+	return nil, nil
+}
+
+func (d *driver) DeleteEndpoint(nid, eid types.UUID) error {
+	return nil
+}
+
+func (d *driver) Type() string {
+	return networkType
+}