동일한 물리적 이더넷 장치에서 여러 MACVLAN 장치를 생성하는 사용 사례가 있습니다. 또한 일부 MACVLAN은 점보 패킷(MTU=9215)을 제공할 수 있어야 하지만 일부 MACVLAN은 점보 패킷을 허용하지 않고 작은 프레임만 지원해야 합니다. 물리적 장치에 대해 MTU=9000을 예약하고 필요한 MACVLAN 장치를 생성했습니다. MACVLAN 장치의 기본 MTU는 9000이며 점보 프레임을 처리할 때 제대로 작동합니다(점보 패킷으로 ping을 통해 테스트됨). 그러나 MACVLan의 MTU를 1500으로 변경했는데 여전히 점보 프레임에서 잘 작동했습니다. 아래 예에서는 MACVLAN이 하나만 표시됩니다.
$ ip link add K9AT9i1G2x link eth6 type macvlan mode bridge
$ ip link set dev K9AT9i1G2x mtu 1500
$ ip a
123: eth6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP group default qlen 1000
link/ether 00:60:16:a6:90:3a brd ff:ff:ff:ff:ff:ff
inet6 fe80::260:16ff:fea6:903a/64 scope link
valid_lft forever preferred_lft forever
129: K9AT9i1G2x@eth6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether ba:c7:36:3f:9a:76 brd ff:ff:ff:ff:ff:ff
inet 192.168.15.40/21 scope global K9AT9i1G2x
valid_lft forever preferred_lft forever
inet6 fe80::b8c7:36ff:fe3f:9a76/64 scope link
valid_lft forever preferred_lft forever
macvlan 장치의 MTU가 1500으로 설정되어 있어도 다음 ping이 작동합니다.
# ping -c 3 -M do -s 8972 192.168.15.40
PING 192.168.15.40 (192.168.15.40) 8972(9000) bytes of data.
8980 bytes from 192.168.15.40: icmp_seq=1 ttl=64 time=27.0 ms
8980 bytes from 192.168.15.40: icmp_seq=2 ttl=64 time=0.955 ms
8980 bytes from 192.168.15.40: icmp_seq=3 ttl=64 time=5.33 ms
--- 192.168.15.40 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.955/11.098/27.009/11.391 ms
이 경우 더 작은 패킷 전송을 제한하는 방법을 누군가 제안할 수 있습니까?