device.go 411 B

123456789101112131415161718192021
  1. package overlay
  2. import (
  3. "io"
  4. "net/netip"
  5. "github.com/slackhq/nebula/routing"
  6. )
  7. type Device interface {
  8. io.ReadWriteCloser
  9. Activate() error
  10. Networks() []netip.Prefix
  11. UnsafeNetworks() []netip.Prefix
  12. UnsafeIPv4OriginAddress() netip.Prefix
  13. SNATAddress() netip.Prefix
  14. Name() string
  15. RoutesFor(netip.Addr) routing.Gateways
  16. SupportsMultiqueue() bool
  17. NewMultiQueueReader() (io.ReadWriteCloser, error)
  18. }