conn.go 951 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package udp
  2. import (
  3. "github.com/slackhq/nebula/config"
  4. "github.com/slackhq/nebula/firewall"
  5. "github.com/slackhq/nebula/header"
  6. )
  7. const MTU = 9001
  8. type EncReader func(
  9. addr *Addr,
  10. out []byte,
  11. packet []byte,
  12. header *header.H,
  13. fwPacket *firewall.Packet,
  14. lhh LightHouseHandlerFunc,
  15. nb []byte,
  16. q int,
  17. localCache firewall.ConntrackCache,
  18. )
  19. type Conn interface {
  20. Rebind() error
  21. LocalAddr() (*Addr, error)
  22. ListenOut(r EncReader, lhf LightHouseHandlerFunc, cache *firewall.ConntrackCacheTicker, q int)
  23. WriteTo(b []byte, addr *Addr) error
  24. ReloadConfig(c *config.C)
  25. }
  26. type NoopConn struct{}
  27. func (NoopConn) Rebind() error {
  28. return nil
  29. }
  30. func (NoopConn) LocalAddr() (*Addr, error) {
  31. return nil, nil
  32. }
  33. func (NoopConn) ListenOut(_ EncReader, _ LightHouseHandlerFunc, _ *firewall.ConntrackCacheTicker, _ int) {
  34. return
  35. }
  36. func (NoopConn) WriteTo(_ []byte, _ *Addr) error {
  37. return nil
  38. }
  39. func (NoopConn) ReloadConfig(_ *config.C) {
  40. return
  41. }