summaryrefslogtreecommitdiff
path: root/libpod/network/internal/util/interface.go
blob: 4b01a09b8bc9aefaa3e70af2eaa3351e47fa734b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package util

import "github.com/containers/podman/v3/libpod/network/types"

// This is a helper package to allow code sharing between the different
// network interfaces.

// NetUtil is a helper interface which all network interfaces should implement to allow easy code sharing
type NetUtil interface {
	// ForEach eaxecutes the given function for each network
	ForEach(func(types.Network))
	// Len returns the number of networks
	Len() int
	// DefaultInterfaceName return the default interface name, this will be suffixed by a number
	DefaultInterfaceName() string
	// Network returns the network with the given name or ID.
	// It returns an error if the network is not found
	Network(nameOrID string) (*types.Network, error)
}