mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
fd43ee1323
- Maps 1 to 1 with container's networking stack - It holds container's specific nw options which before were incorrectly owned by Endpoint. - Sandbox creation no longer coupled with Endpoint Join, sandbox and endpoint have now separate lifecycle. - LeaveAll naturally replaced by Sandbox.Delete - some pkg and file renaming in order to have clear mapping between structure name and entity ("sandbox") - Revisited hosts and resolv.conf handling - Removed from JoinInfo interface capability of setting hosts and resolv.conf paths - Changed etchosts.Build() to first write the search domains and then the nameservers Signed-off-by: Alessandro Boch <aboch@docker.com>
70 lines
1.6 KiB
Go
70 lines
1.6 KiB
Go
package null
|
|
|
|
import (
|
|
"sync"
|
|
|
|
"github.com/docker/libnetwork/driverapi"
|
|
"github.com/docker/libnetwork/types"
|
|
)
|
|
|
|
const networkType = "null"
|
|
|
|
type driver struct {
|
|
network string
|
|
sync.Mutex
|
|
}
|
|
|
|
// Init registers a new instance of null driver
|
|
func Init(dc driverapi.DriverCallback) error {
|
|
c := driverapi.Capability{
|
|
Scope: driverapi.LocalScope,
|
|
}
|
|
return dc.RegisterDriver(networkType, &driver{}, c)
|
|
}
|
|
|
|
func (d *driver) Config(option map[string]interface{}) error {
|
|
return nil
|
|
}
|
|
|
|
func (d *driver) CreateNetwork(id string, option map[string]interface{}) error {
|
|
d.Lock()
|
|
defer d.Unlock()
|
|
|
|
if d.network != "" {
|
|
return types.ForbiddenErrorf("only one instance of \"%s\" network is allowed", networkType)
|
|
}
|
|
|
|
d.network = id
|
|
|
|
return nil
|
|
}
|
|
|
|
func (d *driver) DeleteNetwork(nid string) error {
|
|
return types.ForbiddenErrorf("network of type \"%s\" cannot be deleted", networkType)
|
|
}
|
|
|
|
func (d *driver) CreateEndpoint(nid, eid string, epInfo driverapi.EndpointInfo, epOptions map[string]interface{}) error {
|
|
return nil
|
|
}
|
|
|
|
func (d *driver) DeleteEndpoint(nid, eid string) error {
|
|
return nil
|
|
}
|
|
|
|
func (d *driver) EndpointOperInfo(nid, eid string) (map[string]interface{}, error) {
|
|
return make(map[string]interface{}, 0), nil
|
|
}
|
|
|
|
// Join method is invoked when a Sandbox is attached to an endpoint.
|
|
func (d *driver) Join(nid, eid string, sboxKey string, jinfo driverapi.JoinInfo, options map[string]interface{}) error {
|
|
return nil
|
|
}
|
|
|
|
// Leave method is invoked when a Sandbox detaches from an endpoint.
|
|
func (d *driver) Leave(nid, eid string) error {
|
|
return nil
|
|
}
|
|
|
|
func (d *driver) Type() string {
|
|
return networkType
|
|
}
|