-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This commit creates a dummy interface with the "bottleneck" MTU among our VPN path (currently batadv - see issue #80). Furthermore it creates an iptables DNAT rule which changes the destination IP address of incoming QUIC (UDP 443) packets which exceed the bottleneck MTU to a special IPv4 continuity address which is part of the subnet of the dummy interface. When an oversized QUIC packet arrives, it will thus be routed to the dummy interface which in turn generates an ICMP destination unreachable (fragmentation needed) packet as the packet does not fit the MTU of the dummy interface. The QUIC servers will react to the ICMP packet by changing the PMTU of their UDP sockets according to the maximum MTU advertised in the ICMP message, which is the dummy interface's MTU.
- Loading branch information
Showing
7 changed files
with
35 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
[NetDev] | ||
Name=mtudummy | ||
Kind=dummy | ||
MTUBytes=1298 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
[Match] | ||
Name=mtudummy | ||
|
||
[Network] | ||
Address=192.0.0.2/29 |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,8 @@ | ||
--- | ||
|
||
- name: MTU workaround | ||
include_tasks: mtudummy.yml | ||
|
||
- name: GRE stuff | ||
include_tasks: gre.yml | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
--- | ||
|
||
- name: Create mtudummy.network | ||
notify: Restart networkd | ||
copy: | ||
src: mtudummy.network | ||
dest: /etc/systemd/network/10-mtudummy.network | ||
|
||
- name: Create mtudummy.netdev | ||
notify: Restart networkd | ||
copy: | ||
src: mtudummy.netdev | ||
dest: /etc/systemd/network/10-mtudummy.netdev |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters