endpoint_info_windows.go 906 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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. var gwDriverInfo map[string]interface{}
  10. if sb, ok := ep.getSandbox(); ok {
  11. if gwep := sb.getEndpointInGWNetwork(); gwep != nil && gwep.ID() != ep.ID() {
  12. gwDriverInfo, err = gwep.DriverInfo()
  13. if err != nil {
  14. return nil, err
  15. }
  16. }
  17. }
  18. n, err := ep.getNetworkFromStore()
  19. if err != nil {
  20. return nil, fmt.Errorf("could not find network in store for driver info: %v", err)
  21. }
  22. driver, err := n.driver(true)
  23. if err != nil {
  24. return nil, fmt.Errorf("failed to get driver info: %v", err)
  25. }
  26. epInfo, err := driver.EndpointOperInfo(n.ID(), ep.ID())
  27. if err != nil {
  28. return nil, err
  29. }
  30. if epInfo != nil {
  31. epInfo["GW_INFO"] = gwDriverInfo
  32. return epInfo, nil
  33. }
  34. return gwDriverInfo, nil
  35. }