@@ -199,8 +199,19 @@ func (driver *driver) createEndpoint(w http.ResponseWriter, r *http.Request) {
199199 ip := create .Interface .Address
200200 Log .Infof ("Got IP from IPAM %s" , ip )
201201
202+ local := vethPair (endID [:5 ])
203+ if err := netlink .LinkAdd (local ); err != nil {
204+ Log .Error (err )
205+ errorResponsef (w , "could not create veth pair" )
206+ return
207+ }
208+ link , _ := netlink .LinkByName (local .PeerName )
209+ mac := link .Attrs ().HardwareAddr .String ()
210+
202211 resp := & api.CreateEndpointResponse {
203- Interface : & api.EndpointInterface {},
212+ Interface : & api.EndpointInterface {
213+ MacAddress : mac ,
214+ },
204215 }
205216
206217 objectResponse (w , resp )
@@ -215,6 +226,12 @@ func (driver *driver) deleteEndpoint(w http.ResponseWriter, r *http.Request) {
215226 return
216227 }
217228 Log .Debugf ("Delete endpoint request: %+v" , & delete )
229+
230+ local := vethPair (delete .EndpointID [:5 ])
231+ if err := netlink .LinkDel (local ); err != nil {
232+ Log .Warningf ("unable to delete veth on leave: %s" , err )
233+ }
234+
218235 emptyResponse (w )
219236 Log .Infof ("Delete endpoint %s" , delete .EndpointID )
220237}
@@ -249,11 +266,6 @@ func (driver *driver) joinEndpoint(w http.ResponseWriter, r *http.Request) {
249266 gatewayIP := FindNetworkGateway (domainid , netID )
250267
251268 local := vethPair (endID [:5 ])
252- if err := netlink .LinkAdd (local ); err != nil {
253- Log .Error (err )
254- errorResponsef (w , "could not create veth pair" )
255- return
256- }
257269
258270 if_local_name := "tap" + endID [:5 ]
259271
@@ -339,11 +351,6 @@ func (driver *driver) leaveEndpoint(w http.ResponseWriter, r *http.Request) {
339351 }
340352 Log .Infof ("output of cmd: %+v\n " , delport .String ())
341353
342- local := vethPair (l .EndpointID [:5 ])
343- if err := netlink .LinkDel (local ); err != nil {
344- Log .Warningf ("unable to delete veth on leave: %s" , err )
345- }
346-
347354 RemoveMetaconfig (domainid , bridgeID , l .EndpointID )
348355
349356 emptyResponse (w )
0 commit comments