github.com/tonistiigi/docker@v0.10.1-0.20240229224939-974013b0dc6a/libnetwork/endpoint_info_unix.go (about) 1 //go:build !windows 2 3 package libnetwork 4 5 import "fmt" 6 7 // DriverInfo returns a collection of driver operational data related to this endpoint retrieved from the driver. 8 func (ep *Endpoint) DriverInfo() (map[string]interface{}, error) { 9 ep, err := ep.retrieveFromStore() 10 if err != nil { 11 return nil, err 12 } 13 14 if sb, ok := ep.getSandbox(); ok { 15 if gwep := sb.getEndpointInGWNetwork(); gwep != nil && gwep.ID() != ep.ID() { 16 return gwep.DriverInfo() 17 } 18 } 19 20 n, err := ep.getNetworkFromStore() 21 if err != nil { 22 return nil, fmt.Errorf("could not find network in store for driver info: %v", err) 23 } 24 25 driver, err := n.driver(true) 26 if err != nil { 27 return nil, fmt.Errorf("failed to get driver info: %v", err) 28 } 29 30 return driver.EndpointOperInfo(n.ID(), ep.ID()) 31 }