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