The maximum MTU value of 10000 is too low for USB Ethernet, which has a maximum (for Linux USB gadgets) of 15412 bytes (although the upper limit is the USB wMaxPacketSize which goes up to 4294967295 bytes): linux/drivers/usb/gadget/function/u_ether.c:#define GETHER_MAX_MTU_SIZE 15412 Multiple Intel NICs can use an MTU of 16110 bytes: linux/drivers/net/ethernet/intel/e1000/e1000_hw.h:#define MAX_JUMBO_FRAME_SIZE 0x3F00 linux/drivers/net/ethernet/intel/e1000e/defines.h:#define MAX_JUMBO_FRAME_SIZE 0x3F00 linux/drivers/net/ethernet/intel/igbvf/defines.h:#define MAX_JUMBO_FRAME_SIZE 0x3F00 The NetworkManager limit is 4294967295 bytes but this is unreasonable in a typical enivornment because of the memory required for packets of that size. The maximum IPv4 and IPv6 (without using Jumbograms) packet size is 65535 bytes so increase the maximum MTU value to 65536 allow full size IP packets to be used. There is a corresponding change in network-manager-applet.
275 lines
13 KiB
XML
275 lines
13 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<interface>
|
|
<requires lib="gtk" version="4.0"/>
|
|
<requires lib="libhandy" version="0.0"/>
|
|
<template class="CEPageWireguard" parent="GtkBox">
|
|
<child>
|
|
<object class="GtkScrolledWindow">
|
|
<property name="hscrollbar_policy">never</property>
|
|
<child>
|
|
<object class="GtkViewport">
|
|
<child>
|
|
<object class="GtkGrid" id="main_box">
|
|
<property name="margin-start">24</property>
|
|
<property name="margin-end">24</property>
|
|
<property name="margin-top">24</property>
|
|
<property name="margin-bottom">24</property>
|
|
<property name="orientation">vertical</property>
|
|
<property name="row-spacing">6</property>
|
|
<property name="column-spacing">6</property>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="label" translatable="yes">_Connection Name</property>
|
|
<property name="use-underline">True</property>
|
|
<property name="halign">end</property>
|
|
<layout>
|
|
<property name="column">0</property>
|
|
<property name="row">0</property>
|
|
</layout>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkEntry" id="entry_conname">
|
|
<signal name="changed" handler="ce_page_changed" object="CEPageWireguard" swapped="yes"/>
|
|
<layout>
|
|
<property name="column">1</property>
|
|
<property name="row">0</property>
|
|
</layout>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="halign">end</property>
|
|
<property name="hexpand">0</property>
|
|
<property name="label" translatable="1">_Interface Name</property>
|
|
<property name="use-underline">1</property>
|
|
<layout>
|
|
<property name="column">0</property>
|
|
<property name="row">1</property>
|
|
</layout>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkEntry" id="entry_ifname">
|
|
<property name="tooltip-text" translatable="1">The name of the wireguard interface to create.</property>
|
|
<property name="hexpand">1</property>
|
|
<signal name="changed" handler="ce_page_changed" object="CEPageWireguard" swapped="yes"/>
|
|
<layout>
|
|
<property name="column">1</property>
|
|
<property name="row">1</property>
|
|
</layout>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="halign">end</property>
|
|
<property name="label" translatable="1">_Private Key</property>
|
|
<property name="use-underline">1</property>
|
|
<layout>
|
|
<property name="column">0</property>
|
|
<property name="row">2</property>
|
|
</layout>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkEntry" id="entry_private_key">
|
|
<property name="tooltip-text" translatable="1">The 256 bit private key in base64 encoding</property>
|
|
<property name="visibility">0</property>
|
|
<property name="invisible-char">●</property>
|
|
<property name="truncate-multiline">1</property>
|
|
<property name="secondary-icon-name">dialog-password</property>
|
|
<property name="secondary-icon-tooltip-text" translatable="1">Show/hide private key</property>
|
|
<signal name="changed" handler="ce_page_changed" object="CEPageWireguard" swapped="yes"/>
|
|
<layout>
|
|
<property name="column">1</property>
|
|
<property name="row">2</property>
|
|
</layout>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="halign">end</property>
|
|
<property name="hexpand">0</property>
|
|
<property name="label" translatable="1">_Listen Port</property>
|
|
<property name="use-underline">1</property>
|
|
<layout>
|
|
<property name="column">0</property>
|
|
<property name="row">3</property>
|
|
</layout>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkSpinButton" id="spin_listen_port">
|
|
<property name="width-request">5</property>
|
|
<property name="tooltip-text" translatable="1">A port to listen on. If set to 'automatic', the port will be chosen randomly when the interface comes up.</property>
|
|
<property name="text" translatable="1">0</property>
|
|
<property name="adjustment">
|
|
<object class="GtkAdjustment">
|
|
<property name="upper">65535</property>
|
|
<property name="value">51820</property>
|
|
<property name="step-increment">1</property>
|
|
<property name="page-increment">1000</property>
|
|
</object>
|
|
</property>
|
|
<property name="climb-rate">1</property>
|
|
<signal name="changed" handler="ce_page_changed" object="CEPageWireguard" swapped="yes"/>
|
|
<layout>
|
|
<property name="column">1</property>
|
|
<property name="row">3</property>
|
|
</layout>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="halign">end</property>
|
|
<property name="hexpand">0</property>
|
|
<property name="label" translatable="1">_fwmark</property>
|
|
<property name="use-underline">1</property>
|
|
<layout>
|
|
<property name="column">0</property>
|
|
<property name="row">4</property>
|
|
</layout>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkSpinButton" id="spin_fwmark">
|
|
<property name="width-request">10</property>
|
|
<property name="tooltip-text" translatable="1">A 32-bit fwmark for outgoing packets. Leave it to 'off' to disable fwmark.</property>
|
|
<property name="text" translatable="1">0</property>
|
|
<property name="adjustment">
|
|
<object class="GtkAdjustment">
|
|
<property name="upper">4294967295</property>
|
|
<property name="step-increment">1</property>
|
|
<property name="page-increment">10</property>
|
|
</object>
|
|
</property>
|
|
<property name="climb-rate">1</property>
|
|
<signal name="changed" handler="ce_page_changed" object="CEPageWireguard" swapped="yes"/>
|
|
<layout>
|
|
<property name="column">1</property>
|
|
<property name="row">4</property>
|
|
</layout>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="halign">end</property>
|
|
<property name="hexpand">0</property>
|
|
<property name="label" translatable="1">_MTU</property>
|
|
<property name="use-underline">1</property>
|
|
<layout>
|
|
<property name="column">0</property>
|
|
<property name="row">5</property>
|
|
</layout>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkSpinButton" id="spin_mtu">
|
|
<property name="width-request">15</property>
|
|
<property name="adjustment">
|
|
<object class="GtkAdjustment">
|
|
<property name="upper">65536</property>
|
|
<property name="step-increment">1</property>
|
|
<property name="page-increment">10</property>
|
|
</object>
|
|
</property>
|
|
<property name="climb-rate">1</property>
|
|
<signal name="changed" handler="ce_page_changed" object="CEPageWireguard" swapped="yes"/>
|
|
<layout>
|
|
<property name="column">1</property>
|
|
<property name="row">5</property>
|
|
</layout>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="halign">start</property>
|
|
<property name="label" translatable="1">bytes</property>
|
|
<property name="justify">fill</property>
|
|
<layout>
|
|
<property name="column">2</property>
|
|
<property name="row">5</property>
|
|
</layout>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkCheckButton" id="checkbutton_peer_routes">
|
|
<property name="label" translatable="1">_Add peer routes</property>
|
|
<property name="halign">start</property>
|
|
<property name="use-underline">1</property>
|
|
<signal name="toggled" handler="ce_page_changed" object="CEPageWireguard" swapped="yes"/>
|
|
<layout>
|
|
<property name="column">1</property>
|
|
<property name="row">6</property>
|
|
</layout>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="orientation">vertical</property>
|
|
<property name="spacing">6</property>
|
|
<layout>
|
|
<property name="row">7</property>
|
|
<property name="column">0</property>
|
|
<property name="column-span">3</property>
|
|
</layout>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="margin-top">12</property>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="hexpand">1</property>
|
|
<property name="label" translatable="1">_Peers</property>
|
|
<property name="use-underline">1</property>
|
|
<property name="xalign">0</property>
|
|
<attributes>
|
|
<attribute name="weight" value="bold"></attribute>
|
|
</attributes>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkButton" id="button_add_peer">
|
|
<property name="receives-default">1</property>
|
|
<property name="icon-name">list-add-symbolic</property>
|
|
<accessibility>
|
|
<property name="label" translatable="Yes">Add WireGuard peer</property>
|
|
</accessibility>
|
|
<style>
|
|
<class name="flat" />
|
|
</style>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkFrame">
|
|
<child>
|
|
<object class="GtkBox" id="peers_box">
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkListBox" id="empty_listbox">
|
|
<property name="selection-mode">none</property>
|
|
<style>
|
|
<class name="boxed-list" />
|
|
</style>
|
|
<child>
|
|
<object class="AdwActionRow">
|
|
<property name="title" translatable="1">No peers set up</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</template>
|
|
</interface>
|