mirror of
https://github.com/systemd/systemd.git
synced 2024-12-28 11:21:59 +03:00
networkd: sit-tunnel add support for pmtudisc
This patch adds path of mtu discovery for sit tunnel. To enable/disable DiscoverPathMTU is introduced. Example configuration file: sit.netdev [NetDev] Name=sit-tun Kind=sit MTUBytes=1480 [Tunnel] DiscoverPathMTU=1 Local=X.X.X.X Remote=X.X.X.X By default pmtudisc is turned on , if DiscoverPathMTU is missing from the config. To turn it off DiscoverPathMTU=0 needs to be set.
This commit is contained in:
parent
8bb088c5d4
commit
a9f434cf00
@ -29,4 +29,5 @@ Tunnel.Local, config_parse_tunnel_address, 0,
|
||||
Tunnel.Remote, config_parse_tunnel_address, 0, offsetof(NetDev, tunnel_remote)
|
||||
Tunnel.TOS, config_parse_unsigned, 0, offsetof(NetDev, tunnel_tos)
|
||||
Tunnel.TTL, config_parse_unsigned, 0, offsetof(NetDev, tunnel_ttl)
|
||||
Tunnel.DiscoverPathMTU, config_parse_bool, 0, offsetof(NetDev, tunnel_pmtudisc)
|
||||
Peer.Name, config_parse_ifname, 0, offsetof(NetDev, ifname_peer)
|
||||
|
@ -545,6 +545,7 @@ static int netdev_load_one(Manager *manager, const char *filename) {
|
||||
netdev->kind = _NETDEV_KIND_INVALID;
|
||||
netdev->macvlan_mode = _NETDEV_MACVLAN_MODE_INVALID;
|
||||
netdev->vlanid = VLANID_MAX + 1;
|
||||
netdev->tunnel_pmtudisc = true;
|
||||
|
||||
r = config_parse(NULL, filename, file, "Match\0NetDev\0VLAN\0MACVLAN\0Tunnel\0Peer\0",
|
||||
config_item_perf_lookup, (void*) network_netdev_gperf_lookup,
|
||||
|
@ -207,6 +207,14 @@ static int netdev_fill_sit_rtnl_message(Link *link, sd_rtnl_message *m) {
|
||||
return r;
|
||||
}
|
||||
|
||||
r = sd_rtnl_message_append_u8(m, IFLA_IPTUN_PMTUDISC, netdev->tunnel_pmtudisc);
|
||||
if (r < 0) {
|
||||
log_error_netdev(netdev,
|
||||
"Could not append IFLA_IPTUN_PMTUDISC attribute: %s",
|
||||
strerror(-r));
|
||||
return r;
|
||||
}
|
||||
|
||||
r = sd_rtnl_message_close_container(m);
|
||||
if (r < 0) {
|
||||
log_error_netdev(netdev,
|
||||
|
@ -109,6 +109,7 @@ struct NetDev {
|
||||
int ifindex;
|
||||
NetDevState state;
|
||||
|
||||
bool tunnel_pmtudisc;
|
||||
unsigned tunnel_ttl;
|
||||
unsigned tunnel_tos;
|
||||
struct in_addr tunnel_local;
|
||||
|
Loading…
Reference in New Issue
Block a user