Open loshihyu opened 6 years ago
I think this MTU value can be fixed as 16536 (max value) when Vlan 1 router interface is created. This cannot be configured from Sonic. Note, In Sonic, only CPU port is part of Vlan 1
I think this is not a SAI related question. Since SAI doesn't have the definition of the MTU of packets sent back to CPU. Could you move the issue towards SONiC websites?
Thanks for your follow-up Prince, ShuoTian!
The issue is about switch front-panel ports.
We are testing ip mtu with SONiC 201803 branch image on our Broadcom Tomahawk (bcm56960) d7032 switch. After changing ip_mtu to 9100, we saw SONiC "show interface status", e.g. Ethernet0, has 9100 ip_mtu size and "bcmcmd ps" shows 9122. The problem we hit is that only able to route and forward up to 1532 bytes packet. Refer to the following “* MTU of Routing Interface doesn't work” on test details.
The Broadcom ASIC L3 forwarding datapath mtu is capped by L3 Intf 0 1514 bytes mtu size. SAI creates this Intf 0.
Thanks!
Wilson
• MTU of Routing Interface doesn't work
[Test step and config]
Test Center TCA port sends L3 IP packets to switch d7032 front-panel port Ethernet0 and TCB receives from Ethernet4.
/etc/sonic/config_db.json "INTERFACE": { "Ethernet0|20.20.20.100/24": {}, "Ethernet4|10.10.10.100/24": {} },
[Test Result]
root@SONiC-Inventec-d7032-100:~# vi /etc/sonic/config_db.json
"PORT": { "Ethernet0": { "alias": "Ethernet0", "lanes": "1,2,3,4", "mtu":1500 }, "Ethernet4": { "alias": "Ethernet4", "lanes": "5,6,7,8", "mtu":1500 },
root@SONiC-Inventec-d7032-100:~# show interfaces status Command: intfutil status Interface Lanes Speed MTU Alias Oper Admin
Ethernet0 1,2,3,4 N/A 1500 Ethernet0 up up Ethernet4 5,6,7,8 N/A 1500 Ethernet4 up up
root@SONiC-Inventec-d7032-100:~# bcmcmd "ps" ps ena/ speed/ link auto STP lrn inter max cut loop port link Lns duplex scan neg? state pause discrd ops face frame thru? back ce0( 1) up 4 100G FD SW No Forward TX RX None F KR4 1522 No ce1( 2) up 4 100G FD SW No Forward TX RX None F KR4 1522 No
TCA sends traffic to TCB: size 63 drop 64 pass 1526 pass (correct) 1527 drop (correct)
root@SONiC-Inventec-d7032-100:~# vi /etc/sonic/config_db.json
"PORT": { "Ethernet0": { "alias": "Ethernet0", "lanes": "1,2,3,4", "mtu":9100 }, "Ethernet4": { "alias": "Ethernet4", "lanes": "5,6,7,8", "mtu":9100 },
root@SONiC-Inventec-d7032-100:~# show interfaces status Command: intfutil status Interface Lanes Speed MTU Alias Oper Admin
Ethernet0 1,2,3,4 N/A 9100 Ethernet0 up up Ethernet4 5,6,7,8 N/A 9100 Ethernet4 up up
root@SONiC-Inventec-d7032-100:~# bcmcmd "ps" ps ena/ speed/ link auto STP lrn inter max cut loop port link Lns duplex scan neg? state pause discrd ops face frame thru? back ce0( 1) up 4 100G FD SW No Forward TX RX None F KR4 9122 No ce1( 2) up 4 100G FD SW No Forward TX RX None F KR4 9122 No
TCA sends traffic to TCB: size 1532 pass 1533 drop (failed!!) 9100 drop (failed!!)
Hi,
Current SAI, e.g.: v3.1.3.4, L3 Intf 0 is with fixed size 1514, and ASIC is only able to forward L3 routing packets up to 1532 bytes (1514 + 14 bytes L2 header + 4 bytes FCS). Need fix to make it maximum value or configurable from SONiC.
root@SONiC-Inventec-d7032-100:/home/admin# bcmcmd "l3 intf show" l3 intf show Free L3INTF entries: 8188 Unit Intf VRF Group VLAN Source Mac MTU TTL Tunnel InnerVlan NATRealm
0 0 0 0 1 00:8c:fa:c7:b4:38 1514 0 0 0 0 <---- L3 Intf 0 interface 0 1 0 0 4094 00:8c:fa:c7:b4:38 9100 0 0 0 0
0 2 0 0 4093 00:8c:fa:c7:b4:38 9100 0 0 0 0
drivshell> root@SONiC-Inventec-d7032-100:/home/admin#
Thanks!
Wilson