mirror of
https://github.com/systemd/systemd.git
synced 2026-08-10 17:14:31 +00:00
network: Add IgnoreDdontFragment= option for Fragmentation control (#28131)
From `ip-link(8)`:
> [no]ignore-df - enables/disables IPv4 DF
suppression on this tunnel. Normally datagrams
that exceed the MTU will be fragmented; the
presence of the DF flag inhibits this, resulting
instead in an ICMP Unreachable (Fragmentation
Required) message. Enabling this attribute causes
the DF flag to be ignored.
If this option is enabled for a GRE/GRETAP tunnel, the `DF` flag in the outer IP header
will not inherit the inner IP header's `DF` flag.
This is useful to transfer packets that exceed the MTU of the underlay
network.
This commit is contained in:
@@ -13,3 +13,4 @@ Local = 172.16.1.200
|
||||
Remote = 172.16.1.100
|
||||
Key=101
|
||||
SerializeTunneledPackets=true
|
||||
IgnoreDontFragment=true
|
||||
|
||||
@@ -8,3 +8,4 @@ Local=10.65.223.238
|
||||
Remote=10.65.223.239
|
||||
Key=106
|
||||
SerializeTunneledPackets=true
|
||||
IgnoreDontFragment=true
|
||||
|
||||
@@ -1796,6 +1796,8 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities):
|
||||
self.assertRegex(output, 'okey 0.0.0.106')
|
||||
self.assertRegex(output, 'iseq')
|
||||
self.assertRegex(output, 'oseq')
|
||||
self.assertIn('nopmtudisc', output)
|
||||
self.assertIn('ignore-df', output)
|
||||
output = check_output('ip -d link show gretap98')
|
||||
print(output)
|
||||
self.assertRegex(output, 'gretap remote 10.65.223.239 local any dev dummy98')
|
||||
@@ -1955,6 +1957,8 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities):
|
||||
self.assertNotIn('erspan_hwid 1f', output)
|
||||
self.assertIn('ikey 0.0.0.101', output)
|
||||
self.assertIn('iseq', output)
|
||||
self.assertIn('nopmtudisc', output)
|
||||
self.assertIn('ignore-df', output)
|
||||
output = check_output('ip -d link show erspan98')
|
||||
print(output)
|
||||
self.assertIn('erspan remote 172.16.1.100 local any', output)
|
||||
|
||||
Reference in New Issue
Block a user