dell_ich module fails to load sometimes due to the failure of pci_get_drvdata().
This function is responsible for fetching INTEL PCI related memory handle in kernel. This is implemented in lpc_ich kernel module.
Due to race in addition/deletion of kernel modules, sometimes lpc_ich loads after dell_ich.
Because of this behaviour dell_ich module fails to load.
Fixed by addding dependency between modules.
Removed i2c_mux_gpio module from blacklist entry as it is not the original root case of this issue.
This commit has the forward porting of changes from 20180330
to master. Unit tested by checking the broadcom registers
for the values. The values in hardware reflect the correct values
except for TC to PFC priority group map values. Master branch values
for TC to PFC priority group map for both z9100 and s6100 in incorrect,
I have a build of Oct 12 master and the values are correct in
that build.
Signed-off-by: Harish Venkatraman <Harish_Venkatraman@Dell.com>
* 1) DSCP 46 to 5; 2) ecn config for lossless traffic; 3) ecn on by default; 4) DWRR equal weight;
Signed-off-by: Wenda <wenni@microsoft.com>
* 1) link pg & queue 5 to lossy buffer profile; 2) ingress lossless alpha 1/8
Signed-off-by: Wenda <wenni@microsoft.com>
* Update the test case for qos & buffer json template
Signed-off-by: Wenda <wenni@microsoft.com>
* Migrate a7050-qx32 and s6000 to use pg_profile lookup architecture
Signed-off-by: Wenda <wenni@microsoft.com>
* Update pg headroom egress service pool for a7050-qx-32s, a7050-qx32, and s6000
Signed-off-by: Wenda <wenni@microsoft.com>
* Link queue 5 to lossy profile
Signed-off-by: Wenda <wenni@microsoft.com>
* xcvrd OIR support for Dell S6100/Z9100 switches
Introduced check_interrupts function to handle missed interrupts.
port_dict updated and returned for appropriate OIR events.
Added support for both S6100/Z9100 switches.
* Revamped sfputil.py for PEP8 Standards
* Unify qos config with qos_config.j2 template
Signed-off-by: Wenda <wenni@microsoft.com>
* Change 7050 to use qos config template
Signed-off-by: Wenda <wenni@microsoft.com>
modified: device/arista/x86_64-arista_7050_qx32/Arista-7050-QX32/qos.json.j2
modified: device/arista/x86_64-arista_7050_qx32s/Arista-7050-QX-32S/qos.json.j2
* Change a7060, a7260, s6000, s6100, z9100 to use qos config template
Signed-off-by: Wenda <wenni@microsoft.com>
* Change mlnx devices to use qos config template
Signed-off-by: Wenda <wenni@microsoft.com>
modified: ../../../mellanox/x86_64-mlnx_msn2100-r0/ACS-MSN2100/qos.json.j2
modified: ../../../mellanox/x86_64-mlnx_msn2410-r0/ACS-MSN2410/qos.json.j2
modified: ../../../mellanox/x86_64-mlnx_msn2700-r0/ACS-MSN2700/qos.json.j2
modified: ../../../mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700-D48C8/qos.json.j2
* Change barefoot devices to use qos config template
Signed-off-by: Wenda <wenni@microsoft.com>
modified: barefoot/x86_64-accton_wedge100bf_32x-r0/montara/qos.json.j2
modified: barefoot/x86_64-accton_wedge100bf_65x-r0/mavericks/qos.json.j2
* Change accton as7212 to use qos config template
Signed-off-by: Wenda <wenni@microsoft.com>
modified: accton/x86_64-accton_as7212_54x-r0/AS7212-54x/qos.json.j2
* Apply PORT_QOS_MAP to active ports only
Signed-off-by: Wenda <wenni@microsoft.com>
* Update qos config test with qos_config.j2 template
Signed-off-by: Wenda <wenni@microsoft.com>
* Update sample output of qos-dell6100.json
Signed-off-by: Wenda <wenni@microsoft.com>
* Remove generating the default port name and index list, i.e., remove the generate_port_lists macro, because PORT is always defined
Signed-off-by: Wenda <wenni@microsoft.com>
* Include pfc_to_pg_map according to platform asic type obtained from
/etc/sonic/sonic_version.yml rather than specifying per hwsku
Signed-off-by: Wenda Ni <wenni@microsoft.com>
* Customize TC_TO_PRIORITY_GROUP_MAP and
PFC_PRIORITY_TO_PRIORITY_GROUP_MAP for barefoot
Signed-off-by: Wenda <wenni@microsoft.com>
* Unify PFC_PRIORITY_TO_PRIORITY_GROUP_MAP: remove "0":"0", "1":"1" as
these two pgs do not generate PFC frames.
Signed-off-by: Wenda <wenni@microsoft.com>
* [updategraph] add support to use preset config instead of default minigraph
* Fix variable case
* Remove default minigraph case
* Remove default minigraphs and add default_sku files
* Added new platform support DellEMC - Z92264f - 64x100
* Includes changes with Makefiles, sfputil, eeprom and default minigraph
* Led support for Z9264f platform
* Includes changes on default minigraph
* ipmitool implementation in pmon docker. platform_sensors script is inclued in pmon startup
This commit updates the shared headroom value for z9100
T0 and T1 profile based on the ratio. The ratio is derived
from the 40G broadcom recommended XL Sheet.
Unit tested the above configuration by dumping the registers
for the shared headroom. The shared headroom values in registers
reflects the correct new values for both T1 and T0.
Signed-off-by: Harish Venkatraman <Harish_Venkatraman@dell.com>
* First part of skipping not used port for qos configuration
* Use active ports only to set QoS parameters for 6100
* Add a test for qos.json.j2
* Add a test for Dell S6100 buffers.json template
* Update submodulre
This commit adds new code to support z9100 PFC T1 support with
broadcom recommended MMU settings for PFC feature.
Unit tested the setting by loading sonic-broadcom.bin and checking
the hardware for the values from the JSON file. Added the config.bcm
file th-z9100-32x100G.config.bcm to this folder and updated the
sai.profile file to point to hwsku directory. sai.profile now
points to /usr/share/sonic/hwsku/th-z9100-32x100G.config.bcm
Signed-off-by: Harish Venkatraman <Harish_Venkatraman@dell.com>
This commit adds new code to support z9100 PFC T0 support with
broadcom recommended MMU settings for PFC feature.
Unit tested the setting by loading sonic-broadcom.bin and checking
the hardware for the values from the JSON file. The T0 configs supports
fan-out of 100G ports on Z9100. Added new config.bcm for fanout of 100G
ports and tested the fanout by sending traffic using bcmcmd, new config.bcm
file will be copied to /usr/share/sonic/hwsku/th-z9100-8x100-48x50G.config.bcm.
The sai.profile file is updated to point to hwsku directory.
Signed-off-by: Harish Venkatraman <Harish_Venkatraman@dell.com>
This commit updates the pg_profile_lookuip.ini file with
correct xoff values for 50G. 25G/40m xoff value is updated
to reflect the correct value.
Signed-off-by: Harish Venkatraman <Harish_Venkatraman@dell.com>
* [device/dell] Added dynamic sai.profile generation
This commit addds new code for generating dynamic sai.profile file.
The sai.profile.j2 will generate the sai.profile dynamically based on
the topology. It will generate the sai.profile under /etc/sai.d/ directory
in syncd. Before syncd is started this J2 file will be run from the start.sh
file from /usr/bin/ directory. Since the sai.profile is dynamically generated
the old sai.profile file is not required so deleted the file for S6100.
It also address couple of more changes for port_config.ini support is added
for speed in the file which can be used later to find the port speed. Also
the buffer_default_t*.j2 file the ports should be from 0 to 64 changed.
Unit tested the code on S6100 for dynamic generation of sai.profile file for
both T0 and T1 and the file was created in /etc/sai.d/sai.profile
Similarly tested the sonic binary on S6000 to make sure that the sai.profile is
copied from the /usr/share/sonic/hwsku/sai.profile to /etc/sai.d/sai.profile.
Signed-off-by: Harish Venkatraman <Harish_Venkatraman@dell.com>
* [sonic-buildimage] Updating module sai-redis
Updating the sonic-sairedis point.
Signed-off-by: Harish Venkatraman <Harish_Venkatraman@dell.com>
* Reduce xoff size for in-flight packets of lossless traffic
Signed-off-by: Wenda <wenni@microsoft.com>
* Must explicitly specify min buffer size per queue to be zero
Signed-off-by: Wenda <wenni@microsoft.com>
This commit has the workaround for sai.profile to point to
config.bcm T0 profile. This fix will be reverted once the
sai.profile.j2 dynamically generates this file.
Signed-off-by: Harish Venkatraman <Harish_Venkatraman@dell.com>
* Improve memory utilization through more sharing at the ingress on A7050-QX-32S
Signed-off-by: Wenda <wenni@microsoft.com>
* Apply buffers config changes on A7050-QX-32S to A7050-QX32
Signed-off-by: Wenda <wenni@microsoft.com>
* Apply buffers config changes on A7050-QX-32S to S6000
This commit adds new code which supports the new buffer mgmt infra.
- Added new code to support buffers for T0 and T1 configs of S6100.
- Added new qos.json file to support qos on S6100.
- Changed the pg_profile_lookup.ini file to support xon_offset.
- Changed buffer.json.j2 file according to new buffer mgmt infra.
Unit tested by verifying the above changes by loading S6100 with the
configuration, checked the hardware for broadcom recommended settings
by running bcmcmd. Sent the unit test logs to Ying.
Checked the PG_RESET_OFFSET value which reflects the new xon_offset value of 2288
from the pg_profile_lookup.ini.
Signed-off-by: Harish Venkatraman <Harish_Venkatraman@dell.com>
This commit adds new support for dynamic buffer configuration. The cable_length macro is
updated to return the cable length for server ports. Since the server ports are part of
VLAN MEMBERS, the macro loops through the VLAN MEMBER ports and returns the cable length
accordingly. If the port is not part of the SERVER port then it defaults to default cable
length. The new code in the macro will be executed only if the switch is ToRRouter
which is connected to the server on one side.
Tested the code by loading minigraph configuration on the switch which had configuration
for leaf-router as DEVICE NEIGHHOR and server ports in VLAN and ports which are not part of
either server or leaf router. The dynamically generated buffer.json and config_db.json file
had the cable_legnth updated accordingly for server ports with "5m" and leafrouter with "40m"
and unconnected port to default "300m". The redis database also reflects the buffer profile's
for 5m, 40m and 300m.
Signed-off-by: Harish Venkatraman <Harish_Venkatraman@dell.com>
This commit adds new support for dynamic buffer configuation. Adding pg_profile
lookup table for supporting the buffer profile using cable length and port speed.
Lookup table entries are calculated based on formula for different cable length and speed.
The 50G entries needs to be updated once again as we are waiting for the interface sublayer
MAC delay values.
Additionally fixed some issues in the buffers.json.j2 file.
Signed-off-by: Harish Venkatraman <Harish_Venkatraman@dell.com>