MCPcopy Create free account
hub / github.com/PasarGuard/node / cleanupExistingInterface

Method cleanupExistingInterface

backend/wireguard/manager.go:281–298  ·  view source on GitHub ↗

cleanupExistingInterface removes existing interface if it exists

()

Source from the content-addressed store, hash-verified

279
280// cleanupExistingInterface removes existing interface if it exists
281func (m *Manager) cleanupExistingInterface() error {
282 nl := m.getNetlinkOps()
283 link, err := nl.LinkByName(m.iFaceName)
284 if err != nil {
285 // Interface doesn't exist, no need to clean up.
286 var notFoundErr netlink.LinkNotFoundError
287 if errors.As(err, &notFoundErr) {
288 return nil
289 }
290 return fmt.Errorf("link lookup: %w", err)
291 }
292
293 if err := nl.LinkDel(link); err != nil {
294 return fmt.Errorf("link delete: %w", wrapPermissionDeniedError("deleting wireguard interface", err))
295 }
296
297 return nil
298}
299
300// GetInterfaceStats returns RX/TX statistics for the interface
301func (m *Manager) GetInterfaceStats() (rxBytes, txBytes int64, err error) {

Callers 3

InitializeWithPeersMethod · 0.95
CloseMethod · 0.95

Calls 4

getNetlinkOpsMethod · 0.95
LinkByNameMethod · 0.65
LinkDelMethod · 0.65