2021-08-23 13:14:53 +00:00
|
|
|
//go:build !windows
|
2016-11-04 20:26:50 +00:00
|
|
|
|
|
|
|
package libnetwork
|
|
|
|
|
|
|
|
import "fmt"
|
|
|
|
|
2023-01-12 01:42:24 +00:00
|
|
|
// DriverInfo returns a collection of driver operational data related to this endpoint retrieved from the driver.
|
|
|
|
func (ep *Endpoint) DriverInfo() (map[string]interface{}, error) {
|
2016-11-04 20:26:50 +00:00
|
|
|
ep, err := ep.retrieveFromStore()
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
|
|
|
if sb, ok := ep.getSandbox(); ok {
|
|
|
|
if gwep := sb.getEndpointInGWNetwork(); gwep != nil && gwep.ID() != ep.ID() {
|
|
|
|
return gwep.DriverInfo()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
n, err := ep.getNetworkFromStore()
|
|
|
|
if err != nil {
|
|
|
|
return nil, fmt.Errorf("could not find network in store for driver info: %v", err)
|
|
|
|
}
|
|
|
|
|
|
|
|
driver, err := n.driver(true)
|
|
|
|
if err != nil {
|
|
|
|
return nil, fmt.Errorf("failed to get driver info: %v", err)
|
|
|
|
}
|
|
|
|
|
|
|
|
return driver.EndpointOperInfo(n.ID(), ep.ID())
|
|
|
|
}
|