| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package udp
- import (
- "net/netip"
- "github.com/slackhq/nebula/config"
- )
- const MTU = 9001
- type EncReader func(
- addr netip.AddrPort,
- payload []byte,
- )
- type Conn interface {
- Rebind() error
- LocalAddr() (netip.AddrPort, error)
- ListenOut(r EncReader) error
- WriteTo(b []byte, addr netip.AddrPort) error
- ReloadConfig(c *config.C)
- SupportsMultipleReaders() bool
- // EnablePathMTUDiscovery sets the don't-fragment bit on outgoing packets for
- // this socket. Called by the pmtud manager when PMTUD is enabled. A no-op on
- // platforms that don't support it; nebula's default behavior (no DF, kernel
- // fragmentation allowed) is preserved on those platforms and on this one when
- // PMTUD is disabled.
- EnablePathMTUDiscovery() error
- Close() error
- }
- type NoopConn struct{}
- func (NoopConn) Rebind() error {
- return nil
- }
- func (NoopConn) LocalAddr() (netip.AddrPort, error) {
- return netip.AddrPort{}, nil
- }
- func (NoopConn) ListenOut(_ EncReader) error {
- return nil
- }
- func (NoopConn) SupportsMultipleReaders() bool {
- return false
- }
- func (NoopConn) WriteTo(_ []byte, _ netip.AddrPort) error {
- return nil
- }
- func (NoopConn) ReloadConfig(_ *config.C) {
- return
- }
- func (NoopConn) EnablePathMTUDiscovery() error {
- return nil
- }
- func (NoopConn) Close() error {
- return nil
- }
|