endpoint_info_unix.go 655 B

123456789101112131415161718192021222324252627282930
  1. // +build !windows
  2. package libnetwork
  3. import "fmt"
  4. func (ep *endpoint) DriverInfo() (map[string]interface{}, error) {
  5. ep, err := ep.retrieveFromStore()
  6. if err != nil {
  7. return nil, err
  8. }
  9. if sb, ok := ep.getSandbox(); ok {
  10. if gwep := sb.getEndpointInGWNetwork(); gwep != nil && gwep.ID() != ep.ID() {
  11. return gwep.DriverInfo()
  12. }
  13. }
  14. n, err := ep.getNetworkFromStore()
  15. if err != nil {
  16. return nil, fmt.Errorf("could not find network in store for driver info: %v", err)
  17. }
  18. driver, err := n.driver(true)
  19. if err != nil {
  20. return nil, fmt.Errorf("failed to get driver info: %v", err)
  21. }
  22. return driver.EndpointOperInfo(n.ID(), ep.ID())
  23. }