I am using Jetson Orin Developer kit and wanted to use ethernet Jumbo Frame (say 9000 bytes).
I can modify ethernet MTU by following commands. This works!
nvidia@linux:~$ ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1466
inet 192.168.5.33 netmask 255.255.255.0 broadcast 192.168.5.255
inet6 2409:10:c860:1200:4ab0:2dff:fe78:aab0 prefixlen 64 scopeid 0x0<global>
inet6 2409:10:c860:1200:b1dc:ca06:a77e:ecbc prefixlen 64 scopeid 0x0<global>
inet6 fe80::4ab0:2dff:fe78:aab0 prefixlen 64 scopeid 0x20<link>
ether 48:b0:2d:78:aa:b0 txqueuelen 1000 (Ethernet)
RX packets 25778 bytes 27786578 (27.7 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 9790 bytes 2173639 (2.1 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
nvidia@linux:~$ sudo ifconfig eth0 down
nvidia@linux:~$ sudo ifconfig eth0 mtu 9000
nvidia@linux:~$ sudo ifconfig eth0 up
nvidia@linux:~$ ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 8966
inet 192.168.5.33 netmask 255.255.255.0 broadcast 192.168.5.255
inet6 fe80::ce3a:848f:27a4:5e96 prefixlen 64 scopeid 0x20<link>
inet6 2409:10:c860:1200:288e:b94c:4f1d:71d6 prefixlen 64 scopeid 0x0<global>
inet6 2409:10:c860:1200:df41:4086:4beb:f4e6 prefixlen 64 scopeid 0x0<global>
ether 48:b0:2d:78:aa:b0 txqueuelen 1000 (Ethernet)
RX packets 28928 bytes 28081195 (28.0 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 10695 bytes 2295835 (2.2 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
nvidia@linux:~$ ping www.google.com
PING www.google.com(nrt12s51-in-x04.1e100.net (2404:6800:4004:801::2004)) 56 data bytes
64 bytes from nrt12s02-in-x04.1e100.net (2404:6800:4004:801::2004): icmp_seq=1 ttl=116 time=365 ms
64 bytes from nrt12s02-in-x04.1e100.net (2404:6800:4004:801::2004): icmp_seq=2 ttl=116 time=6.07 ms
64 bytes from nrt12s02-in-x04.1e100.net (2404:6800:4004:801::2004): icmp_seq=3 ttl=116 time=5.47 ms
64 bytes from nrt12s02-in-x04.1e100.net (2404:6800:4004:801::2004): icmp_seq=4 ttl=58 time=5.60 ms
64 bytes from nrt12s02-in-x04.1e100.net (2404:6800:4004:801::2004): icmp_seq=5 ttl=58 time=5.42 ms
^C
--- www.google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 5.418/77.580/365.346/143.883 ms
nvidia@linux:~$
But I couldn’t modify ethernet MTU by Desktop GUI by changing ‘Wired connection 1’ NetworkManager default profile.
Why this happen and how to resolve this???
I observed: (1) from Journalctl
nvidia@linux:~$ journalctl | grep NetworkManager | tail -20
May 17 02:37:15 linux NetworkManager[408]: <warn> [1652780235.3626] platform-linux: do-change-link[3]: failure changing link: failure 16 (Device or resource busy)
May 17 02:37:15 linux NetworkManager[408]: <warn> [1652780235.3631] device (eth0): mtu: failure to set IPv6 MTU
May 17 02:37:47 linux NetworkManager[408]: <warn> [1652780267.4144] platform-linux: do-change-link[3]: failure changing link: failure 16 (Device or resource busy)
May 17 02:37:47 linux NetworkManager[408]: <warn> [1652780267.4148] device (eth0): mtu: failure to set IPv6 MTU
May 17 02:38:14 linux NetworkManager[408]: <warn> [1652780294.6524] platform-linux: do-change-link[3]: failure changing link: failure 16 (Device or resource busy)
May 17 02:38:14 linux NetworkManager[408]: <warn> [1652780294.6529] device (eth0): mtu: failure to set IPv6 MTU
and also from (2) dmesg
nvidia@linux:/etc/NetworkManager$ dmesg | grep eth0
[ 8.585344] nvethernet 6810000.ethernet: eth0 (HW ver: 31) created with 10 DMA channels
[ 14.317128] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 14.337702] nvethernet 6810000.ethernet eth0: must be stopped to change its MTU
[ 14.340952] nvethernet 6810000.ethernet eth0: must be stopped to change its MTU
[ 15.371132] nvethernet 6810000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[ 15.549994] nvethernet 6810000.ethernet eth0: must be stopped to change its MTU
[ 24.008825] nvethernet 6810000.ethernet eth0: must be stopped to change its MTU
[ 24.015327] nvethernet 6810000.ethernet eth0: must be stopped to change its MTU
[ 32.212684] nvethernet 6810000.ethernet eth0: must be stopped to change its MTU
[ 33.324136] nvethernet 6810000.ethernet eth0: must be stopped to change its MTU
[ 40.297927] nvethernet 6810000.ethernet eth0: must be stopped to change its MTU
[ 40.309546] nvethernet 6810000.ethernet eth0: must be stopped to change its MTU
[ 67.013590] nvethernet 6810000.ethernet eth0: must be stopped to change its MTU
[ 100.806595] nvethernet 6810000.ethernet eth0: must be stopped to change its MTU
This means , you should once down the “nvethrnet” driver before modifying MTU but NetworkManager GUI does not care about it.
Any suggestions?