mirror of
https://github.com/tailscale/tailscale.git
synced 2024-11-26 03:25:35 +00:00
95635857dc
Replace CanPMTUD() with ShouldPMTUD() to check if peer path MTU discovery should be enabled, in preparation for adding support for enabling/disabling peer MTU dynamically. Updated #311 Signed-off-by: Val <valerie@tailscale.com>
47 lines
1.3 KiB
Go
47 lines
1.3 KiB
Go
// Copyright (c) Tailscale Inc & AUTHORS
|
|
// SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
//go:build (!linux && !darwin) || android || ios
|
|
|
|
package magicsock
|
|
|
|
import (
|
|
"errors"
|
|
)
|
|
|
|
// setDontFragment sets the don't fragment sockopt on the underlying connection
|
|
// specified by network, which must be "udp4" or "udp6". See
|
|
// https://datatracker.ietf.org/doc/html/rfc3542#section-11.2 for details on
|
|
// IPv6 fragmentation.
|
|
//
|
|
// Return values:
|
|
// - an error if peer MTU is not supported on this OS
|
|
// - errNoActiveUDP if the underlying connection is not UDP
|
|
// - otherwise, the result of setting the don't fragment bit
|
|
func (c *Conn) setDontFragment(network string, enable bool) error {
|
|
return errors.New("peer path MTU discovery not supported on this OS")
|
|
}
|
|
|
|
// getDontFragment gets the don't fragment setting on the underlying connection
|
|
// specified by network, which must be "udp4" or "udp6". Returns true if the
|
|
// underlying connection is UDP and the don't fragment bit is set, otherwise
|
|
// false.
|
|
func (c *Conn) getDontFragment(network string) (bool, error) {
|
|
return false, nil
|
|
}
|
|
|
|
func (c *Conn) DontFragSetting() (bool, error) {
|
|
return false, nil
|
|
}
|
|
|
|
func (c *Conn) ShouldPMTUD() bool {
|
|
return false
|
|
}
|
|
|
|
func (c *Conn) PeerMTUEnabled() bool {
|
|
return false
|
|
}
|
|
|
|
func (c *Conn) UpdatePMTUD() {
|
|
}
|