diff --git a/src/sonic-config-engine/minigraph.py b/src/sonic-config-engine/minigraph.py index b959a877d5..ae130b182b 100644 --- a/src/sonic-config-engine/minigraph.py +++ b/src/sonic-config-engine/minigraph.py @@ -1736,7 +1736,10 @@ def parse_xml(filename, platform=None, port_config_file=None, asic_name=None, hw port_default_speed = port_speeds_default.get(port_name, None) port_png_speed = port_speed_png[port_name] - # when the port speed is changes from 400g to 100g/40g + # set Port Speed before lane update + ports.setdefault(port_name, {})['speed'] = port_png_speed + + # when the port speed is changes from 400g to 100g/40g # update the port lanes, use the first 4 lanes of the 400G port to support 100G/40G port if port_default_speed == '400000' and (port_png_speed == '100000' or port_png_speed == '40000'): port_lanes = ports[port_name].get('lanes', '').split(',') @@ -1746,7 +1749,6 @@ def parse_xml(filename, platform=None, port_config_file=None, asic_name=None, hw updated_lanes = ",".join(port_lanes[:4]) ports[port_name]['lanes'] = updated_lanes - ports.setdefault(port_name, {})['speed'] = port_speed_png[port_name] for port_name, port in list(ports.items()): # get port alias from port_config.ini diff --git a/src/sonic-config-engine/tests/sample-cisco-8111-100-minigraph.xml b/src/sonic-config-engine/tests/sample-cisco-8111-100-minigraph.xml new file mode 100755 index 0000000000..bf51944cc6 --- /dev/null +++ b/src/sonic-config-engine/tests/sample-cisco-8111-100-minigraph.xml @@ -0,0 +1,2389 @@ + + + + + + false + Device-8111-01 + 10.0.0.32 + ARISTA01T0 + 10.0.0.33 + 1 + 10 + 3 + + + Device-8111-01 + FC00::41 + ARISTA01T0 + FC00::42 + 1 + 10 + 3 + + + false + Device-8111-01 + 10.0.0.0 + ARISTA01T2 + 10.0.0.1 + 1 + 10 + 3 + + + Device-8111-01 + FC00::1 + ARISTA01T2 + FC00::2 + 1 + 10 + 3 + + + false + Device-8111-01 + 10.0.0.34 + ARISTA02T0 + 10.0.0.35 + 1 + 10 + 3 + + + Device-8111-01 + FC00::45 + ARISTA02T0 + FC00::46 + 1 + 10 + 3 + + + false + Device-8111-01 + 10.0.0.36 + ARISTA03T0 + 10.0.0.37 + 1 + 10 + 3 + + + Device-8111-01 + FC00::49 + ARISTA03T0 + FC00::4A + 1 + 10 + 3 + + + false + Device-8111-01 + 10.0.0.4 + ARISTA03T2 + 10.0.0.5 + 1 + 10 + 3 + + + Device-8111-01 + FC00::5 + ARISTA03T2 + FC00::6 + 1 + 10 + 3 + + + false + Device-8111-01 + 10.0.0.38 + ARISTA04T0 + 10.0.0.39 + 1 + 10 + 3 + + + Device-8111-01 + FC00::4D + ARISTA04T0 + FC00::4E + 1 + 10 + 3 + + + false + Device-8111-01 + 10.0.0.40 + ARISTA05T0 + 10.0.0.41 + 1 + 10 + 3 + + + Device-8111-01 + FC00::51 + ARISTA05T0 + FC00::52 + 1 + 10 + 3 + + + false + Device-8111-01 + 10.0.0.8 + ARISTA05T2 + 10.0.0.9 + 1 + 10 + 3 + + + Device-8111-01 + FC00::9 + ARISTA05T2 + FC00::A + 1 + 10 + 3 + + + false + Device-8111-01 + 10.0.0.42 + ARISTA06T0 + 10.0.0.43 + 1 + 10 + 3 + + + Device-8111-01 + FC00::55 + ARISTA06T0 + FC00::56 + 1 + 10 + 3 + + + false + Device-8111-01 + 10.0.0.44 + ARISTA07T0 + 10.0.0.45 + 1 + 10 + 3 + + + Device-8111-01 + FC00::59 + ARISTA07T0 + FC00::5A + 1 + 10 + 3 + + + false + Device-8111-01 + 10.0.0.12 + ARISTA07T2 + 10.0.0.13 + 1 + 10 + 3 + + + Device-8111-01 + FC00::D + ARISTA07T2 + FC00::E + 1 + 10 + 3 + + + false + Device-8111-01 + 10.0.0.46 + ARISTA08T0 + 10.0.0.47 + 1 + 10 + 3 + + + Device-8111-01 + FC00::5D + ARISTA08T0 + FC00::5E + 1 + 10 + 3 + + + false + Device-8111-01 + 10.0.0.48 + ARISTA09T0 + 10.0.0.49 + 1 + 10 + 3 + + + Device-8111-01 + FC00::61 + ARISTA09T0 + FC00::62 + 1 + 10 + 3 + + + false + Device-8111-01 + 10.0.0.50 + ARISTA10T0 + 10.0.0.51 + 1 + 10 + 3 + + + Device-8111-01 + FC00::65 + ARISTA10T0 + FC00::66 + 1 + 10 + 3 + + + false + Device-8111-01 + 10.0.0.52 + ARISTA11T0 + 10.0.0.53 + 1 + 10 + 3 + + + Device-8111-01 + FC00::69 + ARISTA11T0 + FC00::6A + 1 + 10 + 3 + + + false + Device-8111-01 + 10.0.0.54 + ARISTA12T0 + 10.0.0.55 + 1 + 10 + 3 + + + Device-8111-01 + FC00::6D + ARISTA12T0 + FC00::6E + 1 + 10 + 3 + + + false + Device-8111-01 + 10.0.0.56 + ARISTA13T0 + 10.0.0.57 + 1 + 10 + 3 + + + Device-8111-01 + FC00::71 + ARISTA13T0 + FC00::72 + 1 + 10 + 3 + + + false + Device-8111-01 + 10.0.0.58 + ARISTA14T0 + 10.0.0.59 + 1 + 10 + 3 + + + Device-8111-01 + FC00::75 + ARISTA14T0 + FC00::76 + 1 + 10 + 3 + + + false + Device-8111-01 + 10.0.0.60 + ARISTA15T0 + 10.0.0.61 + 1 + 10 + 3 + + + Device-8111-01 + FC00::79 + ARISTA15T0 + FC00::7A + 1 + 10 + 3 + + + false + Device-8111-01 + 10.0.0.62 + ARISTA16T0 + 10.0.0.63 + 1 + 10 + 3 + + + Device-8111-01 + FC00::7D + ARISTA16T0 + FC00::7E + 1 + 10 + 3 + + + false + Device-8111-01 + 10.0.0.64 + ARISTA17T0 + 10.0.0.65 + 1 + 10 + 3 + + + Device-8111-01 + FC00::81 + ARISTA17T0 + FC00::82 + 1 + 10 + 3 + + + false + Device-8111-01 + 10.0.0.66 + ARISTA18T0 + 10.0.0.67 + 1 + 10 + 3 + + + Device-8111-01 + FC00::85 + ARISTA18T0 + FC00::86 + 1 + 10 + 3 + + + false + Device-8111-01 + 10.0.0.68 + ARISTA19T0 + 10.0.0.69 + 1 + 10 + 3 + + + Device-8111-01 + FC00::89 + ARISTA19T0 + FC00::8A + 1 + 10 + 3 + + + false + Device-8111-01 + 10.0.0.70 + ARISTA20T0 + 10.0.0.71 + 1 + 10 + 3 + + + Device-8111-01 + FC00::8D + ARISTA20T0 + FC00::8E + 1 + 10 + 3 + + + + + 65100 + Device-8111-01 + + +
10.0.0.33
+ + + +
+ +
10.0.0.1
+ + + +
+ +
10.0.0.35
+ + + +
+ +
10.0.0.37
+ + + +
+ +
10.0.0.5
+ + + +
+ +
10.0.0.39
+ + + +
+ +
10.0.0.41
+ + + +
+ +
10.0.0.9
+ + + +
+ +
10.0.0.43
+ + + +
+ +
10.0.0.45
+ + + +
+ +
10.0.0.13
+ + + +
+ +
10.0.0.47
+ + + +
+ +
10.0.0.49
+ + + +
+ +
10.0.0.51
+ + + +
+ +
10.0.0.53
+ + + +
+ +
10.0.0.55
+ + + +
+ +
10.0.0.57
+ + + +
+ +
10.0.0.59
+ + + +
+ +
10.0.0.61
+ + + +
+ +
10.0.0.63
+ + + +
+ +
10.0.0.65
+ + + +
+ +
10.0.0.67
+ + + +
+ +
10.0.0.69
+ + + +
+ +
10.0.0.71
+ + + +
+
+ +
+ + 64001 + ARISTA01T0 + + + + 65200 + ARISTA01T2 + + + + 64002 + ARISTA02T0 + + + + 64003 + ARISTA03T0 + + + + 65200 + ARISTA03T2 + + + + 64004 + ARISTA04T0 + + + + 64005 + ARISTA05T0 + + + + 65200 + ARISTA05T2 + + + + 64006 + ARISTA06T0 + + + + 64007 + ARISTA07T0 + + + + 65200 + ARISTA07T2 + + + + 64008 + ARISTA08T0 + + + + 64009 + ARISTA09T0 + + + + 64010 + ARISTA10T0 + + + + 64011 + ARISTA11T0 + + + + 64012 + ARISTA12T0 + + + + 64013 + ARISTA13T0 + + + + 64014 + ARISTA14T0 + + + + 64015 + ARISTA15T0 + + + + 64016 + ARISTA16T0 + + + + 64017 + ARISTA17T0 + + + + 64018 + ARISTA18T0 + + + + 64019 + ARISTA19T0 + + + + 64020 + ARISTA20T0 + + +
+
+ + + + + + HostIP + Loopback0 + + 10.1.0.32/32 + + 10.1.0.32/32 + + + HostIP1 + Loopback0 + + FC00:1::32/128 + + FC00:1::32/128 + + + + + HostIP + eth0 + + 1.1.1.1/23 + + 1.1.1.1/23 + + + V6HostIP + eth0 + + FC00:2::32/64 + + FC00:2::32/64 + + + + + + + Device-8111-01 + + + PortChannel101 + etp0a + + + + PortChannel102 + etp12;etp13 + + + + PortChannel103 + etp0b + + + + PortChannel104 + etp2a + + + + PortChannel105 + etp14;etp15 + + + + PortChannel106 + etp2b + + + + PortChannel107 + etp8a + + + + PortChannel108 + etp16;etp17 + + + + PortChannel109 + etp8b + + + + PortChannel1010 + etp10a + + + + PortChannel1011 + etp18;etp19 + + + + PortChannel1012 + etp10b + + + + PortChannel1013 + etp21a + + + + PortChannel1014 + etp22b + + + + PortChannel1015 + etp25a + + + + PortChannel1016 + etp25b + + + + PortChannel1017 + etp26b + + + + PortChannel1018 + etp27a + + + + PortChannel1019 + etp27b + + + + PortChannel1020 + etp29a + + + + PortChannel1021 + etp30a + + + + PortChannel1022 + etp30b + + + + PortChannel1023 + etp31a + + + + PortChannel1024 + etp31b + + + + + + + + + PortChannel101 + 10.0.0.32/31 + + + + PortChannel101 + FC00::41/126 + + + + PortChannel102 + 10.0.0.0/31 + + + + PortChannel102 + FC00::1/126 + + + + PortChannel103 + 10.0.0.34/31 + + + + PortChannel103 + FC00::45/126 + + + + PortChannel104 + 10.0.0.36/31 + + + + PortChannel104 + FC00::49/126 + + + + PortChannel105 + 10.0.0.4/31 + + + + PortChannel105 + FC00::5/126 + + + + PortChannel106 + 10.0.0.38/31 + + + + PortChannel106 + FC00::4D/126 + + + + PortChannel107 + 10.0.0.40/31 + + + + PortChannel107 + FC00::51/126 + + + + PortChannel108 + 10.0.0.8/31 + + + + PortChannel108 + FC00::9/126 + + + + PortChannel109 + 10.0.0.42/31 + + + + PortChannel109 + FC00::55/126 + + + + PortChannel1010 + 10.0.0.44/31 + + + + PortChannel1010 + FC00::59/126 + + + + PortChannel1011 + 10.0.0.12/31 + + + + PortChannel1011 + FC00::D/126 + + + + PortChannel1012 + 10.0.0.46/31 + + + + PortChannel1012 + FC00::5D/126 + + + + PortChannel1013 + 10.0.0.48/31 + + + + PortChannel1013 + FC00::61/126 + + + + PortChannel1014 + 10.0.0.50/31 + + + + PortChannel1014 + FC00::65/126 + + + + PortChannel1015 + 10.0.0.52/31 + + + + PortChannel1015 + FC00::69/126 + + + + PortChannel1016 + 10.0.0.54/31 + + + + PortChannel1016 + FC00::6D/126 + + + + PortChannel1017 + 10.0.0.56/31 + + + + PortChannel1017 + FC00::71/126 + + + + PortChannel1018 + 10.0.0.58/31 + + + + PortChannel1018 + FC00::75/126 + + + + PortChannel1019 + 10.0.0.60/31 + + + + PortChannel1019 + FC00::79/126 + + + + PortChannel1020 + 10.0.0.62/31 + + + + PortChannel1020 + FC00::7D/126 + + + + PortChannel1021 + 10.0.0.64/31 + + + + PortChannel1021 + FC00::81/126 + + + + PortChannel1022 + 10.0.0.66/31 + + + + PortChannel1022 + FC00::85/126 + + + + PortChannel1023 + 10.0.0.68/31 + + + + PortChannel1023 + FC00::89/126 + + + + PortChannel1024 + 10.0.0.70/31 + + + + PortChannel1024 + FC00::8D/126 + + + + + + NTP_ACL + NTP + NTP + + + SNMP_ACL + SNMP + SNMP + + + VTY_LINE + ssh-only + SSH + + + ERSPAN + Everflow + Everflow + + + ERSPANV6 + EverflowV6 + EverflowV6 + + + PortChannel101;PortChannel102;PortChannel103;PortChannel104;PortChannel105;PortChannel106;PortChannel107;PortChannel108;PortChannel109;PortChannel1010;PortChannel1011;PortChannel1012;PortChannel1013;PortChannel1014;PortChannel1015;PortChannel1016;PortChannel1017;PortChannel1018;PortChannel1019;PortChannel1020;PortChannel1021;PortChannel1022;PortChannel1023;PortChannel1024 + DataAcl + DataPlane + + + + + + + + + + DeviceInterfaceLink + ARISTA01T0 + Ethernet1 + Device-8111-01 + etp0a + 100000 + + + DeviceInterfaceLink + ARISTA01T2 + Ethernet1 + Device-8111-01 + etp12 + 100000 + + + DeviceInterfaceLink + ARISTA01T2 + Ethernet2 + Device-8111-01 + etp13 + 100000 + + + DeviceInterfaceLink + ARISTA02T0 + Ethernet1 + Device-8111-01 + etp0b + 100000 + + + DeviceInterfaceLink + ARISTA03T0 + Ethernet1 + Device-8111-01 + etp2a + 100000 + + + DeviceInterfaceLink + ARISTA03T2 + Ethernet1 + Device-8111-01 + etp14 + 100000 + + + DeviceInterfaceLink + ARISTA03T2 + Ethernet2 + Device-8111-01 + etp15 + 100000 + + + DeviceInterfaceLink + ARISTA04T0 + Ethernet1 + Device-8111-01 + etp2b + 100000 + + + DeviceInterfaceLink + ARISTA05T0 + Ethernet1 + Device-8111-01 + etp8a + 100000 + + + DeviceInterfaceLink + ARISTA05T2 + Ethernet1 + Device-8111-01 + etp16 + 100000 + + + DeviceInterfaceLink + ARISTA05T2 + Ethernet2 + Device-8111-01 + etp17 + 100000 + + + DeviceInterfaceLink + ARISTA06T0 + Ethernet1 + Device-8111-01 + etp8b + 100000 + + + DeviceInterfaceLink + ARISTA07T0 + Ethernet1 + Device-8111-01 + etp10a + 100000 + + + DeviceInterfaceLink + ARISTA07T2 + Ethernet1 + Device-8111-01 + etp18 + 100000 + + + DeviceInterfaceLink + ARISTA07T2 + Ethernet2 + Device-8111-01 + etp19 + 100000 + + + DeviceInterfaceLink + ARISTA08T0 + Ethernet1 + Device-8111-01 + etp10b + 100000 + + + DeviceInterfaceLink + ARISTA09T0 + Ethernet1 + Device-8111-01 + etp21a + 100000 + + + DeviceInterfaceLink + ARISTA10T0 + Ethernet1 + Device-8111-01 + etp22b + 100000 + + + DeviceInterfaceLink + ARISTA11T0 + Ethernet1 + Device-8111-01 + etp25a + 100000 + + + DeviceInterfaceLink + ARISTA12T0 + Ethernet1 + Device-8111-01 + etp25b + 100000 + + + DeviceInterfaceLink + ARISTA13T0 + Ethernet1 + Device-8111-01 + etp26b + 100000 + + + DeviceInterfaceLink + ARISTA14T0 + Ethernet1 + Device-8111-01 + etp27a + 100000 + + + DeviceInterfaceLink + ARISTA15T0 + Ethernet1 + Device-8111-01 + etp27b + 100000 + + + DeviceInterfaceLink + ARISTA16T0 + Ethernet1 + Device-8111-01 + etp29a + 100000 + + + DeviceInterfaceLink + ARISTA17T0 + Ethernet1 + Device-8111-01 + etp30a + 100000 + + + DeviceInterfaceLink + ARISTA18T0 + Ethernet1 + Device-8111-01 + etp30b + 100000 + + + DeviceInterfaceLink + ARISTA19T0 + Ethernet1 + Device-8111-01 + etp31a + 100000 + + + DeviceInterfaceLink + ARISTA20T0 + Ethernet1 + Device-8111-01 + etp31b + 100000 + + + + + Device-8111-01 + Cisco-8111-O64 + + 1.1.1.1 + + + + ARISTA16T0 + + 172.16.134.203 + + Arista-VM + + + ARISTA11T0 + + 172.16.134.198 + + Arista-VM + + + ARISTA10T0 + + 172.16.134.197 + + Arista-VM + + + ARISTA17T0 + + 172.16.134.204 + + Arista-VM + + + ARISTA09T0 + + 172.16.134.196 + + Arista-VM + + + ARISTA20T0 + + 172.16.134.207 + + Arista-VM + + + ARISTA08T0 + + 172.16.134.191 + + Arista-VM + + + ARISTA07T0 + + 172.16.134.190 + + Arista-VM + + + ARISTA07T2 + + 172.16.134.195 + + Arista-VM + + + ARISTA01T2 + + 172.16.134.192 + + Arista-VM + + + ARISTA01T0 + + 172.16.134.184 + + Arista-VM + + + ARISTA05T2 + + 172.16.134.194 + + Arista-VM + + + ARISTA05T0 + + 172.16.134.188 + + Arista-VM + + + ARISTA02T0 + + 172.16.134.185 + + Arista-VM + + + ARISTA03T0 + + 172.16.134.186 + + Arista-VM + + + ARISTA03T2 + + 172.16.134.193 + + Arista-VM + + + ARISTA04T0 + + 172.16.134.187 + + Arista-VM + + + ARISTA18T0 + + 172.16.134.205 + + Arista-VM + + + ARISTA15T0 + + 172.16.134.202 + + Arista-VM + + + ARISTA19T0 + + 172.16.134.206 + + Arista-VM + + + ARISTA14T0 + + 172.16.134.201 + + Arista-VM + + + ARISTA12T0 + + 172.16.134.199 + + Arista-VM + + + ARISTA13T0 + + 172.16.134.200 + + Arista-VM + + + ARISTA06T0 + + 172.16.134.189 + + Arista-VM + + + + + + true + + + DeviceInterface + + true + true + 1 + etp0a + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp0b + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp1a + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp1b + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp2a + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp2b + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp3a + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp3b + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp4a + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp4b + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp5a + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp5b + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp6a + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp6b + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp7a + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp7b + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp8a + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp8b + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp9a + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp9b + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp10a + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp10b + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp11a + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp11b + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp12 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp13 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp14 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp15 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp16 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp17 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp18 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp19 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp20a + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp20b + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp21a + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp21b + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp22a + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp22b + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp23a + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp23b + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp24a + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp24b + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp25a + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp25b + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp26a + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp26b + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp27a + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp27b + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp28a + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp28b + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp29a + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp29b + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp30a + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp30b + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp31a + + false + 0 + 0 + 100000 + + + DeviceInterface + + true + true + 1 + etp31b + + false + 0 + 0 + 100000 + + + true + 0 + Cisco-8111-O64 + + + + + + + Device-8111-01 + + + DeploymentId + + 1 + + + QosProfile + + Profile0 + + + DhcpResources + + 192.0.0.1;192.0.0.2;192.0.0.3;192.0.0.4;192.0.0.5;192.0.0.6;192.0.0.7;192.0.0.8;192.0.0.9;192.0.0.10;192.0.0.11;192.0.0.12;192.0.0.13;192.0.0.14;192.0.0.15;192.0.0.16;192.0.0.17;192.0.0.18;192.0.0.19;192.0.0.20;192.0.0.21;192.0.0.22;192.0.0.23;192.0.0.24;192.0.0.25;192.0.0.26;192.0.0.27;192.0.0.28;192.0.0.29;192.0.0.30;192.0.0.31;192.0.0.32;192.0.0.33;192.0.0.34;192.0.0.35;192.0.0.36;192.0.0.37;192.0.0.38;192.0.0.39;192.0.0.40;192.0.0.41;192.0.0.42;192.0.0.43;192.0.0.44;192.0.0.45;192.0.0.46;192.0.0.47;192.0.0.48 + + + NtpResources + + 10.20.8.129;10.20.8.130 + + + SnmpResources + + 10.3.145.98 + + + SyslogResources + + 10.64.246.95 + + + TacacsGroup + + Starlab + + + TacacsServer + + 10.3.145.14;10.3.145.15 + + + ForcedMgmtRoutes + + 10.3.145.98/31;10.3.145.8;100.127.20.16/28;10.3.149.170/31;40.122.216.24;13.91.48.226;10.64.246.0/23;10.3.146.0/23;10.64.5.5;10.201.148.32/28 + + + ErspanDestinationIpv4 + + 10.20.6.16 + + + + + + + Device-8111-01 + Cisco-8111-O64 +
diff --git a/src/sonic-config-engine/tests/sample-cisco-8111-port-config.ini b/src/sonic-config-engine/tests/sample-cisco-8111-port-config.ini new file mode 100644 index 0000000000..02def0a780 --- /dev/null +++ b/src/sonic-config-engine/tests/sample-cisco-8111-port-config.ini @@ -0,0 +1,57 @@ +# name lanes alias index speed +Ethernet0 2304,2305,2306,2307 etp0a 0 100000 +Ethernet4 2308,2309,2310,2311 etp0b 0 100000 +Ethernet8 2320,2321,2322,2323 etp1a 1 100000 +Ethernet12 2324,2325,2326,2327 etp1b 1 100000 +Ethernet16 2312,2313,2314,2315 etp2a 2 100000 +Ethernet20 2316,2317,2318,2319 etp2b 2 100000 +Ethernet24 2056,2057,2058,2059 etp3a 3 100000 +Ethernet28 2060,2061,2062,2063 etp3b 3 100000 +Ethernet32 1792,1793,1794,1795 etp4a 4 100000 +Ethernet36 1796,1797,1798,1799 etp4b 4 100000 +Ethernet40 2048,2049,2050,2051 etp5a 5 100000 +Ethernet44 2052,2053,2054,2055 etp5b 5 100000 +Ethernet48 2560,2561,2562,2563 etp6a 6 100000 +Ethernet52 2564,2565,2566,2567 etp6b 6 100000 +Ethernet56 2824,2825,2826,2827 etp7a 7 100000 +Ethernet60 2828,2829,2830,2831 etp7b 7 100000 +Ethernet64 2832,2833,2834,2835 etp8a 8 100000 +Ethernet68 2836,2837,2838,2839 etp8b 8 100000 +Ethernet72 2816,2817,2818,2819 etp9a 9 100000 +Ethernet76 2820,2821,2822,2823 etp9b 9 100000 +Ethernet80 2568,2569,2570,2571 etp10a 10 100000 +Ethernet84 2572,2573,2574,2575 etp10b 10 100000 +Ethernet88 2576,2577,2578,2579 etp11a 11 100000 +Ethernet92 2580,2581,2582,2583 etp11b 11 100000 +Ethernet96 1536,1537,1538,1539 etp12 12 400000 +Ethernet104 1800,1801,1802,1803 etp13 13 400000 +Ethernet112 1552,1553,1554,1555 etp14 14 400000 +Ethernet120 1544,1545,1546,1547 etp15 15 400000 +Ethernet128 1296,1297,1298,1299 etp16 16 400000 +Ethernet136 1288,1289,1290,1291 etp17 17 400000 +Ethernet144 1280,1281,1282,1283 etp18 18 400000 +Ethernet152 1032,1033,1034,1035 etp19 19 400000 +Ethernet160 264,265,266,267 etp20a 20 100000 +Ethernet164 268,269,270,271 etp20b 20 100000 +Ethernet168 272,273,274,275 etp21a 21 100000 +Ethernet172 276,277,278,279 etp21b 21 100000 +Ethernet176 16,17,18,19 etp22a 22 100000 +Ethernet180 20,21,22,23 etp22b 22 100000 +Ethernet184 0,1,2,3 etp23a 23 100000 +Ethernet188 4,5,6,7 etp23b 23 100000 +Ethernet192 256,257,258,259 etp24a 24 100000 +Ethernet196 260,261,262,263 etp24b 24 100000 +Ethernet200 8,9,10,11 etp25a 25 100000 +Ethernet204 12,13,14,15 etp25b 25 100000 +Ethernet208 1024,1025,1026,1027 etp26a 26 100000 +Ethernet212 1028,1029,1030,1031 etp26b 26 100000 +Ethernet216 768,769,770,771 etp27a 27 100000 +Ethernet220 772,773,774,775 etp27b 27 100000 +Ethernet224 524,525,526,527 etp28a 28 100000 +Ethernet228 520,521,522,523 etp28b 28 100000 +Ethernet232 776,777,778,779 etp29a 29 100000 +Ethernet236 780,781,782,783 etp29b 29 100000 +Ethernet240 516,517,518,519 etp30a 30 100000 +Ethernet244 512,513,514,515 etp30b 30 100000 +Ethernet248 528,529,530,531 etp31a 31 100000 +Ethernet252 532,533,534,535 etp31b 31 100000 diff --git a/src/sonic-config-engine/tests/test_cfggen.py b/src/sonic-config-engine/tests/test_cfggen.py index 634ab15da2..15950cdf61 100644 --- a/src/sonic-config-engine/tests/test_cfggen.py +++ b/src/sonic-config-engine/tests/test_cfggen.py @@ -45,6 +45,8 @@ class TestCfgGen(TestCase): self.sample_cisco_port_config_400g = os.path.join(self.test_dir, 'sample-cisco-8101-t1-port-config.ini') self.sample_cisco_100_graph = os.path.join(self.test_dir, 'sample-cisco-8101-t1-100-minigraph.xml') self.sample_cisco_400_graph = os.path.join(self.test_dir, 'sample-cisco-8101-t1-400-minigraph.xml') + self.sample_cisco_8111_port_config = os.path.join(self.test_dir, 'sample-cisco-8111-port-config.ini') + self.sample_cisco_8111_graph = os.path.join(self.test_dir, 'sample-cisco-8111-100-minigraph.xml') # To ensure that mock config_db data is used for unit-test cases os.environ["CFGGEN_UNIT_TESTING"] = "2" @@ -1096,3 +1098,16 @@ class TestCfgGen(TestCase): "{'Ethernet0': {'lanes': '2304,2305,2306,2307', 'alias': 'etp0a', 'index': '0', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA01T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet4': {'lanes': '2308,2309,2310,2311', 'alias': 'etp0b', 'index': '0', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA02T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet8': {'lanes': '2320,2321,2322,2323', 'alias': 'etp1a', 'index': '1', 'speed': '100000', 'fec': 'rs', 'description': 'etp1a', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet12': {'lanes': '2324,2325,2326,2327', 'alias': 'etp1b', 'index': '1', 'speed': '100000', 'fec': 'rs', 'description': 'etp1b', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet16': {'lanes': '2312,2313,2314,2315', 'alias': 'etp2a', 'index': '2', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA03T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet20': {'lanes': '2316,2317,2318,2319', 'alias': 'etp2b', 'index': '2', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA04T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet24': {'lanes': '2056,2057,2058,2059', 'alias': 'etp3a', 'index': '3', 'speed': '100000', 'fec': 'rs', 'description': 'etp3a', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet28': {'lanes': '2060,2061,2062,2063', 'alias': 'etp3b', 'index': '3', 'speed': '100000', 'fec': 'rs', 'description': 'etp3b', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet32': {'lanes': '1792,1793,1794,1795', 'alias': 'etp4a', 'index': '4', 'speed': '100000', 'fec': 'rs', 'description': 'etp4a', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet36': {'lanes': '1796,1797,1798,1799', 'alias': 'etp4b', 'index': '4', 'speed': '100000', 'fec': 'rs', 'description': 'etp4b', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet40': {'lanes': '2048,2049,2050,2051', 'alias': 'etp5a', 'index': '5', 'speed': '100000', 'fec': 'rs', 'description': 'etp5a', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet44': {'lanes': '2052,2053,2054,2055', 'alias': 'etp5b', 'index': '5', 'speed': '100000', 'fec': 'rs', 'description': 'etp5b', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet48': {'lanes': '2560,2561,2562,2563', 'alias': 'etp6a', 'index': '6', 'speed': '100000', 'fec': 'rs', 'description': 'etp6a', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet52': {'lanes': '2564,2565,2566,2567', 'alias': 'etp6b', 'index': '6', 'speed': '100000', 'fec': 'rs', 'description': 'etp6b', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet56': {'lanes': '2824,2825,2826,2827', 'alias': 'etp7a', 'index': '7', 'speed': '100000', 'fec': 'rs', 'description': 'etp7a', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet60': {'lanes': '2828,2829,2830,2831', 'alias': 'etp7b', 'index': '7', 'speed': '100000', 'fec': 'rs', 'description': 'etp7b', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet64': {'lanes': '2832,2833,2834,2835', 'alias': 'etp8a', 'index': '8', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA05T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet68': {'lanes': '2836,2837,2838,2839', 'alias': 'etp8b', 'index': '8', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA06T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet72': {'lanes': '2816,2817,2818,2819', 'alias': 'etp9a', 'index': '9', 'speed': '100000', 'fec': 'rs', 'description': 'etp9a', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet76': {'lanes': '2820,2821,2822,2823', 'alias': 'etp9b', 'index': '9', 'speed': '100000', 'fec': 'rs', 'description': 'etp9b', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet80': {'lanes': '2568,2569,2570,2571', 'alias': 'etp10a', 'index': '10', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA07T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet84': {'lanes': '2572,2573,2574,2575', 'alias': 'etp10b', 'index': '10', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA08T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet88': {'lanes': '2576,2577,2578,2579', 'alias': 'etp11a', 'index': '11', 'speed': '100000', 'fec': 'rs', 'description': 'etp11a', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet92': {'lanes': '2580,2581,2582,2583', 'alias': 'etp11b', 'index': '11', 'speed': '100000', 'fec': 'rs', 'description': 'etp11b', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet96': {'lanes': '1536,1537,1538,1539,1540,1541,1542,1543', 'alias': 'etp12', 'index': '12', 'speed': '400000', 'description': 'ARISTA01T2:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet104': {'lanes': '1800,1801,1802,1803,1804,1805,1806,1807', 'alias': 'etp13', 'index': '13', 'speed': '400000', 'description': 'ARISTA01T2:Ethernet2', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet112': {'lanes': '1552,1553,1554,1555,1556,1557,1558,1559', 'alias': 'etp14', 'index': '14', 'speed': '400000', 'description': 'ARISTA03T2:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet120': {'lanes': '1544,1545,1546,1547,1548,1549,1550,1551', 'alias': 'etp15', 'index': '15', 'speed': '400000', 'description': 'ARISTA03T2:Ethernet2', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet128': {'lanes': '1296,1297,1298,1299,1300,1301,1302,1303', 'alias': 'etp16', 'index': '16', 'speed': '400000', 'description': 'ARISTA05T2:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet136': {'lanes': '1288,1289,1290,1291,1292,1293,1294,1295', 'alias': 'etp17', 'index': '17', 'speed': '400000', 'description': 'ARISTA05T2:Ethernet2', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet144': {'lanes': '1280,1281,1282,1283,1284,1285,1286,1287', 'alias': 'etp18', 'index': '18', 'speed': '400000', 'description': 'ARISTA07T2:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet152': {'lanes': '1032,1033,1034,1035,1036,1037,1038,1039', 'alias': 'etp19', 'index': '19', 'speed': '400000', 'description': 'ARISTA07T2:Ethernet2', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet160': {'lanes': '264,265,266,267', 'alias': 'etp20a', 'index': '20', 'speed': '100000', 'fec': 'rs', 'description': 'etp20a', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet164': {'lanes': '268,269,270,271', 'alias': 'etp20b', 'index': '20', 'speed': '100000', 'fec': 'rs', 'description': 'etp20b', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet168': {'lanes': '272,273,274,275', 'alias': 'etp21a', 'index': '21', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA09T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet172': {'lanes': '276,277,278,279', 'alias': 'etp21b', 'index': '21', 'speed': '100000', 'fec': 'rs', 'description': 'etp21b', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet176': {'lanes': '16,17,18,19', 'alias': 'etp22a', 'index': '22', 'speed': '100000', 'fec': 'rs', 'description': 'etp22a', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet180': {'lanes': '20,21,22,23', 'alias': 'etp22b', 'index': '22', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA10T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet184': {'lanes': '0,1,2,3', 'alias': 'etp23a', 'index': '23', 'speed': '100000', 'fec': 'rs', 'description': 'etp23a', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet188': {'lanes': '4,5,6,7', 'alias': 'etp23b', 'index': '23', 'speed': '100000', 'fec': 'rs', 'description': 'etp23b', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet192': {'lanes': '256,257,258,259', 'alias': 'etp24a', 'index': '24', 'speed': '100000', 'fec': 'rs', 'description': 'etp24a', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet196': {'lanes': '260,261,262,263', 'alias': 'etp24b', 'index': '24', 'speed': '100000', 'fec': 'rs', 'description': 'etp24b', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet200': {'lanes': '8,9,10,11', 'alias': 'etp25a', 'index': '25', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA11T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet204': {'lanes': '12,13,14,15', 'alias': 'etp25b', 'index': '25', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA12T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet208': {'lanes': '1024,1025,1026,1027', 'alias': 'etp26a', 'index': '26', 'speed': '100000', 'fec': 'rs', 'description': 'etp26a', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet212': {'lanes': '1028,1029,1030,1031', 'alias': 'etp26b', 'index': '26', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA13T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet216': {'lanes': '768,769,770,771', 'alias': 'etp27a', 'index': '27', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA14T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet220': {'lanes': '772,773,774,775', 'alias': 'etp27b', 'index': '27', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA15T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet224': {'lanes': '524,525,526,527', 'alias': 'etp28a', 'index': '28', 'speed': '100000', 'fec': 'rs', 'description': 'etp28a', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet228': {'lanes': '520,521,522,523', 'alias': 'etp28b', 'index': '28', 'speed': '100000', 'fec': 'rs', 'description': 'etp28b', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet232': {'lanes': '776,777,778,779', 'alias': 'etp29a', 'index': '29', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA16T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet236': {'lanes': '780,781,782,783', 'alias': 'etp29b', 'index': '29', 'speed': '100000', 'fec': 'rs', 'description': 'etp29b', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet240': {'lanes': '516,517,518,519', 'alias': 'etp30a', 'index': '30', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA17T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet244': {'lanes': '512,513,514,515', 'alias': 'etp30b', 'index': '30', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA18T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet248': {'lanes': '528,529,530,531', 'alias': 'etp31a', 'index': '31', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA19T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet252': {'lanes': '532,533,534,535', 'alias': 'etp31b', 'index': '31', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA20T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}}" ) ) + + + def test_minigraph_cisco_400g_to_100G_speed_no_lane_change(self): + argument = "-m {} -p {} -v \"PORT\"".format(self.sample_cisco_8111_graph, self.sample_cisco_8111_port_config) + output = self.run_script(argument) + self.assertEqual( + utils.to_dict(output.strip()), + utils.to_dict( + "{'Ethernet0': {'lanes': '2304,2305,2306,2307', 'alias': 'etp0a', 'index': '0', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA01T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet4': {'lanes': '2308,2309,2310,2311', 'alias': 'etp0b', 'index': '0', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA02T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet8': {'lanes': '2320,2321,2322,2323', 'alias': 'etp1a', 'index': '1', 'speed': '100000', 'fec': 'rs', 'description': 'etp1a', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet12': {'lanes': '2324,2325,2326,2327', 'alias': 'etp1b', 'index': '1', 'speed': '100000', 'fec': 'rs', 'description': 'etp1b', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet16': {'lanes': '2312,2313,2314,2315', 'alias': 'etp2a', 'index': '2', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA03T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet20': {'lanes': '2316,2317,2318,2319', 'alias': 'etp2b', 'index': '2', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA04T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet24': {'lanes': '2056,2057,2058,2059', 'alias': 'etp3a', 'index': '3', 'speed': '100000', 'fec': 'rs', 'description': 'etp3a', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet28': {'lanes': '2060,2061,2062,2063', 'alias': 'etp3b', 'index': '3', 'speed': '100000', 'fec': 'rs', 'description': 'etp3b', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet32': {'lanes': '1792,1793,1794,1795', 'alias': 'etp4a', 'index': '4', 'speed': '100000', 'fec': 'rs', 'description': 'etp4a', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet36': {'lanes': '1796,1797,1798,1799', 'alias': 'etp4b', 'index': '4', 'speed': '100000', 'fec': 'rs', 'description': 'etp4b', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet40': {'lanes': '2048,2049,2050,2051', 'alias': 'etp5a', 'index': '5', 'speed': '100000', 'fec': 'rs', 'description': 'etp5a', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet44': {'lanes': '2052,2053,2054,2055', 'alias': 'etp5b', 'index': '5', 'speed': '100000', 'fec': 'rs', 'description': 'etp5b', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet48': {'lanes': '2560,2561,2562,2563', 'alias': 'etp6a', 'index': '6', 'speed': '100000', 'fec': 'rs', 'description': 'etp6a', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet52': {'lanes': '2564,2565,2566,2567', 'alias': 'etp6b', 'index': '6', 'speed': '100000', 'fec': 'rs', 'description': 'etp6b', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet56': {'lanes': '2824,2825,2826,2827', 'alias': 'etp7a', 'index': '7', 'speed': '100000', 'fec': 'rs', 'description': 'etp7a', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet60': {'lanes': '2828,2829,2830,2831', 'alias': 'etp7b', 'index': '7', 'speed': '100000', 'fec': 'rs', 'description': 'etp7b', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet64': {'lanes': '2832,2833,2834,2835', 'alias': 'etp8a', 'index': '8', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA05T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet68': {'lanes': '2836,2837,2838,2839', 'alias': 'etp8b', 'index': '8', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA06T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet72': {'lanes': '2816,2817,2818,2819', 'alias': 'etp9a', 'index': '9', 'speed': '100000', 'fec': 'rs', 'description': 'etp9a', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet76': {'lanes': '2820,2821,2822,2823', 'alias': 'etp9b', 'index': '9', 'speed': '100000', 'fec': 'rs', 'description': 'etp9b', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet80': {'lanes': '2568,2569,2570,2571', 'alias': 'etp10a', 'index': '10', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA07T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet84': {'lanes': '2572,2573,2574,2575', 'alias': 'etp10b', 'index': '10', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA08T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet88': {'lanes': '2576,2577,2578,2579', 'alias': 'etp11a', 'index': '11', 'speed': '100000', 'fec': 'rs', 'description': 'etp11a', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet92': {'lanes': '2580,2581,2582,2583', 'alias': 'etp11b', 'index': '11', 'speed': '100000', 'fec': 'rs', 'description': 'etp11b', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet96': {'lanes': '1536,1537,1538,1539', 'alias': 'etp12', 'index': '12', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA01T2:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet104': {'lanes': '1800,1801,1802,1803', 'alias': 'etp13', 'index': '13', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA01T2:Ethernet2', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet112': {'lanes': '1552,1553,1554,1555', 'alias': 'etp14', 'index': '14', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA03T2:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet120': {'lanes': '1544,1545,1546,1547', 'alias': 'etp15', 'index': '15', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA03T2:Ethernet2', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet128': {'lanes': '1296,1297,1298,1299', 'alias': 'etp16', 'index': '16', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA05T2:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet136': {'lanes': '1288,1289,1290,1291', 'alias': 'etp17', 'index': '17', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA05T2:Ethernet2', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet144': {'lanes': '1280,1281,1282,1283', 'alias': 'etp18', 'index': '18', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA07T2:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet152': {'lanes': '1032,1033,1034,1035', 'alias': 'etp19', 'index': '19', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA07T2:Ethernet2', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet160': {'lanes': '264,265,266,267', 'alias': 'etp20a', 'index': '20', 'speed': '100000', 'fec': 'rs', 'description': 'etp20a', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet164': {'lanes': '268,269,270,271', 'alias': 'etp20b', 'index': '20', 'speed': '100000', 'fec': 'rs', 'description': 'etp20b', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet168': {'lanes': '272,273,274,275', 'alias': 'etp21a', 'index': '21', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA09T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet172': {'lanes': '276,277,278,279', 'alias': 'etp21b', 'index': '21', 'speed': '100000', 'fec': 'rs', 'description': 'etp21b', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet176': {'lanes': '16,17,18,19', 'alias': 'etp22a', 'index': '22', 'speed': '100000', 'fec': 'rs', 'description': 'etp22a', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet180': {'lanes': '20,21,22,23', 'alias': 'etp22b', 'index': '22', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA10T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet184': {'lanes': '0,1,2,3', 'alias': 'etp23a', 'index': '23', 'speed': '100000', 'fec': 'rs', 'description': 'etp23a', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet188': {'lanes': '4,5,6,7', 'alias': 'etp23b', 'index': '23', 'speed': '100000', 'fec': 'rs', 'description': 'etp23b', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet192': {'lanes': '256,257,258,259', 'alias': 'etp24a', 'index': '24', 'speed': '100000', 'fec': 'rs', 'description': 'etp24a', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet196': {'lanes': '260,261,262,263', 'alias': 'etp24b', 'index': '24', 'speed': '100000', 'fec': 'rs', 'description': 'etp24b', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet200': {'lanes': '8,9,10,11', 'alias': 'etp25a', 'index': '25', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA11T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet204': {'lanes': '12,13,14,15', 'alias': 'etp25b', 'index': '25', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA12T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet208': {'lanes': '1024,1025,1026,1027', 'alias': 'etp26a', 'index': '26', 'speed': '100000', 'fec': 'rs', 'description': 'etp26a', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet212': {'lanes': '1028,1029,1030,1031', 'alias': 'etp26b', 'index': '26', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA13T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet216': {'lanes': '768,769,770,771', 'alias': 'etp27a', 'index': '27', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA14T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet220': {'lanes': '772,773,774,775', 'alias': 'etp27b', 'index': '27', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA15T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet224': {'lanes': '524,525,526,527', 'alias': 'etp28a', 'index': '28', 'speed': '100000', 'fec': 'rs', 'description': 'etp28a', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet228': {'lanes': '520,521,522,523', 'alias': 'etp28b', 'index': '28', 'speed': '100000', 'fec': 'rs', 'description': 'etp28b', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet232': {'lanes': '776,777,778,779', 'alias': 'etp29a', 'index': '29', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA16T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet236': {'lanes': '780,781,782,783', 'alias': 'etp29b', 'index': '29', 'speed': '100000', 'fec': 'rs', 'description': 'etp29b', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off'}, 'Ethernet240': {'lanes': '516,517,518,519', 'alias': 'etp30a', 'index': '30', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA17T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet244': {'lanes': '512,513,514,515', 'alias': 'etp30b', 'index': '30', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA18T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet248': {'lanes': '528,529,530,531', 'alias': 'etp31a', 'index': '31', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA19T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}, 'Ethernet252': {'lanes': '532,533,534,535', 'alias': 'etp31b', 'index': '31', 'speed': '100000', 'fec': 'rs', 'description': 'ARISTA20T0:Ethernet1', 'mtu': '9100', 'tpid': '0x8100', 'pfc_asym': 'off', 'admin_status': 'up'}}" + ) + ) + +