diff --git a/MoM.html b/MoM.html index 449922cdab..88c8870acb 100755 --- a/MoM.html +++ b/MoM.html @@ -104,6 +104,76 @@

SONiC community meeting minutes

Links To Meeting Agenda Links To Minutes Of The meeting + +   May 31 2022    + Platform_Integration_Testing + MoM + + +   May 24 2022    + Active-Active dual ToR + MoM + + +   May 17 2022    + Systemd bootchart Integration & Syslog Source IP config + MoM + + +   May 10 2022    + 202205 Release Status + MoM + + +   May 03 2022    + No Meeting + MoM + + +   Apr 26 2022    + SAI PTF + MoM + + +   Apr 19 2022    + Fast-reboot Flow enhancements + MoM + + +   Apr 12 2022    + No Meeting + MoM + + +   Apr 05 2022    + No Meeting + MoM + + +   Mar 29 2022    + DSCP/TC Remapping for Tunnel traffic HLD + MoM + + +   Mar 22 2022    + SONiC OpenSSL FIPS & CONFIG RELOAD ENHANCEMENT + MoM + + +   Mar 15 2022    + Batch Requests API HLD + MoM + + +   Mar 08 2022    + House Cleaning + MoM + + +   Mar 01 2022    + Build-Enhancements + MoM +   Feb 22 2022    auto-techsupport @@ -146,12 +216,12 @@

SONiC community meeting minutes

  Dec 28 2021    - Route Flow Counter + No Meeting MoM   Dec 21 2021    - Route Flow Counter + No Meeting MoM diff --git a/OCP_Virtual_Summit_2020_SONiC_Demos.html b/OCP_Virtual_Summit_2020_SONiC_Demos.html new file mode 100644 index 0000000000..2dba95a326 --- /dev/null +++ b/OCP_Virtual_Summit_2020_SONiC_Demos.html @@ -0,0 +1,150 @@ + + + + + + + SONiC | Home + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+
+
+
+

OCP Virtual Summit 2020 SONiC Demos

+
+
+
+
+
+ + + +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SONiC Foundation Technical Charter.pdf b/SONiC Foundation Technical Charter.pdf new file mode 100644 index 0000000000..019c42d0ef Binary files /dev/null and b/SONiC Foundation Technical Charter.pdf differ diff --git a/Supported-Devices-and-Platforms.html b/Supported-Devices-and-Platforms.html index 53d8a72eef..fe11a034c5 100644 --- a/Supported-Devices-and-Platforms.html +++ b/Supported-Devices-and-Platforms.html @@ -551,7 +551,7 @@

Innovium +Marvell Teralynx 7 128x100G @@ -749,7 +749,7 @@

Innovium +Marvell Teralynx 7 32x400G diff --git a/assets/img/ONEEF_Logo_White_nogradient.png b/assets/img/ONEEF_Logo_White_nogradient.png new file mode 100644 index 0000000000..7e0014ad06 --- /dev/null +++ b/assets/img/ONEEF_Logo_White_nogradient.png @@ -0,0 +1 @@ +ONEEF_Logo_White_nogradient.svg \ No newline at end of file diff --git a/assets/img/all_partners2_1920x1320.jpg b/assets/img/all_partners2_1920x1320.jpg index 096450dc4b..da9bd237b3 100644 Binary files a/assets/img/all_partners2_1920x1320.jpg and b/assets/img/all_partners2_1920x1320.jpg differ diff --git a/assets/img/lf_logo.svg b/assets/img/lf_logo.svg new file mode 100644 index 0000000000..f043eef33e --- /dev/null +++ b/assets/img/lf_logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/img/slider/2.jpg b/assets/img/slider/2.jpg index c94dce7e06..c7e45be8c9 100644 Binary files a/assets/img/slider/2.jpg and b/assets/img/slider/2.jpg differ diff --git a/assets/img/slider/3.jpg b/assets/img/slider/3.jpg new file mode 100644 index 0000000000..307e6f53ab Binary files /dev/null and b/assets/img/slider/3.jpg differ diff --git a/assets/img/sonic_fund_1.jpg b/assets/img/sonic_fund_1.jpg new file mode 100644 index 0000000000..977bf90073 Binary files /dev/null and b/assets/img/sonic_fund_1.jpg differ diff --git a/doc/Dump-Utility.md b/doc/Dump-Utility.md index 940017af13..5ed9398dc3 100644 --- a/doc/Dump-Utility.md +++ b/doc/Dump-Utility.md @@ -18,10 +18,13 @@ * [2.3 Helper Methods Available](#23-helper-methods-available) * [2.4 Match Infrastructure](#24-Match-Infrastructure) * [2.5 MatchRequest Examples](#25-matchrequest-examples) - * [3. Unit Tests](#3-unit-tests) - * [4. TechSupport](#4-techsupport) + * [3. Modules](#3-modules) + * [3.1 ACL Table](#31-acl-table) + * [3.2 ACL Rule](#32-acl-rule) + * [4. Unit Tests](#4-unit-tests) + * [5. TechSupport](#5-techsupport) -### Revision +### Revision | Rev | Date | Author | Change Description | |:---:|:-----------:|:-------------------------|:----------------------| @@ -571,7 +574,7 @@ To add a new module, these guidelines have to be followed. } } Note: DB_NAME could be either of ["CONFIG_DB", "APPL_DB", "ASIC_DB", "STATE_DB", ....] or "CONFIG_FILE". -COPP is a example which will have a entry "CONFIG_FILE". This entry is required for COPP because, the default COPP entries are read from copp_cfg.json by coppmgr and are not present in the CONFIG_DB. +COPP is a example which will have a entry "CONFIG_FILE". This entry is required for COPP because, the default COPP entries are read from copp_cfg.json by coppmgr and are not present in the CONFIG_DB. Any extra entries which are added by the user are present in the CONFIG_DB. Hence it is required to have an extra "CONFIG_FILE" option. ``` @@ -639,7 +642,7 @@ class Port(Executor): ``` 1) display_template(dbs=['CONFIG_DB', 'APPL_DB', 'ASIC_DB', 'STATE_DB']): Returns a dictionary of format JSON Template 1 2) MatchEngine / MatchRequest: Provided to abstract the heavy lifting in fetching the required data from redis-db/config-files. More info in the next section. -3) verbose_print(str_): prints to the stdout based on verbosity provided by the user. +3) verbose_print(str_): prints to the stdout based on verbosity provided by the user. 4) handle_error(err_str, excep=False): Prints the error output to stdout, if any experienced by the module, Set excep = True, to raise an exception 5) handle_multiple_keys_matched_error(err_str, key_to_go_with="", excep=False): When a filtering criteria specified by the module matches multiple keys, wherein it is expected to match ony one, this method can be used. ``` @@ -657,7 +660,7 @@ To Abstract this functionality out, a MatchEngine class is created. A MatchReque { "Table": "", # Mandatory, A Valid Table Name "key_pattern": "", # Optional, Defaults to "*". Eg: "*" will match all the keys. - # tablekey_pattern is directly applied for filtering entries + # tablekey_pattern is directly applied for filtering entries "field": "", # Optional, Defaults to None "value": "", # Optional, Value to match, Defaults to None "return_fields": [ @@ -668,8 +671,8 @@ To Abstract this functionality out, a MatchEngine class is created. A MatchReque # Only one of the db/file fields should have a non-empty string. "just_keys": "true|false" # Mandatory, if true, Only Returns the keys matched. Does not return field-value pairs. Defaults to True "ns" : DEFAULT_NAMESPACE # namespace argument, if nothing is provided, default namespace is used - "match_entire_list" : False # Some of the fields in redis can consist of multiple values eg: trap_ids = "bgp,bgpv6,ospf". - When this arg is set to true, entire list is matched incluing the ",". + "match_entire_list" : False # Some of the fields in redis can consist of multiple values eg: trap_ids = "bgp,bgpv6,ospf". + When this arg is set to true, entire list is matched incluing the ",". When False, the values are split based on "," and individual items are matched with } ``` @@ -684,7 +687,7 @@ To Abstract this functionality out, a MatchEngine class is created. A MatchReque ###### JSON Template 3: Return Dictionary by the MatchEngine: ``` -{ +{ "error": "", # Error String, if any. Empty Otherwise "keys": [], # Match found for the request "return_values": {} # Return Values for the corresponding return_fields passed @@ -705,13 +708,13 @@ Possible Error strings returned by the MatchEngine. 9) "Field is provided, but no value is provided to compare with" 10) "When Just_keys is set to False, return_fields should be empty" 11) "Return Fields should be of list type" - + Other Errors: 12) "No Entries found for Table|key_pattern provided. 13) "Connection Error" 14) "No Keys found after applying the filtering criteria" - Note: Run the "dump state arg" command with -v option to print these errors any other exceptions thrown to the stdout. + Note: Run the "dump state arg" command with -v option to print these errors any other exceptions thrown to the stdout. ``` @@ -728,10 +731,10 @@ req.just_keys = True req.return_fields = [] Return Dict: -{ - "error": "", - "keys": ["ASIC_STATE:SAI_OBJECT_TYPE_QUEUE:oid:0x1500000000052f"], - "return_values": {} +{ + "error": "", + "keys": ["ASIC_STATE:SAI_OBJECT_TYPE_QUEUE:oid:0x1500000000052f"], + "return_values": {} } 2) Fetch the entry for ASIC_STATE:SAI_OBJECT_TYPE_QUEUE:oid:0x150000000002cf from ASIC_DB (Keys + Field-Value Pairs) @@ -744,13 +747,13 @@ req.just_keys = False req.return_fields = [] Return Dict: -{ - "error": "", +{ + "error": "", "keys": [{"ASIC_STATE:SAI_OBJECT_TYPE_QUEUE:oid:0x1500000000052f": { "NULL": "NULL", "SAI_QUEUE_ATTR_TYPE": "SAI_QUEUE_TYPE_UNICAST", - "SAI_QUEUE_ATTR_INDEX": "4"}], - "return_values": {} + "SAI_QUEUE_ATTR_INDEX": "4"}], + "return_values": {} } @@ -765,10 +768,10 @@ req.db = "ASIC_DB" req.return_fields = ["SAI_HOSTIF_TRAP_ATTR_TRAP_GROUP"] Return Dict: -{ - "error": "", - "keys": ["ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP:oid:0x22000000000592"], - "return_values": {"ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP:oid:0x22000000000592" : {"SAI_HOSTIF_TRAP_ATTR_TRAP_GROUP" : "oid:0x11000000000591"}} +{ + "error": "", + "keys": ["ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP:oid:0x22000000000592"], + "return_values": {"ASIC_STATE:SAI_OBJECT_TYPE_HOSTIF_TRAP:oid:0x22000000000592" : {"SAI_HOSTIF_TRAP_ATTR_TRAP_GROUP" : "oid:0x11000000000591"}} } 4) Fetch the entry for COPP_TRAP table which has trap_id sample_packet from the copp_cfg.json file @@ -782,14 +785,213 @@ req.file = "/etc/sonic/copp_cfg.json" req.return_fields = ["trap_group"] Return Dict: -{ - "error": "", - "keys": ["COPP_TRAP|sflow"], - "return_values": {"COPP_TRAP|sflow" : {"trap_group" : "queue2_group1"}} +{ + "error": "", + "keys": ["COPP_TRAP|sflow"], + "return_values": {"COPP_TRAP|sflow" : {"trap_group" : "queue2_group1"}} } ``` -## 3 **Unit Tests**: +## 3 **Modules**: + +### 3.1 ACL Table + +ACL Tables configuration resides in CONFIG DB in table *ACL_TABLE*. Tables in *ACL_TABLE* may reference another table *ACL_TABLE_TYPE* that holds the table type configuration or may use one of default table types (L3, L3V6, MIRROR, etc.). This information is dumped from CONFIG DB. Orchagent processes *ACL_TABLE* and *ACL_TABLE_TYPE* configuration and manages the following ASIC resources: + - *SAI_OBJECT_TYPE_ACL_TABLE* + - *SAI_OBJECT_TYPE_ACL_TABLE_GROUP* + - *SAI_OBJECT_TYPE_ACL_TABLE_GROUP_MEMBER*. + + There is no direct mapping of CONFIG DB ACL tables to ASIC DB objects. However, for dump utility purposes, we can correlate *ACL_TABLE* and *SAI_OBJECT_TYPE_ACL_TABLE* if there is at least one ACL rule in the table. We may use the *ACL_COUNTER_RULE_MAP* in COUNTERS DB in order to find the *SAI_OBJECT_TYPE_ACL_COUNTER* and extract the table OID from it. It is done using the following schema: + +```mermaid +flowchart LR + ACL_TABLE --> B{Has at least 1 rule} + B --> |Yes| ACL_COUNTER_RULE_MAP + B --> |No| C[No entries in ASIC DB dump] + ACL_COUNTER_RULE_MAP --> COUNTER_OID + COUNTER_OID --> TABLE_OID + TABLE_OID --> TABLE_GROUP_MEMBER + TABLE_GROUP_MEMBER --> TABLE_GROUP +``` + +``` +admin@sonic:~$ dump state acl_table DATA_L3 -t ++------------------+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| acl_table_name | DB_NAME | DUMP | ++==================+===========+===========================================================================================================================================================================================================+ +| DATA_L3 | CONFIG_DB | +-------------------+-----------------------------+ | +| | | | Keys | field-value pairs | | +| | | +===================+=============================+ | +| | | | ACL_TABLE|DATA_L3 | +-------------+-----------+ | | +| | | | | | field | value | | | +| | | | | |-------------+-----------| | | +| | | | | | policy_desc | DATA_L3 | | | +| | | | | | ports | Ethernet0 | | | +| | | | | | | Ethernet4 | | | +| | | | | | stage | ingress | | | +| | | | | | type | L3 | | | +| | | | | +-------------+-----------+ | | +| | | +-------------------+-----------------------------+ | ++------------------+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| DATA_L3 | ASIC_DB | +-----------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------+ | +| | | | Keys | field-value pairs | | +| | | +=======================================================================+===============================================================================================================================+ | +| | | | ASIC_STATE:SAI_OBJECT_TYPE_ACL_TABLE:oid:0x7000000000600 | +---------------------------------------------+-----------------------------------------------------------------------------+ | | +| | | | | | field | value | | | +| | | | | |---------------------------------------------+-----------------------------------------------------------------------------| | | +| | | | | | SAI_ACL_TABLE_ATTR_ACL_BIND_POINT_TYPE_LIST | 2:SAI_ACL_BIND_POINT_TYPE_PORT,SAI_ACL_BIND_POINT_TYPE_LAG | | | +| | | | | | SAI_ACL_TABLE_ATTR_ACL_STAGE | SAI_ACL_STAGE_INGRESS | | | +| | | | | | SAI_ACL_TABLE_ATTR_FIELD_ACL_IP_TYPE | true | | | +| | | | | | SAI_ACL_TABLE_ATTR_FIELD_ACL_RANGE_TYPE | 2:SAI_ACL_RANGE_TYPE_L4_SRC_PORT_RANGE,SAI_ACL_RANGE_TYPE_L4_DST_PORT_RANGE | | | +| | | | | | SAI_ACL_TABLE_ATTR_FIELD_DST_IP | true | | | +| | | | | | SAI_ACL_TABLE_ATTR_FIELD_ETHER_TYPE | true | | | +| | | | | | SAI_ACL_TABLE_ATTR_FIELD_ICMP_CODE | true | | | +| | | | | | SAI_ACL_TABLE_ATTR_FIELD_ICMP_TYPE | true | | | +| | | | | | SAI_ACL_TABLE_ATTR_FIELD_IP_PROTOCOL | true | | | +| | | | | | SAI_ACL_TABLE_ATTR_FIELD_L4_DST_PORT | true | | | +| | | | | | SAI_ACL_TABLE_ATTR_FIELD_L4_SRC_PORT | true | | | +| | | | | | SAI_ACL_TABLE_ATTR_FIELD_OUTER_VLAN_ID | true | | | +| | | | | | SAI_ACL_TABLE_ATTR_FIELD_SRC_IP | true | | | +| | | | | | SAI_ACL_TABLE_ATTR_FIELD_TCP_FLAGS | true | | | +| | | | | +---------------------------------------------+-----------------------------------------------------------------------------+ | | +| | | +-----------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------+ | +| | | | ASIC_STATE:SAI_OBJECT_TYPE_ACL_TABLE_GROUP_MEMBER:oid:0xc000000000602 | +----------------------------------------------------+---------------------+ | | +| | | | | | field | value | | | +| | | | | |----------------------------------------------------+---------------------| | | +| | | | | | SAI_ACL_TABLE_GROUP_MEMBER_ATTR_ACL_TABLE_GROUP_ID | oid:0xb0000000005f7 | | | +| | | | | | SAI_ACL_TABLE_GROUP_MEMBER_ATTR_ACL_TABLE_ID | oid:0x7000000000600 | | | +| | | | | | SAI_ACL_TABLE_GROUP_MEMBER_ATTR_PRIORITY | 100 | | | +| | | | | +----------------------------------------------------+---------------------+ | | +| | | +-----------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------+ | +| | | | ASIC_STATE:SAI_OBJECT_TYPE_ACL_TABLE_GROUP_MEMBER:oid:0xc000000000601 | +----------------------------------------------------+---------------------+ | | +| | | | | | field | value | | | +| | | | | |----------------------------------------------------+---------------------| | | +| | | | | | SAI_ACL_TABLE_GROUP_MEMBER_ATTR_ACL_TABLE_GROUP_ID | oid:0xb0000000005f5 | | | +| | | | | | SAI_ACL_TABLE_GROUP_MEMBER_ATTR_ACL_TABLE_ID | oid:0x7000000000600 | | | +| | | | | | SAI_ACL_TABLE_GROUP_MEMBER_ATTR_PRIORITY | 100 | | | +| | | | | +----------------------------------------------------+---------------------+ | | +| | | +-----------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------+ | +| | | | ASIC_STATE:SAI_OBJECT_TYPE_ACL_TABLE_GROUP:oid:0xb0000000005f7 | +---------------------------------------------------+-----------------------------------+ | | +| | | | | | field | value | | | +| | | | | |---------------------------------------------------+-----------------------------------| | | +| | | | | | SAI_ACL_TABLE_GROUP_ATTR_ACL_BIND_POINT_TYPE_LIST | 1:SAI_ACL_BIND_POINT_TYPE_PORT | | | +| | | | | | SAI_ACL_TABLE_GROUP_ATTR_ACL_STAGE | SAI_ACL_STAGE_INGRESS | | | +| | | | | | SAI_ACL_TABLE_GROUP_ATTR_TYPE | SAI_ACL_TABLE_GROUP_TYPE_PARALLEL | | | +| | | | | +---------------------------------------------------+-----------------------------------+ | | +| | | +-----------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------+ | +| | | | ASIC_STATE:SAI_OBJECT_TYPE_ACL_TABLE_GROUP:oid:0xb0000000005f5 | +---------------------------------------------------+-----------------------------------+ | | +| | | | | | field | value | | | +| | | | | |---------------------------------------------------+-----------------------------------| | | +| | | | | | SAI_ACL_TABLE_GROUP_ATTR_ACL_BIND_POINT_TYPE_LIST | 1:SAI_ACL_BIND_POINT_TYPE_PORT | | | +| | | | | | SAI_ACL_TABLE_GROUP_ATTR_ACL_STAGE | SAI_ACL_STAGE_INGRESS | | | +| | | | | | SAI_ACL_TABLE_GROUP_ATTR_TYPE | SAI_ACL_TABLE_GROUP_TYPE_PARALLEL | | | +| | | | | +---------------------------------------------------+-----------------------------------+ | | +| | | +-----------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------+ | +| | | +---------------------+---------------------+ | +| | | | vid | rid | | +| | | +=====================+=====================+ | +| | | | oid:0x7000000000600 | oid:0x100000007 | | +| | | +---------------------+---------------------+ | +| | | | oid:0xc000000000602 | oid:0x100010000000c | | +| | | +---------------------+---------------------+ | +| | | | oid:0xc000000000601 | oid:0x10000000c | | +| | | +---------------------+---------------------+ | +| | | | oid:0xb0000000005f7 | oid:0x10000000b | | +| | | +---------------------+---------------------+ | +| | | | oid:0xb0000000005f5 | oid:0xb | | +| | | +---------------------+---------------------+ | ++------------------+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +``` + +### 3.2 ACL Rule + +ACL Rules configuration resides in CONFIG DB in table *ACL_RULE*. This information is dumped from CONFIG DB. Orchagent processes *ACL_RULE* configuration and manages the following ASIC resources: + - *SAI_OBJECT_TYPE_ACL_ENTRY* + - *SAI_OBJECT_TYPE_ACL_COUNTER* + - *SAI_OBJECT_TYPE_ACL_RANGE* + +The mapping from CONFIG DB to ASIC DB data is done using the following schema: + +```mermaid +flowchart LR + ACL_RULE --> ACL_COUNTER_RULE_MAP + ACL_COUNTER_RULE_MAP --> COUNTER_OID + COUNTER_OID --> RULE_OID + RULE_OID --> RANGE_OID +``` + +*NOTE*: Mirror rules might be not present in ASIC DB depending on the mirror session state. + +Example: +``` +admin@sonic:~$ dump state acl_rule 'DATA_L3|R1' -t ++-----------------+-----------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ +| acl_rule_name | DB_NAME | DUMP | ++=================+===========+==========================================================================================================================================================+ +| DATA_L3|R1 | CONFIG_DB | +---------------------+---------------------------------+ | +| | | | Keys | field-value pairs | | +| | | +=====================+=================================+ | +| | | | ACL_RULE|DATA_L3|R1 | +-------------------+---------+ | | +| | | | | | field | value | | | +| | | | | |-------------------+---------| | | +| | | | | | L4_DST_PORT_RANGE | 90-95 | | | +| | | | | | L4_SRC_PORT_RANGE | 80-100 | | | +| | | | | | PACKET_ACTION | FORWARD | | | +| | | | | | PRIORITY | 9995 | | | +| | | | | +-------------------+---------+ | | +| | | +---------------------+---------------------------------+ | ++-----------------+-----------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ +| DATA_L3|R1 | ASIC_DB | +------------------------------------------------------------+-----------------------------------------------------------------------------------------+ | +| | | | Keys | field-value pairs | | +| | | +============================================================+=========================================================================================+ | +| | | | ASIC_STATE:SAI_OBJECT_TYPE_ACL_COUNTER:oid:0x9000000000606 | +------------------------------------------+---------------------+ | | +| | | | | | field | value | | | +| | | | | |------------------------------------------+---------------------| | | +| | | | | | SAI_ACL_COUNTER_ATTR_ENABLE_BYTE_COUNT | true | | | +| | | | | | SAI_ACL_COUNTER_ATTR_ENABLE_PACKET_COUNT | true | | | +| | | | | | SAI_ACL_COUNTER_ATTR_TABLE_ID | oid:0x7000000000600 | | | +| | | | | +------------------------------------------+---------------------+ | | +| | | +------------------------------------------------------------+-----------------------------------------------------------------------------------------+ | +| | | | ASIC_STATE:SAI_OBJECT_TYPE_ACL_ENTRY:oid:0x8000000000609 | +-----------------------------------------+-------------------------------------------+ | | +| | | | | | field | value | | | +| | | | | |-----------------------------------------+-------------------------------------------| | | +| | | | | | SAI_ACL_ENTRY_ATTR_ACTION_COUNTER | oid:0x9000000000606 | | | +| | | | | | SAI_ACL_ENTRY_ATTR_ACTION_PACKET_ACTION | SAI_PACKET_ACTION_FORWARD | | | +| | | | | | SAI_ACL_ENTRY_ATTR_ADMIN_STATE | true | | | +| | | | | | SAI_ACL_ENTRY_ATTR_FIELD_ACL_RANGE_TYPE | 2:oid:0xa000000000607,oid:0xa000000000608 | | | +| | | | | | SAI_ACL_ENTRY_ATTR_PRIORITY | 9995 | | | +| | | | | | SAI_ACL_ENTRY_ATTR_TABLE_ID | oid:0x7000000000600 | | | +| | | | | +-----------------------------------------+-------------------------------------------+ | | +| | | +------------------------------------------------------------+-----------------------------------------------------------------------------------------+ | +| | | | ASIC_STATE:SAI_OBJECT_TYPE_ACL_RANGE:oid:0xa000000000607 | +--------------------------+--------------------------------------+ | | +| | | | | | field | value | | | +| | | | | |--------------------------+--------------------------------------| | | +| | | | | | SAI_ACL_RANGE_ATTR_LIMIT | 80,100 | | | +| | | | | | SAI_ACL_RANGE_ATTR_TYPE | SAI_ACL_RANGE_TYPE_L4_SRC_PORT_RANGE | | | +| | | | | +--------------------------+--------------------------------------+ | | +| | | +------------------------------------------------------------+-----------------------------------------------------------------------------------------+ | +| | | | ASIC_STATE:SAI_OBJECT_TYPE_ACL_RANGE:oid:0xa000000000608 | +--------------------------+--------------------------------------+ | | +| | | | | | field | value | | | +| | | | | |--------------------------+--------------------------------------| | | +| | | | | | SAI_ACL_RANGE_ATTR_LIMIT | 90,95 | | | +| | | | | | SAI_ACL_RANGE_ATTR_TYPE | SAI_ACL_RANGE_TYPE_L4_DST_PORT_RANGE | | | +| | | | | +--------------------------+--------------------------------------+ | | +| | | +------------------------------------------------------------+-----------------------------------------------------------------------------------------+ | +| | | +---------------------+--------------------+ | +| | | | vid | rid | | +| | | +=====================+====================+ | +| | | | oid:0x9000000000606 | oid:0x600000070009 | | +| | | +---------------------+--------------------+ | +| | | | oid:0x8000000000609 | oid:0x100010008 | | +| | | +---------------------+--------------------+ | +| | | | oid:0xa000000000607 | oid:0xa | | +| | | +---------------------+--------------------+ | +| | | | oid:0xa000000000608 | oid:0x20000000a | | +| | | +---------------------+--------------------+ | ++-----------------+-----------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ +``` + +## 4 **Unit Tests**: | S.No | Test case synopsis | |------|-----------------------------------------------------------------------------------------------------------------------------------------| @@ -798,10 +1000,10 @@ Return Dict: | 3 | Verify all the options in the CLI is working as expected | | 4 | Verify the namespace arg is working as expected | | 5 | Verify dump cli options are working as expected | -| 6 | Unit tests should be added for every new module added | +| 6 | Unit tests should be added for every new module added | -## 4 **TechSupport** +## 5 **TechSupport** Output for every which extends from Executor class will be added to the techsupport dump. Every Json file will have the corresponding output: `dump state all -k`. Output will be printed in JSON format for TechSupport Dumps. Only the related keys information will be present in the unified_dump_folder as entire DB dumps are already present in the dump/folder. @@ -815,9 +1017,9 @@ $BASE ├── port ├── ├── ....... - ├── + ├── ├──── etc/ - ├──── log/ + ├──── log/ ├──── ...... ├──── ...... ``` diff --git a/doc/auto_techsupport_and_coredump_mgmt.md b/doc/auto_techsupport_and_coredump_mgmt.md index 45640d2423..2341abbd95 100644 --- a/doc/auto_techsupport_and_coredump_mgmt.md +++ b/doc/auto_techsupport_and_coredump_mgmt.md @@ -7,25 +7,29 @@ * [1. Overview](#1-overview) * [2. High Level Requirements](#2-high-level-requirements) * [3. Core Dump Generation in SONiC](#3-core-dump-generation-in-sonic) - * [4. Schema Additions](#4-schema-additions) - * [6. CLI Enhancements](#5-cli-enhancements) + * [4. Memory usage based techsupport invocation](#4-Memory-usage-based-techsupport-invocation) + * [5. Schema Additions](#5-schema-additions) + * [6. CLI Enhancements](#6-cli-enhancements) * [7. Design](#6-design) - * [6.1 Modifications to coredump-compress script](#61-Modifications-to-coredump-compress-script) - * [6.2 coredump_gen_handler script](#62-coredump_gen_handler-script) - * [6.3 Modifications to generate_dump script](#64-Modifications-to-generate-dump-script) - * [6.4 techsupport_cleanup script](#65-techsupport_cleanup-script) - * [6.5 Warmboot consideration](#65-Warmboot-consideration) - * [6.6 MultiAsic consideration](#66-MultiAsic-consideration) - * [6.7 Design choices for max-techsupport-limit & max-techsupport-limit arguments](#67-Design-choices-for-max-core-limit-&-max-techsupport-limit-arguments) - * [8. Test Plan](#7-Test-Plan) - * [9. SONiC-to-SONiC Upgrade Considerations](#8-SONiC-to-SONiC-Upgrade-Considerations) + * [7.1 Modifications to coredump-compress script](#71-Modifications-to-coredump-compress-script) + * [7.2 coredump_gen_handler script](#72-coredump_gen_handler-script) + * [7.3 Modifications to generate_dump script](#73-Modifications-to-generate-dump-script) + * [7.4 techsupport_cleanup script](#74-techsupport_cleanup-script) + * [7.5 Warmboot consideration](#75-Warmboot-consideration) + * [7.6 MultiAsic consideration](#76-MultiAsic-consideration) + * [7.7 Design choices for max-techsupport-limit & max-techsupport-limit arguments](#77-Design-choices-for-max-core-limit-&-max-techsupport-limit-arguments) + * [7.8 Techsupport Locking](#78-Techsupport-Locking) + * [8. Test Plan](#8-Test-Plan) + * [9. SONiC-to-SONiC Upgrade Considerations](#9-SONiC-to-SONiC-Upgrade-Considerations) + * [10. App Extension Consideration](#9-App-Extension-Considerations) + * [11. Open questions](#10-Open-questions) ### Revision | Rev | Date | Author | Change Description | |:---:|:-----------:|:-------------------------|:----------------------| | 1.0 | 06/22/2021 | Vivek Reddy Karri | Auto Invocation of Techsupport, triggered by a core dump | -| 1.1 | TBD | Vivek Reddy Karri | Add the capability to Register/Deregister app extension to AUTO_TECHSUPPORT_FEATURE table | +| 1.1 | 04/08/2022 | Vivek Reddy Karri | Add the capability to Register/Deregister app extension to AUTO_TECHSUPPORT_FEATURE table | | 2.0 | TBD | Vivek Reddy Karri | Extending Support for Kernel Dumps | | 3.0 | 02/2022 | Stepan Blyshchak | Extending Support for memory usage threshold crossed | @@ -380,13 +384,13 @@ sonic_dump_r-lionfish-16_20210901_222408 teamd python3.1630535045.34. ``` -## 6. Design +## 7. Design -### 6.1 Modifications to coredump-compress script +### 7.1 Modifications to coredump-compress script The coredump-compress script is updated to invoke the `coredump_gen_handler` script once it is done writing the core file to /var/core. Any stdout/stderr seen during the execution of `coredump_gen_handler` script is redirected to `/tmp/coredump_gen_handler.log`. This script is enhanced to determine which container the dump belongs to and passes it to the coredump_gen_handler script. -### 6.2 coredump_gen_handler script +### 7.2 coredump_gen_handler script A script under the name `coredump_gen_handler.py` is added to `/usr/local/bin/` directory which will be invoked after a coredump is generated. The script first checks if this feature is enabled by the user. The script then verifies if a core dump file is created within the last 20 sec and if yes, it moves forward. @@ -405,11 +409,11 @@ DATE sonic NOTICE coredump_gen_handler[pid]: coredump_cleanup is disabled. No c DATE sonic ERR coredump_gen_handler[pid]: "show techsupport --since '2 days ago'" was run, but no techsupport dump is found ``` -### 6.3 Modifications to generate_dump script +### 7.3 Modifications to generate_dump script The generate_dump script is updated to invoke the `techsupport_cleanup` script to handle the cleanup of techsupport files. Any stdout/stderr seen during the execution of `techsupport_cleanup` script is redirected to `/tmp/coredump_gen_handler.log` -### 6.4 techsupport_cleanup script +### 7.4 techsupport_cleanup script A script under the name `techsupport_cleanup.py` is added to `/usr/local/bin/` directory which will be invoked after a techsupport dump is created. The script first checks if the feature is enabled by the user. It then checks if the limit configured by the user has crossed and deletes the old techsupport files, if any. @@ -419,17 +423,17 @@ DATE sonic NOTICE techsupport_cleanup[pid]: techsupport_cleanup is disabled. No DATE sonic INFO coredump_gen_handler[pid]: max-techsupport-size argument is not set. No Cleanup is performed, current size occupied: 456 MB ``` -### 6.5 Warmboot consideration +### 7.5 Warmboot consideration No changes to this flow -### 6.6 MultiAsic consideration +### 7.6 MultiAsic consideration Configuration specified for the default feature name in the AUTO_TECHSUPPORT_FEATURE table is applied across all the masic instances. i.e. rate_limit_interval defined in the AUTO_TECHSUPPORT_FEATURE|swss key is applied for swss1, swss2, etc -### 6.7 Design choices for max-techsupport-limit & max-techsupport-limit arguments +### 7.7 Design choices for max-techsupport-limit & max-techsupport-limit arguments Firstly, Size-based cleanup design was inspired from MaxUse= Argument in the systemd-coredump.conf https://www.freedesktop.org/software/systemd/man/coredump.conf.html @@ -452,7 +456,15 @@ A default value of 5% would amount to a minimum of 500 MB which is a already a d Although if the admin feels otherwise, these values are configurable. -## 7. Test Plan +### 7.8 Techsupport Locking + +Recently, an enhancement was made to techsupport script to only run one instance at a time by using a locking mechanism. When other script instance of techsupport tries to run, it'll exit with a relevent code. This would apply nevertheless of how a techsupport was invoked i.e. manual or through auto-techsupport. + +With this change, rate-limit-interval of zero would not make any difference. The locking mechanism would implicitly impose a minimum rate-limit-interval of techsupport execution time. And since, the techsupport execution time can't be found out and varies based on underlying machine and system state, the range of values configurable for the rate-limit-interval is left unchanged + +A relevant message will be logged to syslog when the invocation fails because of LOCKFAIL exit code. + +## 8. Test Plan Enhance the existing techsupport sonic-mgmt test with the following cases. @@ -462,96 +474,25 @@ Enhance the existing techsupport sonic-mgmt test with the following cases. | 2 | Check if the techsupport cleanup is working as expected | | 3 | Check if the global rate-& & per-process rate-limit-interval is working as expected | | 4 | Check if the core-dump cleanup is working as expected | -| 5 | Check if the core-dump generated when reaching memory threshold | -## 8. SONiC-to-SONiC Upgrade Considerations +| 5 | Check if the core-dump generated when reaching memory threshold | -The default config required for auto_techsupport is present in the init_cfg.json. Therefore, when a clean installation of SONiC is performed, the configuration is found in the config DB and the feature is active. +## 9. SONiC-to-SONiC Upgrade Considerations -However, in the case of SONiC-SONiC upgrade, the previous config_db.json is migrated and init_cfg.json is not involved. In that case, it is the responsibility of the admin to provide the config, if the admin wants to leverage this feature. +The configuration in the init_cfg.json is loaded to the running config i.e. CONFIG_DB even in the case of SONiC-SONiC upgrade from a older image which doesn't support this feature. -Load this Example config provided below to enable the feature. Each of the fields are explained in Section 4 and can be modified accordingly +### 10 App Extension Considerations + +Detailed Info related to Appliation Extension can be found here: https://github.com/Azure/SONiC/blob/master/doc/sonic-application-extension/sonic-application-extention-hld.md + +A new AUTO_TECHSUPPORT_FEATURE register/deregister option will be introduced. The existing FeatureRegistry class will be enahcned to also add/delete configuration related to AUTO_TECHSUPPORT_FEATURE table. + +This will be run when the application installs/uninstalls. Since, the auto-techsupport feature uses compile time flag to determine whether to enable/disable itself, it is not possible to determine that at runtime when the application is installed. + +Thus the decision to whether or not to enable the new feature will be based on the current values of AUTO_TECHSUPPORT & AUTO_TECHSUPPORT_FEATURE tables. The default value for new feature will be disabled if the global state is shown disabled in init_cfg.json. If not, the feature will be enabled. The rate-limit-interval & memory threshold is set to 600 & 10% by default. + +When the app get un-installed, all the config will be cleared unless keep-config option is used. -``` -{ - "AUTO_TECHSUPPORT": { - "GLOBAL": { - "state": "enabled", - "rate_limit_interval": "180", - "max_techsupport_limit": "10.0", - "max_core_limit": "5.0", - "available_mem_threashold": "10.0", - "since": "2 days ago" - } - }, - "AUTO_TECHSUPPORT_FEATURE": { - "bgp": { - "state": "enabled", - "rate_limit_interval": "600" - }, - "database": { - "state": "enabled", - "rate_limit_interval": "600" - }, - "lldp": { - "state": "enabled", - "rate_limit_interval": "600" - }, - "pmon": { - "state": "enabled", - "rate_limit_interval": "600" - }, - "radv": { - "state": "enabled", - "rate_limit_interval": "600" - }, - "snmp": { - "state": "enabled", - "rate_limit_interval": "600" - }, - "swss": { - "state": "enabled", - "rate_limit_interval": "600" - }, - "syncd": { - "state": "enabled", - "rate_limit_interval": "600" - }, - "teamd": { - "state": "enabled", - "rate_limit_interval": "600" - }, - "dhcp_relay": { - "state": "enabled", - "rate_limit_interval": "600" - }, - "mgmt-framework": { - "state": "enabled", - "rate_limit_interval": "600" - }, - "mux": { - "state": "enabled", - "rate_limit_interval": "600" - }, - "nat": { - "state": "enabled", - "rate_limit_interval": "600" - }, - "sflow": { - "state": "enabled", - "rate_limit_interval": "600" - }, - "macsec": { - "state": "enabled", - "rate_limit_interval": "600" - }, - "telemetry": { - "state": "enabled", - "rate_limit_interval": "600" - } - } -} -``` -# Open question +## 11. Open questions 1. Is 10 % free memory/90 % used memory threshold a reasonable default? diff --git a/doc/fast-reboot/BGP.svg b/doc/fast-reboot/BGP.svg new file mode 100644 index 0000000000..7d640569cb --- /dev/null +++ b/doc/fast-reboot/BGP.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/doc/fast-reboot/Fast-reboot_Flow_Improvements_HLD.md b/doc/fast-reboot/Fast-reboot_Flow_Improvements_HLD.md new file mode 100644 index 0000000000..f7b044b82e --- /dev/null +++ b/doc/fast-reboot/Fast-reboot_Flow_Improvements_HLD.md @@ -0,0 +1,229 @@ +# Fast-reboot Flow Improvements HLD + +# Table of Contents +- [Fast-reboot Flow Improvements HLD](#fast-reboot-flow-improvements-hld) +- [Table of Contents](#table-of-contents) +- [List of Figures](#list-of-figures) +- [1 Overview](#1-overview) +- [2 Functional Requirements](#2-functional-requirements) +- [3 Use Cases](#3-use-cases) + - [3.1 In-Service restart and upgrade](#31-in-service-restart-and-upgrade) + - [3.2 In-Service restart and upgrade from a vendor NOS to SONiC NOS](#32-in-service-restart-and-upgrade-from-a-vendor-nos-to-sonic-nos) +- [4 Reconciliation at syncd](#4-reconciliation-at-syncd) + - [4.1 Orchagent Point Of View](#41-orchagent-point-of-view) + - [4.2 Syncd Point Of View - INIT/APPLY view framework](#42-syncd-point-of-view---initapply-view-framework) + - [4.3 neighsyncd Point Of View](#43-neighsyncd-point-of-view) + - [4.4 fpmsyncd Point Of View](#44-fpmsyncd-point-of-view) + - [4.5 Reboot finalizer](#45-reboot-finalizer) +- [5 SONiC Application Extension Infrastructre Integration](#5-sonic-application-extension-infrastructre-integration) + +# List of Figures +* [Syncd and Orchagent](#42-syncd-point-of-view---initapply-view-framework) +* [Neighbors](#43-neighsyncd-point-of-view) +* [BGP](#44-fpmsyncd-point-of-view) +* [Finalizer](#45-reboot-finalizer) + +# 1 Overview + +The goal of SONiC fast-reboot is to be able to restart and upgrade SONiC software with a data plane disruption less than 30 seconds and control plane less than 90 seconds. +With current implementation there is no indication of the fast-reboot status, meaning we don't have a way to determine if the flow has finished or not. +Some feature flows in SONiC are delayed with a timer to keep the CPU dedicated to the fast-reboot init flow for best perforamnce, like enablement of flex counters. +In order to have such indicator, re-use of the fastfast-reboot infrastructure can be used. + +Each network application will experience similar processing flow. +Application and corresponding orchagent sub modules need to work together to restore the preboot state and push it to the ASIC. +Take neighbor as an example, upon restart operation every neighbor we had prior to the reboot should be created again after resetting the ASIC. +We should also synchronize the actual neighbor state after recovering it, the MAC of the neighbor could have changed, went down for some reason etc. +In this case, restore_neighbors.py script will align the network state with the switch state by sending ARP/NDP to all known neighbors prior the reboot. +neighsyncd will update the internal cache with all neighbors and push all to APP DB, orchagent will then add/remove/update any neighbor and get syncd to program the HW with the new data. + +In addition to the recover mechanism, the warmboot-finalizer can be enhanced to finalize fast-reboot as well and introduce a new flag indicating the process is done. +This new flag can be used later on for any functionality, we want to start only after init flow finished in case of fast-reboot. +This is to prevent interference in the fast-reboot reconciliation process and impair the performance, for example enablement of flex counters. + +References: +https://github.com/Azure/SONiC/blob/master/doc/fast-reboot/fastreboot.pdf +https://github.com/Azure/sonic-swss/blob/master/neighsyncd/restore_neighbors.py +https://github.com/Azure/sonic-buildimage/blob/master/dockers/docker-orchagent/enable_counters.py + +# 2 Functional Requirements + +The new Fast-reboot design should meet the following requirments: + +- Reboot the switch into a new SONiC software version using kexec - less than 5 seconds. +- Upgrade the switch FW by the new SONiC image if needed. +- Recover all application's state with the new image to the previous state prior the reboot. +- Recover ASIC state after reset to the previous state prior the reboot. +- Recover the Kernel internal DB state after reset to the previous state prior the reboot. +- Sync the Kernel and ASIC with changes on the network which happen during fast-reboot. +- Control plane downtime will not exceed 90 seconds. +- Data plane downtime will not exceed 30 seconds. + +# 3 Use Cases + +## 3.1 In-Service restart and upgrade + +### SWSS docker + +When swss docker starts with the new kernel, all the port/LAG, vlan, interface, arp and route data should be restored from CONFIG DB, APP DB, Linux Kernel and other reliable sources. There could be ARP, FDB changes during the restart window, proper sync processing should be performed. + +### Syncd docker + +The restart of syncd docker should leave data plane intact until it starts again with the new kernel. After restart, syncd configures the HW with the state prior the reboot by all network applications. + +## 3.2 In-Service restart and upgrade from a vendor NOS to SONiC NOS + +Fast-reboot will finish successfully from a different NOS than SONiC with two possible scenarios: + - Dump files of default gateway, neighbors and fdb tables are provided to the new image in a format that meet the SONiC scheme, as SONiC does prior the reboot. + - On this scenario all should work exacly the same as the switch rebooted from SONiC to SONiC. + + - Dump files of default gateway, neighbors and fdb tables are not provided to the new image as SONiC does prior the reboot. + - On this scenario fast-reboot will finish successfully, but with low performance since all neighbors and fdb entries will be created by the slow path. + +Here are test results for both scenarios tested on a SONiC switch based on 202111 branch hash 339e68e1d, Nvidia SN2700 platform. + + - With dump files: + +``` +2022-05-18 14:48:32 : -------------------------------------------------- +2022-05-18 14:48:32 : Summary: +2022-05-18 14:48:32 : -------------------------------------------------- +2022-05-18 14:48:32 : Longest downtime period was 0:00:28.066813 +2022-05-18 14:48:32 : Reboot time was 0:01:45.150628 +2022-05-18 14:48:32 : Expected downtime is less then 0:00:30 +2022-05-18 14:48:32 : -------------------------------------------------- +2022-05-18 14:48:32 : Additional info: +2022-05-18 14:48:32 : -------------------------------------------------- +2022-05-18 14:48:32 : INFO:10.213.84.185:PortChannel interface state changed 1 times +2022-05-18 14:48:32 : INFO:10.213.84.184:PortChannel interface state changed 1 times +2022-05-18 14:48:32 : INFO:10.213.84.187:PortChannel interface state changed 1 times +2022-05-18 14:48:32 : INFO:10.213.84.186:PortChannel interface state changed 1 times +2022-05-18 14:48:32 : INFO:10.213.84.181:PortChannel interface state changed 1 times +2022-05-18 14:48:32 : INFO:10.213.84.183:PortChannel interface state changed 1 times +2022-05-18 14:48:32 : INFO:10.213.84.182:PortChannel interface state changed 1 times +2022-05-18 14:48:32 : INFO:10.213.84.188:PortChannel interface state changed 1 times +2022-05-18 14:48:32 : -------------------------------------------------- +2022-05-18 14:48:32 : ================================================== +``` + + - With no dump files: + +``` +2022-05-18 15:56:33 : -------------------------------------------------- +2022-05-18 15:56:33 : Summary: +2022-05-18 15:56:33 : -------------------------------------------------- +2022-05-18 15:56:33 : Longest downtime period was 0:00:25.112824 +2022-05-18 15:56:33 : Reboot time was 0:01:36.778029 +2022-05-18 15:56:33 : Expected downtime is less then 0:00:30 +2022-05-18 15:56:33 : -------------------------------------------------- +2022-05-18 15:56:33 : Additional info: +2022-05-18 15:56:33 : -------------------------------------------------- +2022-05-18 15:56:33 : INFO:10.213.84.185:PortChannel interface state changed 1 times +2022-05-18 15:56:33 : INFO:10.213.84.184:PortChannel interface state changed 1 times +2022-05-18 15:56:33 : INFO:10.213.84.187:PortChannel interface state changed 1 times +2022-05-18 15:56:33 : INFO:10.213.84.186:PortChannel interface state changed 1 times +2022-05-18 15:56:33 : INFO:10.213.84.181:PortChannel interface state changed 1 times +2022-05-18 15:56:33 : INFO:10.213.84.183:PortChannel interface state changed 1 times +2022-05-18 15:56:33 : INFO:10.213.84.182:PortChannel interface state changed 1 times +2022-05-18 15:56:33 : INFO:10.213.84.188:PortChannel interface state changed 1 times +2022-05-18 15:56:33 : -------------------------------------------------- +2022-05-18 15:56:33 : -------------------------------------------------- +2022-05-18 15:56:33 : Fails: +2022-05-18 15:56:33 : -------------------------------------------------- +2022-05-18 15:56:33 : FAILED:dut:Total downtime period must be less then 0:00:30 seconds. It was 48.5044789314 +2022-05-18 15:56:33 : ================================================== +``` + +A proper automatic functional test case covering the scenario of vendor NOS to SONiC NOS reboot should be implemented as part of this feature. +The test will simulate such scenario by dropping the dump files and perform fast-reboot without it. + +# 4 Reconciliation at syncd + +## 4.1 Orchagent Point Of View + +If dump files provided by the previous image prior the reboot, all tables should be pushed to APP DB for reconciling orchagent. +If no dumps are provided, orchagent will reconcile with no information from prior the reboot. +On this case all ARP and FDB entries will be created by the slow path, meaning ARP packets will exchange between the switch and the neighbors and will be created according to the neighbors response, from kernel to the ASIC. +Same for FDB entries which will be created by the kernel as well, depends on the traffic flowing through the switch. +When orchagent starts with the new SONiC image, the same infrastructure we use to reconcile fastfast-boot will start. +After INIT_VIEW and create_switch functions sent to syncd (reset of the ASIC took place here), 'warmRestoreAndSyncUp' will be executed. +This function will populate m_toSync with all tasks for syncd, by APP DB and CONFIG DB prior the reboot. +To verify orchagent reached the same state as before the reboot, 'warmRestoreValidation' will verify no pending tasks left in the queue, meaning all proccessed succesfully and in the pipeline for syncd to configure the HW. +At the end APPLY_VIEW will be sent to syncd to finalize the process, from this point orchagent enter the main loop and operates normally. + +### NOTICE + +'warmRestoreValidation' might fail the operation just like in fastfast-reboot case, if the way orchagent process an event from the DB is handled differently with the new software version the task will fail to execute and fast-reboot will fail along with it. +This is solvable by the db migrator. + +## 4.2 Syncd Point Of View - INIT/APPLY view framework + +Syncd starts with the fast-reboot flag, trigger the ASIC reset when create_switch is requested from orchagent. +In addition, on this case temp view flag will set to false since it is not required, no comparison logic needed since current view is empty. +Basically INIT and APPLY view requests from orchagent are ignored by syncd, but bound the process from start to end. +During reconsilations process of orchagent, syncd will recieve all tasks to restore the previous state. +All other network applications will do the same as we do today for warm-reboot. + +![Syncd](/doc/fast-reboot/Orchagent_Syncd.svg) + +## 4.3 neighsyncd Point Of View + +Neighbors configuration is a crucial part of the L3 switch software. It is best when the neighbor configuration on the hardware is in sync with the actual switch neighbors on the network. It can't be assumed that neighbors won't change during warm restart window, while the software is restarting, the SONiC switch software has to be ready for scenarios in which during the restart window: + - Existing neighbors went down, e.g: VMs crashed on the server connected to ToR switch which undergoes fast-reboot. + - New neighbors appeared on the network, e.g: VMs created on the server connected to ToR switch which undergoes fast-reboot. + - MAC changes, e.g: VMs re-created or re-configured on the server connected to ToR switch which undergoes fast-reboot. + +![Neighbors](/doc/fast-reboot/Neighbors.svg) + +## 4.4 fpmsyncd Point Of View + + - When BGP on a router restarts, all the BGP peers detect that the session went down and then came up. This "down/up" transition results in a "routing flap" and causes BGP route re-computation, generation of BGP routing updates, and unnecessary churn to the forwarding tables. + - BGP capability, termed "Graceful Restart Capability", is defined that would allow a BGP speaker to express its ability to preserve forwarding state during BGP restart. + - An UPDATE message with no reachable Network Layer Reachability Information (NLRI) and empty withdrawn NLRI is specified as the End-of-RIB marker that can be used by a BGP speaker to indicate to its peer the completion of the initial routing update after the session is established. + +![BGP](/doc/fast-reboot/BGP.svg) + +## 4.5 Reboot finalizer + +Today we have a tool used for warm-reboot to collect all reconsiliation flags from the different network applications. +This tool can be enhanced to consider fast-reboot as well and introduce a new flag indicating the end of the process. +This flag can be used to trigger any flow or application we want to delay until init flow has finished. + +![Finalizer](/doc/fast-reboot/Finalizer.svg) + +# 5 SONiC Application Extension Infrastructre Integration + +A SONiC package can specify an order of shutdown on fast-reboot for a service. A "bgp" may specify "radv" in this field in order to avoid radv to announce departure and cause hosts to lose default gateway, while "teamd" service has to stop before "syncd", but after "swss" to be able to send the last LACP PDU through CPU port right before CPU port becomes unavailable. + +The fast-reboot service shutdown script has to be auto-generated from a template /usr/share/sonic/templates/fast-shutdown.sh.j2. The template is derived from the fast-reboot script from sonic-utlities. + +A services shutdown is an ordered executions of systemctl stop {{ service }} commands with an exception for "swss" service after which a syncd pre-shutdown is requested and database backup is prepared for next boot. A service specific actions that are executed on fast-shutdown are hidden inside the service stop script action. + +NOTE: the assumption here is that syncd pre-shutdown is bound to swss service stop when swss service is doing system level shutdown. + +The *-shutdown.sh are imported and executed in corresponding *-reboot scripts. + +###### fast-shutdown.sh.j2 snippet +``` +... +{% for service in shutdown_orider %} +systemctl stop {{ service }} +{% endfor %} +... +``` + +reboot-finalizer.sh (warm-finalizer.sh) script must also be templatized and updated based on process reconciles flag. + +###### manifest path + +| Path | Value | Mandatory | Description | +| ----------------------------- | --------------- | --------- | -------------------------------------------------------------------------------------------------------------------- | +| /service/fast-shutdown/ | object | no | Fast reboot related properties. Used to generate the fast-reboot script. | +| /service/fast-shutdown/after | lits of strings | no | Same as for warm-shutdown. | +| /service/fast-shutdown/before | lits of strings | no | Same as for warm-shutdown. | +| /processes | object | no | Processes infromation | +| /processes/[name]/reconciles | boolean | no | Wether process performs warm-boot reconciliation, the warmboot-finalizer service has to wait for. Defaults to False. | + + +This chapter it taken from SONiC Application Extension Infrastructure HLD: +https://github.com/Azure/SONiC/blob/master/doc/sonic-application-extension/sonic-application-extention-hld.md#warmboot-and-fastboot-design-impact diff --git a/doc/fast-reboot/Finalizer.svg b/doc/fast-reboot/Finalizer.svg new file mode 100644 index 0000000000..1decb1a38a --- /dev/null +++ b/doc/fast-reboot/Finalizer.svg @@ -0,0 +1,4 @@ + + + +
fpmsyncd
fpmsyncd
neighsyncd
neighsyncd
Redis DB
Redis DB
Reboot Reconciliation Table
Reboot Reconciliation Table
SWSS
SWSS
1. Collect all flags
2. Push finalizer flag
1. Collect all flags...
Reboot
Finalizer
Reboot...
Enable
Counters
Enable...
FlexCounterOrch
FlexCounterOrch
1.Send orchagent reconsiled flag
2. Receive reboot finalizer event
1.Send orchagent reconsiled fla...
Text is not SVG - cannot display
\ No newline at end of file diff --git a/doc/fast-reboot/Neighbors.svg b/doc/fast-reboot/Neighbors.svg new file mode 100644 index 0000000000..193119e839 --- /dev/null +++ b/doc/fast-reboot/Neighbors.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/doc/fast-reboot/Orchagent_Syncd.svg b/doc/fast-reboot/Orchagent_Syncd.svg new file mode 100644 index 0000000000..563c956a4e --- /dev/null +++ b/doc/fast-reboot/Orchagent_Syncd.svg @@ -0,0 +1,4 @@ + + + +
fast-reboot script
fast-reboot scri...
kexec
kexec
Redis DB
Load DB
Load DB
orchagent
Success
Success
Take DB dump
Take DB dump
Success
Success
Stop services
Stop services
syncdASIC
New kernel
New kernel
INIT_VIEW
INIT_VIEW
Success
Success
APP + CONFIG DB
APP + CONFIG DB
create_switch
create_switch
Success
Success
SAIRedis tasks
SAIRedis tasks
SAI API's
SAI API's
Success
Success
Success
Success
APPLY_VIEW
APPLY_VIEW
Restore Validation
Restore Va...
Reconsiliation flag
Reconsiliation flag
Text is not SVG - cannot display
\ No newline at end of file diff --git a/doc/fips/SONiC-OpenSSL-FIPS-140-3.md b/doc/fips/SONiC-OpenSSL-FIPS-140-3.md new file mode 100644 index 0000000000..aa750592d5 --- /dev/null +++ b/doc/fips/SONiC-OpenSSL-FIPS-140-3.md @@ -0,0 +1,168 @@ +# SONIC OpenSSL FIPS 140-3 HLD + +## Revision + +| Rev | Date | Author | Change Description | +| :---: | :--------: | :--------: | ------------------ | +| 0.1 | 2022-02-22 | Xuhui Miao | Initial version | + +## Table of Contents +- [Abbreviation](#abbreviation) +- [Requirement](#requirement) +- [The cryptographic modules in SONiC](#the-cryptographic-modules-in-SONiC) +- [OpenSSL FIPS 140-3](#OpenSSL-FIPS-140-3) + * [OpenSSL Engine](#OpenSSL-Engine) + * [SymCrypt OpenSSL Engine](#symCrypt-openSSL-engine) + * [OpenSSL configuration for SymCrypt Engine](#OpenSSL-configuration-for-SymCrypt-Engine) + * [OpenSSL configuration enhancement](#OpenSSL-configuration-enhancement) + * [SymCrypt OpenSSL Engine debian package](#SymCrypt-OpenSSL-Engine-debian-package) +- [Kerberos Cryptographic Module](#Kerberos-Cryptographic-Module) +- [Golang Cryptographic Module](#Golang-Cryptographic-Module) +- [Application Impact](#Application-Impact) +- [SONiC FIPS Configuration](#SONiC-FIPS-Configuration) + * [Enable FIPS on system level](#Enable-FIPS-on-system-level) + * [Enable FIPS on application level](#Enable-FIPS-on-application-level) + * [SONiC Build Options](#SONiC-Build-Options) +- [Q&A](#Q&A) + + +## Abbreviation + +| Abbreviation | Description | +| ------------ | -------------------------------------------- | +| CAVP | Cryptographic Algorithm Validation Program | +| CST | Cryptographic and Security Test | +| CMVP | Cryptographic Module Validation Program | +| FIPS | Federal Information Processing Standard | + +## Requirement +SONiC only uses cryptographic modules validated by FIPS 140-3, Make SONiC compliant with FIPS 140-3. + +## The cryptographic modules in SONiC + +| Module | Use Scenarios | Description | +| -------------------- | --------------- | -------------------------------------------- | +| OpenSSL | Python, OpenSSH | Cyptography and SSL/TLS ToolKit | +| Kerberos | OpenSSH | Kerboros contains builtin crypto module | +| Golang | sonic-restapi | Golang contains builtin crypto module | +| Libgcrypto | GPG | A general purpose cryptographic library originally based on code from GnuPG | +| Kernel Crypto | -- | Linux crypto kernel module | + +## Scopes: +In Scopes: +1. OpenSSL +2. Kerberos +3. Golang + +Out of Scopes: +1. Linux Kernel +2. Libgcrypt + + +## OpenSSL FIPS 140-3 + +![FIPS Overview](images/fips-overview.png) + +### OpenSSL Engine +OpenSSL supports engine cryptographic modules in the form of engine objects, and provides a reference-counted mechanism to allow them to be dynamically loaded in and out of the running application. An engine object can implement one or all cryptographic algorithms. + +### SymCrypt OpenSSL Engine +The [SymCrypt engine for OpenSSL (SCOSSL)](https://github.com/microsoft/SymCrypt-OpenSSL) allows the use of OpenSSL with [SymCrypt](https://github.com/microsoft/SymCrypt) as the provider for core cryptographic operations. It leverages the OpenSSL engine interface to override the cryptographic implementations in OpenSSL's libcrypto. The primary motivation for this is to support FIPS certification, as OpenSSL 1.1.1 does not have a FIPS-certified cryptographic module. Microsoft will submit the FIPS 140-3 reports for SymCrypt to CMVP. + +The SymCrypt Engine is one of the implementation to support FIPS, The [wolfSSL engine](https://github.com/wolfSSL/wolfEngine) is another option. + +### OpenSSL configuration for SymCrypt Engine + +/usr/lib/ssl/openssl-fips.cnf +``` +openssl_conf = openssl_init +[ openssl_init ] +engines = engine_section + +[ engine_section ] +symcrypt = symcrypt_section + +[ symcrypt_section ] +engine_id = symcrypt +dynamic_path = /usr/lib/x86_64-linux-gnu/libsymcryptengine.so +default_algorithms = ALL +``` + +### OpenSSL configuration enhancement +When fips=1 is set in /proc/cmdline, the OpenSSL default config file is changed to "/usr/lib/ssl/openssl-fips.cnf", otherwise, the config file "/usr/lib/ssl/openssl.cnf" is used. + +### SymCrypt OpenSSL Engine debian package +Provide SymCrypt OpenSSL debian package. +Package name: symcrypt-openssl +Current version: 0.1 + +Package file name example: symcrypt-openssl_0.1_amd64.deb +Files in the packages: +``` +/usr/lib/ssl/openssl.cnf +/usr/lib/ssl/openssl-fips.cnf +/usr/lib/x86_64-linux-gnu/libsymcrypt.so +/usr/lib/x86_64-linux-gnu/libsymcryptengine.so +``` + +## Kerberos Cryptographic Module +Kerberos will use the builtin cryptographic module by default, but it allows to change the build option to use OpenSSl, see [MIT Kerberos features](https://web.mit.edu/kerberos/krb5-1.13/doc/mitK5features.html). SONiC will change the build option to use OpenSSL instead of the builtin one. It is not configurable to use the Kerberos builtin cryptographic module when OpenSSL used. + +## Golang Cryptographic Module +Golang has its own cryptographic module (see [crypto](https://github.com/golang/go/tree/master/src/crypto)) without FIPS supports. There are some branches with branch name starting with "dev.boringcrypto" (see [golang branches](https://github.com/golang/go/branches/all?query=dev.boringcrypto)), changing the Golang cryptographic APIs' referenece to use [BoringSSL](https://github.com/google/boringssl). Although BoringSSL is an open source project, but it used by Google only, not intened for general use. + +To support FIPS for Golang, RedHat offers an alternative solution (see [here](https://developers.redhat.com/blog/2019/06/24/go-and-fips-140-2-on-red-hat-enterprise-linux)), it builds on top of the Golang's dev.bringcrypt branches, has ability to call into OpenSSL, not BoringSSL. SONiC can reuse the RedHat sulotion, one difference is that RedHat supports FIPS for OpenSSL directly, SONiC uses OpenSSL Engine. + +How OpenSSL Engine works in Golang? +![Golang API](images/golang-api.png) + +When FIPS enabled, both of the BoringSSL Enable Option and the SymCrypt Enabled option will be set. + + +## Application Impact +Some of functions of a application might be broken when using the cryptographic algorithms that are not FIPS compliant. It is relied on the tests of the applications to detect all the impact functions. +For OpenSSH, Centos provides a [patch](https://git.centos.org/rpms/openssh/raw/c8/f/SOURCES/openssh-7.7p1-fips.patch) which is compiant with FIPS 140-2. We can apply the patch and verify if it can pass all the OpenSSH test cases when FIPS enabled. + +## SONiC FIPS Configuration + +### Enable FIPS on system level +Add the Linux System parameter fips=1, in grub config, one of implemetation as below: + +cat /etc/grub.d/99-fips.cfg +``` +GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT fips=1" +``` + +To validate the FIPS enabled, grep 'fips=1' /proc/cmdline. + +### Enable FIPS on application level +``` +export ENABLE_FIPS=1 +``` + +Alternative option for the golang applications only: +``` +export GOLANG_FIPS=1 +``` + +Alternative option for the OpenSSL applications only: + +see https://www.openssl.org/docs/manmaster/man7/openssl-env.html +``` +export OPENSSL_CONFIG=/usr/lib/ssl/openssl-fips.cnf +``` + +### SONiC Build Options +Support to enable/disable the FIPS feature, the feature is enabled by default in rules/config as below. +``` +ENABLE_FIPS_FEATURE ?= y +``` +Support to enable/disable FIPS config, the flage is disabled by default. IF the option is set, then the fips is enabled by default in the image, not necesary to do the config in system level or application level. +``` +ENABLE_FIPS ?= n +``` +If the ENABLE_FIPS_FEATURE is not set, then the option ENABLE_FIPS is useless. + +## Q&A +### Does SymCrypt use Linux Kernel crypto module? +SymCrypt on Linux does not rely on Kernel crypt for FIPS certification today. \ No newline at end of file diff --git a/doc/fips/images/fips-overview.png b/doc/fips/images/fips-overview.png new file mode 100644 index 0000000000..bbeee405d1 Binary files /dev/null and b/doc/fips/images/fips-overview.png differ diff --git a/doc/fips/images/golang-api.png b/doc/fips/images/golang-api.png new file mode 100644 index 0000000000..c599fd9f42 Binary files /dev/null and b/doc/fips/images/golang-api.png differ diff --git a/doc/fwutil/fwutil.md b/doc/fwutil/fwutil.md index 82a871b569..0becc2568b 100755 --- a/doc/fwutil/fwutil.md +++ b/doc/fwutil/fwutil.md @@ -576,7 +576,7 @@ New component api is introduced to support the component firmware auto-update as """ raise NotImplementedError ``` -The return_code of auto_update_firmware() which indicates the firmware auto-update status, will be logged in "fw_au_status" under "/var/platform/" directory by fwutil and the status file will be used for the `fwutil show update status` command. +The return_code of auto_update_firmware() which indicates the firmware auto-update status, will be logged in "fw_au_status" under "/var/firmwareupdate/" directory by fwutil and the status file will be used for the `fwutil show update status` command. In case that a firmware update needs any additional step to complete the firmware update but the installation time is longer than the boot time requirement, auto-update platform api is expected to install the firmware and perform the complete action during the reboot via `platform_fw_au_reboot_handle` or `platform_reboot` plugin. For example, some cpld update needs a power cycle to complete the firmware update and some cpld update needs a register triggered power-cycle to give some refresh time for the new firmware to be effective on the system. @@ -602,7 +602,7 @@ In this example, BIOS firmware got updated, CPLD firmware got installed but powe *powercycle can be triggered by cold reboot script in this case. ```bash -admin@sonic:~/fwutil$ cat /var/platform/fw_au_status +admin@sonic:~/fwutil$ cat /var/firmwareupdate/fw_au_status { "MSN2700/BIOS": { @@ -634,7 +634,7 @@ And the components available for the update are BIOS, and SSD. In this example, BIOS firmware got updated, CPLD firmware update was skipped since the update completion can not be done for warm, and SSD firmware update is scheduled during warm boot. ```bash -admin@sonic:~/fwutil$ cat /var/platform/fw_au_status +admin@sonic:~/fwutil$ cat /var/firmwareupdate/fw_au_status { "MSN2700/BIOS": { @@ -668,9 +668,9 @@ Automatic FW installation requires default platform_components.json to be create _sonic-buildimage/device///platform_components.json_ Recommended image path is "/lib/firmware/". -Here is the /var/platform directory structure while fwutil handles the `fwutil update all fw` and `fwutil show update status` command. +Here is the /var/firmwareupdate directory structure while fwutil handles the `fwutil update all fw` and `fwutil show update status` command. ``` -/var/platform/ +/var/firmwareupdate/ |--- fw_au_status |--- _fw_au_task* ``` diff --git a/doc/ip-interface/loopback-action/images/feature_overview.svg b/doc/ip-interface/loopback-action/images/feature_overview.svg new file mode 100755 index 0000000000..3518d45921 --- /dev/null +++ b/doc/ip-interface/loopback-action/images/feature_overview.svg @@ -0,0 +1,3 @@ + + +
5.5.5.5 via 1.1.1.2
5.5.5.5 via 1.1.1.2
route table
route table
dip: 5.5.5.5
sip: any
dip: 5.5.5.5...
packet
packet
1.1.1.1/24
1.1.1.1/24
1.1.1.2/24
1.1.1.2/24
Viewer does not support full SVG 1.1
\ No newline at end of file diff --git a/doc/ip-interface/loopback-action/images/interface_vlan.svg b/doc/ip-interface/loopback-action/images/interface_vlan.svg new file mode 100755 index 0000000000..70143e6b1f --- /dev/null +++ b/doc/ip-interface/loopback-action/images/interface_vlan.svg @@ -0,0 +1,3 @@ + + +CLIset VLAN_INTERFACE|Vlan100{loopback_action:drop}ConfigDBreturn
verify user input 
verify user...
IntfMgrdnotify VLAN_INTERFACE|Vlan100{loopback_action:drop}
postpone handling until iface exist in state DB
postpone handling unt...
AppDBset INTF_TABLE|Vlan100{loopback_action:drop}returnSAIIntfOrchnotify INTF_TABLE|Vlan100{loopback_action:drop}call set_router_interface_attribute SAI_ROUTER_INTERFACE_ATTR_LOOPBACK_PACKET_ACTIONreturn
cache update
log error if failed
cache update...
Loopback action set on Interface VLAN
Loopback action set on Interface VLAN
CLI
CLI
ConfigDB
ConfigDB
IntfMgrd
IntfMgrd
AppDB
AppDB
IntfOrch
IntfOrch
SAI
SAI
verify data
cache check
If already set, do nothing
verify data...
Viewer does not support full SVG 1.1
\ No newline at end of file diff --git a/doc/ip-interface/loopback-action/ip-interface-loopback-action-design.md b/doc/ip-interface/loopback-action/ip-interface-loopback-action-design.md new file mode 100644 index 0000000000..76ea8deed5 --- /dev/null +++ b/doc/ip-interface/loopback-action/ip-interface-loopback-action-design.md @@ -0,0 +1,361 @@ +# SONiC IP Interface Loopback Action +## High level design document +## Table of contents +- [Revision](#revision) +- [Scope](#scope) +- [1 Introduction](#1-introduction) + - [1.1 Feature overview](#11-feature-overview) + - [1.2 Requirements](#12-requirements) + - [1.2.1 Functionality](#121-functionality) + - [1.2.2 Command interface](#122-command-interface) + - [1.2.3 Error handling](#123-error-handling) + - [1.2.4 Event logging](#124-event-logging) +- [2 Design](#2-design) + - [2.1 Overview](#21-overview) + - [2.2 DB schema](#22-db-schema) + - [2.2.1 Config DB](#221-config-db) + - [2.2.2 App DB](#222-app-db) + - [2.2.3 Configuration migration](#223-configuration-migration) + - [2.3 Flows](#23-flows) + - [2.3.1 Loopback action set interface vlan](#231-loopback-action-set-interface-vlan) + - [2.3.1.1 Handle set in runtime](#2311-handle-set-in-runtime) + - [2.3.1.2 Handle set in init](#2312-handle-set-in-init) + - [2.3.2 Loopback action set interface Ethernet](#232-loopback-action-set-interface-ethernet) + - [2.3.3 Loopback action set interface port-channel](#233-loopback-action-set-interface-port-channel) + - [2.3.4 Loopback action set subinterface](#234-loopback-action-set-subinterface) + - [2.3.5 IP interface creation](#235-ip-interface-creation) + - [2.4 SAI](#24-sai) + - [2.5 Statistics](#25-statistics) + - [2.6 CLI](#26-cli) + - [2.6.1 Config command](#261-config-command) + - [2.6.2 Show command](#262-show-command) + - [2.7 YANG model](#27-yang-model) + - [2.8 Warm/Fast boot](#28-warmfast-boot) +- [3 Test plan](#3-test-plan) + - [3.1 Unit tests via VS](#31-unit-tests-via-vs) + - [3.2 System tests](#32-system-tests) + +## Revision +| Rev | Date | Author | Description | +|:---:|:----------:|:--------------:|:----------------| +| 0.1 | 18/05/2022 | Lior Avramov | Initial version | + +## Scope +This document describes the high level design of IP interface loopback action feature in SONiC + +## List of figures +[Figure 1: feature overview](#figure-1-feature-overview) +[Figure 2: interface vlan](#figure-2-interface-vlan) + +# 1 Introduction +## 1.1 Feature overview +IP interface loopback action is a feature that allows user to change the way router handles routed packets for which egress port equals to ingress port. +1. When loopback action is configured to drop, those packets will be dropped. Drppoed packets due to loopback action are counted in rif statistics, see [2.5 Statistics](#25-statistics) +2. When loopback action is configured to forward, those packets will be forwarded as the pipeline defined. + +![feature overview](images/feature_overview.svg "Figure 1: feature overview") +###### Figure 1: feature overview + +## 1.2 Requirements +### 1.2.1 Functionality +**This feature will support the following functionality:** +1. Loopback action can be set on an IP interface. +2. An IP Interface can be one of the following: + 1. Interface vlan + 2. Interface Ethernet + 3. Interface port-channel + 4. Subinterface +3. Loopback action can be set to "drop" or "forward". +4. CLI will reject loopback action setting on a non IP interface. Interface is considered as an IP interface if it has entry in: + 1. VLAN_INTERFACE table for interface vlan (e.g. VLAN_INTERFACE|Vlan100) + 2. INTERFACE table for interface Ethernet (e.g. INTERFACE|Ethernet232) + 3. PORTCHANNEL_INTERFACE table for interface port-channel (e.g. PORTCHANNEL_INTERFACE|PortChannel1) + 4. VLAN_SUB_INTERFACE table for subinterface (e.g. VLAN_SUB_INTERFACE|Ethernet0.10) +5. The configured loopback action can be viewed by show command in CLI. +6. When SONiC configuration of loopback action is missing the system will behave as it is today, based on SAI behavioural model, forward the loopbacked packets. +7. No changes required in Kernel. + +### 1.2.2 Command interface +**This feature will support the following commands:** +1. config: set IP interface loopback action. +2. show: display the configured loopback action. + +### 1.2.3 Error handling +**This feature will provide error handling for the next situations:** +1. In CLI: invalid action, invalid interface, non ip interface +2. In SWSS: invalid action, invalid DB operation, invalid interface + +### 1.2.4 Event logging +**This feature will provide event logging for:** loopback action set on IP interface. + +###### Table 1: Event logging +| Event | Severity | +|:------------------------------------------|:---------| +| IP interface loopback action set: success | NOTICE | +| IP interface loopback action set: error | ERROR | + +# 2 Design +## 2.1 Overview +Intfmgrd subscribes for changes in L3 interface tables VLAN_INTERFACE, INTERFACE and PORTCHANNEL_INTERFACE in config DB. Whenever there is a change in one of these tables, intfmgrd is notified. Intfmgrd then updates INTF_TABLE table in app DB. Upon change in INTF_TABLE, intforch is notified. +Intforch performs validity checks, call the relevant SAI API and updates internal cache. The flow in intfmgr is based on the current interface configuration flow. + +## 2.2 DB schema +### 2.2.1 Config DB +To support loopback action set on L3 interface, a new field-value pair is defined in CONFIG_DB in the following tables. +Valid values are "drop" or "forward". + +1. VLAN_INTERFACE +``` +VLAN_INTERFACE|interface-name + "loopback_action": action (OPTIONAL) +``` +Example: +``` +"VLAN_INTERFACE": { + "Vlan100": { + "loopback_action": "drop", + "mac_addr": "00:01:02:03:04:10", + "ipv6_use_link_local_only": "enable" + }, +} +``` + +2. INTERFACE +``` +INTERFACE|interface-name + "loopback_action": action +``` +Example: + +``` +"INTERFACE": { + "Ethernet248": { + "loopback_action": "forward", + "mac_addr": "00:01:02:03:04:11", + "ipv6_use_link_local_only": "enable" + }, +} +``` +3. PORTCHANNEL_INTERFACE +``` +PORTCHANNEL_INTERFACE|interface-name + "loopback_action": action +``` +Example: +``` +"PORTCHANNEL_INTERFACE": { + "PortChannel1": { + "loopback_action": "drop", + "mac_addr": "00:01:02:03:04:12", + "ipv6_use_link_local_only": "enable" + }, +} +``` + +4. VLAN_SUB_INTERFACE +``` +VLAN_SUB_INTERFACE|interface-name + "loopback_action": action +``` +Example: +``` +"VLAN_SUB_INTERFACE": { + "Ethernet0.10": { + "loopback_action": "drop", + "mac_addr": "00:01:02:03:04:12", + "ipv6_use_link_local_only": "enable" + }, +} +``` + +### 2.2.2 App DB +To support loopback action set on L3 interface, a new field-value pair is defined in APP DB in table INTF_TABLE. +``` +INTF_TABLE|interface-name + "loopback_action": action +``` +Example for interface vlan: +``` + "INTF_TABLE": { + "Vlan100": { + "loopback_action": "drop", + "mac_addr": "00:01:02:03:04:10", + "ipv6_use_link_local_only": "enable" + +``` +Example for interface Ethernet: +``` + "INTF_TABLE": { + "Ethernet248": { + "loopback_action": "drop", + "mac_addr": "00:01:02:03:04:11", + "ipv6_use_link_local_only": "enable" + } + } +``` +Example for interface port-channel: +``` + "INTF_TABLE": { + "PortChannel1": { + "loopback_action": "drop", + "mac_addr": "00:01:02:03:04:12", + "ipv6_use_link_local_only": "enable" + } + } +``` +Example for subinterface: +``` + "INTF_TABLE": { + "Ethernet0.10": { + "loopback_action": "drop", + "mac_addr": "00:01:02:03:04:12", + "ipv6_use_link_local_only": "enable" + } + } +``` + +### 2.2.3 Configuration migration +When upgrading from SW image which does not support the new schema to a one which supports, the new image will not contain loopback action configuration. All existing IP interfaces will behave as today, based on SAI behavioural model, forward the loopbacked packets. + +## 2.3 Flows + +### 2.3.1 Loopback action set interface vlan +#### 2.3.1.1 Handle set in runtime +![interface vlan](images/interface_vlan.svg "Figure 2: interface vlan") +###### Figure 2: interface vlan + +#### 2.3.1.2 Handle set in init +In init, loopback action configuration is being handled as part of the IP interface creation. +During init, all field-value pairs of each key in INTF_TABLE table (e.g. INTF_TABLE|Vlan100) are being received in intfOrch together at once. +Those field-value pairs are the interface attributes, e.g. mac address, loopback action etc. + +### 2.3.2 Loopback action set interface Ethernet +Loopback action set on interface Ethernet flow is the same as interface vlan flow besides config DB and app DB keys being used. Used keys are defined in [2.2.1 Config DB](#221-config-db). + +### 2.3.3 Loopback action set interface port-channel +Loopback action set on interface port-channel flow is the same as interface vlan flow besides config DB and app DB keys being used. Used keys are defined in [2.2.1 Config DB](#221-config-db). + +### 2.3.4 Loopback action set subinterface +Loopback action set on subinterface flow is the same as interface vlan flow besides config DB and app DB keys being used. Used keys are defined in [2.2.1 Config DB](#221-config-db). + +### 2.3.5 IP interface creation +If loopback action was not configured by the user, default loopback action is derived from SAI behavioral model which is forward. + +## 2.4 SAI +The following will be used for setting IP interface loopback action. + +SAI API: +``` +sai_router_intfs_api->set_router_interface_attribute() +sai_router_intfs_api->create_router_interface() +``` + +SAI attribute: +###### Table 2: SAI attribute +| Loopback action | SAI attribute | Attribute value | +|------------------|---------------------------------------------------|----------------------------| +| drop | SAI_ROUTER_INTERFACE_ATTR_LOOPBACK_PACKET_ACTION | SAI_PACKET_ACTION_DROP | +| forward | SAI_ROUTER_INTERFACE_ATTR_LOOPBACK_PACKET_ACTION | SAI_PACKET_ACTION_FORWARD | + + +``` +typedef enum _sai_router_interface_attr_t +{ + /** + * @brief Packet action when a packet ingress and gets routed on the same RIF + * + * @type sai_packet_action_t + * @flags CREATE_AND_SET + * @default SAI_PACKET_ACTION_FORWARD + */ + SAI_ROUTER_INTERFACE_ATTR_LOOPBACK_PACKET_ACTION, + +} sai_router_interface_attr_t; +``` + +## 2.5 Statistics +Packets that are dropped due to loopback action will be counted in TX_ERR in IP interface statistics. +``` +root@r-lionfish-14:/home/admin# show interfaces counters rif + IFACE RX_OK RX_BPS RX_PPS RX_ERR TX_OK TX_BPS TX_PPS TX_ERR +------------ ------- -------- -------- -------- ------- -------- -------- -------- + Ethernet236 4 0.00 B/s 0.00/s 1 0 0.00 B/s 0.00/s 0 +PortChannel1 0 0.00 B/s 0.00/s 0 0 0.00 B/s 0.00/s 0 + Vlan2 0 0.00 B/s 0.00/s 0 0 0.00 B/s 0.00/s 0 +Ethernet0.10 0 0.00 B/s 0.00/s 0 0 0.00 B/s 0.00/s 0 +``` + +## 2.6 CLI +### 2.6.1 Config command +A new SONiC CLI command is introduced to configure IP interface loopback action. +``` +# Set loopback action per INTERFACE/PORTCHANNEL_INTERFACE/VLAN_INTERFACE/VLAN_SUB_INTERFACE +config interface loopback-action drop|forward +``` + +Examples: +``` +config interface loopback-action Ethernet248 drop +config interface loopback-action Vlan100 forward +``` + +### 2.6.2 Show command +A new SONiC CLI command is introduced to show the configured loopback action. +IP interfaces that user did not configure loopback action on them, will not be shown in the table. +``` +show ip interfaces loopback-action +``` + +Example: +``` +root@sonic:~# show ip interfaces loopback-action +Interface Action +------------ ---------- +Ethernet232 drop +Vlan100 forward +``` + +## 2.7 YANG model +The following YANG models will be extended in order to provide support for loopback action: +1. sonic-interface.yang -> container INTERFACE +2. sonic-portchannel.yang -> container PORTCHANNEL_INTERFACE +3. sonic-vlan.yang -> container VLAN_INTERFACE +4. sonic-vlan-sub-interface.yang -> container VLAN_SUB_INTERFACE + +New leaf loopback_action will be added: +``` +leaf loopback_action { + description "Packet action when a packet ingress and gets routed on the same IP interface"; + type string { + pattern "drop|forward"; + } +} +``` + +## 2.8 Warm/Fast boot +No special handling is required + +# 3 Test plan +## 3.1 Unit tests via VS +Add the following test case in file sonic-swss/tests/test_interface.py. +1. Create IP interface by writing to config DB +2. Set loopback action on IP interface +3. Check table INTF_TABLE in App DB +4. Check table SAI_OBJECT_TYPE_ROUTER_INTERFACE in ASIC DB +5. Create port-channel IP interface and repeat steps 2 to 4. +6. Create interface VLAN and repeat steps 2 to 4. +7. Create subinterface and repeat steps 2 to 4. + +## 3.2 System tests +Add the following test in sonic-mgmt. +1. Create IP interface Ethernet. +2. Loopback action not configured, send traffic, verify loopbacked packets are forwarded (SAI default). +3. Set loopback action to drop, send traffic, verify loopbacked packets are dropped and TX_ERR in rif counter increased. +4. Save config and reboot, send traffic, verify loopbacked packets are dropped and TX_ERR in rif counter increased. +5. Set loopback action to forward, send traffic, verify loopbacked packets are forwarded. +6. Save config and reboot, send traffic, verify loopbacked packets are forwarded. +7. Create port-channel IP interface and repeat steps 2 to 6. +8. Create interface VLAN and repeat steps 2 to 6. +9. Create subinterface and repeat steps 2 to 6. +10. Set loopback action on non IP interface. +11. Set loopback action on non existing interface. diff --git a/doc/port_auto_neg/flow_rmt_adv.png b/doc/port_auto_neg/flow_rmt_adv.png new file mode 100644 index 0000000000..184a9fc770 Binary files /dev/null and b/doc/port_auto_neg/flow_rmt_adv.png differ diff --git a/doc/port_auto_neg/port-auto-negotiation-design.md b/doc/port_auto_neg/port-auto-negotiation-design.md index 41a9ef83ae..dfebd151c0 100644 --- a/doc/port_auto_neg/port-auto-negotiation-design.md +++ b/doc/port_auto_neg/port-auto-negotiation-design.md @@ -26,7 +26,7 @@ - [SWSS Enhancements](#swss-enhancements) - [portsyncd and portmgrd Consideration](#portsyncd-and-portmgrd-consideration) - [Port Breakout Consideration](#port-breakout-consideration) - - [xcvrd Consideration](#xcvrd-consideration) + - [PMON xcvrd Consideration](#pmon-xcvrd-consideration) - [Warmboot and Fastboot Design Impact](#warmboot-and-fastboot-design-impact) - [Restrictions/Limitations](#restrictions/limitations) - [Testing Requirements/Design](#testing-requirements/design) @@ -36,10 +36,11 @@ ### Revision - | Rev | Date | Author | Change Description | - |:---:|:-----------:|:------------------:|-----------------------------------| - | 0.1 | | Junchao Chen | Initial version | - | 0.2 | | Junchao Chen | Fix review comment | + | Rev | Date | Author | Change Description | + |:---:|:-----------:|:-------------------:|--------------------------------------------| + | 0.1 | | Junchao Chen | Initial version | + | 0.2 | | Junchao Chen | Fix review comment | + | 0.3 | | Dante (Kuo-Jung) Su | Add support for SFPs and operational states| ### Scope This document is the design document for port auto negotiation feature on SONiC. This includes the requirements, CLI change, DB schema change, DB migrator change, yang model change and swss change. @@ -51,7 +52,12 @@ N/A The IEEE 802.3 standard defines a set of Ethernet protocols that are comprised of speed rate and interface type. It allows for configuring multiple values at the same time for port provisioning and advertising to the remote side. However, on SONiC, user can configure the speed of port, and user can configure auto negotiation mode via config DB. Port attributes such as interface type, advertised speeds, advertised interface types are not supported. -The feature in this document is to address the above issues. +The feature in this document is to address the above issues, and support the following medium typs + +- Twisted-pair cables (Non-Gearbox design) +- SFP/QSFP/QSFPDD CR/KR transceivers (Non-Gearbox design) + +The complexities behind vendor-specific SAI implementation is outside the scope of this document. ### Requirements @@ -86,6 +92,11 @@ Currently, SAI already defines a few port attributes to support port auto negoti 3. If autoneg is enabled and adv_speeds is not configured or empty, SAI must advertise it with all supported speeds. 4. If autoneg is enabled and adv_interface_types is not configured or empty, SAI must advertise it with all supported interface types. 5. If autoneg is disabled and interface_type is not configured, SAI must use SAI_PORT_INTERFACE_TYPE_NONE. +6. If autoneg is enabled, the administrative port speed updates should not disable the autoneg. The configured speed should be cached in swss#orchagent and gets replayed when autoneg is transitioned from enabled to disabled. +7. If autoneg is enabled, while the administrative interface type updates via CONFIG_DB should be blocked, the dynamic interface type updates from pmon#xcvrd via APPL_DB should be delivered to the SAI to update the autoneg advertisement. Please refer to [PMON xcvrd Consideration](#pmon-xcvrd-consideration) for details. +8. If autoneg is enabled on a SFP/QSFP/QSFPDD port, SAI should also activate the link-training to dynamically tune the TX FIR. +9. If autoneg is enabled on a SFP/QSFP/QSFPDD port, when it's transitioned to disabled, the port speed, FEC, interface type and TX FIR should be restored with the corresponding values in the APPL_DB. If the individual configuration is not present in the APPL_DB, the SAI driver defaults should be restored. Precisely speaking, default interface type is SAI_PORT_INTERFACE_TYPE_NONE, default fec mode is SAI_PORT_FEC_MODE_NONE and TX FIR is vendor-specific, as it's NOT a set of constants applicable to all switch ASIC. +10. If autoneg is enabled on a SFP/QSFP/QSFPDD port, the "fec" field of APPL_DB should override the result of autoneg. The related port attributes are listed below: ```cpp @@ -234,26 +245,29 @@ This command always replace the advertised interface types instead of append. Fo ##### Show interfaces auto negotiation status -As command `show interfaces status` already has 11 columns, a new CLI command will be added to display the port auto negotiation status. All data of this command are fetched from **APPL_DB**. +As command `show interfaces status` already has 11 columns, a new CLI command will be added to display the port auto negotiation status. All data of this command are fetched from **APPL_DB** and **STATE_DB**. ``` Format: - show interfaces autoneg-status + show interfaces autoneg status Arguments: interface_name: optional. Name of the interface to be shown. e.g: Ethernet0. If interface_name is not given, this command shows auto negotiation status for all interfaces. Example: - show interfaces autoneg-status - show interfaces autoneg-status Ethernet0 + show interfaces autoneg status + show interfaces autoneg status Ethernet0 Return: error message if interface_name is invalid otherwise: - Interface Auto-Neg Mode Speed Adv Speeds Type Adv Types Oper Admin ------------ --------------- ------- ------------ ------ ----------- ------ ------- - Ethernet0 disabled 25G N/A N/A N/A down up - Ethernet32 enabled 40G 40G,100G KR4 KR4,CR4 up up + Interface Auto-Neg Mode Speed Adv Speeds Rmt Adv Speeds Type Adv Types Oper Admin +----------- --------------- ------- ------------ ---------------- ------ ----------- ------ ------- + Ethernet0 enabled 400G N/A 400G CR4 CR4 up up + Ethernet8 enabled 400G N/A N/A KR4 KR4 down up + Ethernet16 enabled 400G N/A 400G CR4 CR4 up up + Ethernet24 N/A 400G N/A N/A N/A N/A down up + Ethernet32 disabled 400G N/A N/A N/A N/A down up ``` ##### CLI validation @@ -379,7 +393,7 @@ The change in APP_DB is similar to CONFIG_DB. 3 new fields **adv_speeds**, **int Valid value of the new fields are the same as **PORT** table in CONFIG_DB. Here is the table to map the fields and SAI attributes: -| **Parameter** | **sai_port_attr_t** +| **Parameter** | **sai_port_attr_t** | |---------------------|------------------------------------------------| | adv_interface_types | SAI_PORT_ATTR_ADVERTISED_INTERFACE_TYPE | | adv_speeds | SAI_PORT_ATTR_ADVERTISED_SPEED | @@ -390,15 +404,19 @@ Here is the table to map the fields and SAI attributes: #### State DB Enhancements To support validate interface speed on CLI side, a new field **supported_speeds** will be added to **PORT_TABLE**. +To support checking remote advertised speeds, a new field **rmt_adv_speeds** will be added to **PORT_TABLE**. ; Defines information for port state key = PORT_TABLE:port_name ; state of the port ; field = value ... supported_speeds = STRING ; supported speed list - speed = STRING ; operational speed + speed = STRING ; operational speed + rmt_adv_speeds = STRING ; advertised speed list of the remote -An example value of supported_speeds could be "10000,25000,40000,100000". +- supported_speeds: A list of supported speeds separated by commas, for example, "10000,25000,40000,100000". +- speed: Operational speed, for example, "100000". +- rmt_adv_speeds: A list of supported speeds advertised by the connected remote, for example, "10000,25000,40000,100000". Before this feature, port speed in APP DB indicates both the configured speed and the operational speed. It is OK without this feature because port operational speed must be configured speed or port operational status is down. However, this is not true with this feature. Consider following flow: @@ -413,6 +431,13 @@ To overcome this issue, following changes are required: 1. Put port operational speed to STATE DB PORT_TABLE 2. intfutil, portstat, voqutil shall be change to get port operational speed from STATE DB first. For backward compatible, intfutil, portstat, voqutil shall still get port operational speed from APP DB if port speed is not available in STATE DB or port operational state is down. +Here is the table to map the fields and SAI attributes: +| **Parameter** | **sai_port_attr_t** | +|---------------------|------------------------------------------------| +| rmt_adv_speeds | SAI_PORT_ATTR_REMOTE_ADVERTISED_SPEED | +| speed | SAI_PORT_ATTR_SPEED | +| supported_speeds | SAI_PORT_ATTR_SUPPORTED_SPEED | + #### YANG Model Enhancements The port yang model needs to update according to DB schema change. The yang model changes of new fields are described below: @@ -420,7 +445,7 @@ The port yang model needs to update according to DB schema change. The yang mode ``` leaf autoneg { type string { - pattern "0|1"; + pattern "off"|"on"; } } @@ -470,6 +495,8 @@ Will be migrated to: #### SWSS Enhancements +##### Setting Auto Negotiation + The current SONiC speed setting flow in PortsOrch can be described in following pseudo code: ``` @@ -511,6 +538,14 @@ else if autoneg == false: setInterfaceType(port, interface_type) ``` +##### Getting Remote Advertisement + +A new periodic timer task will be introduced into PortsOrch, it periodically loops through physical ports and update the per-port remote advertisement if autoneg is enabled and the link is down. + +![](flow_rmt_adv.png) + +##### Backward Compatibility Considerations + SONiC usually does not call SAI interface when there is no related configuration in APPL_DB. In order to keep backward compatible, this feature also apply this rule. swss will do validation for auto negotiation related fields, although it still CANNOT guarantee that all parameters passed to SAI will be accepted by SAI. swss validation for these field are described below: @@ -520,6 +555,7 @@ swss will do validation for auto negotiation related fields, although it still C 3. interface_type value from APPL_DB must be able to transfer to a valid interface type value. For invalid value, swss must catch the exception, log the error value and skip the rest configuration of this port. 4. adv_interface_types value from APPL_DB must be able to transfer to a list of valid interface type values. For invalid value, swss must catch the exception, log the error value and skip the rest configuration of this port. + #### portsyncd and portmgrd Consideration No changes for portsyncd and portmgrd. @@ -617,18 +653,15 @@ I choose this solution because: Dynamic port breakout feature also introduces a hwsku.json file to describe the port capability. It defines the default dynamic breakout mode for now. As we won't automatically set auto negotiation attributes for a port after port breakout, it is not necessary to change the hwsku.json in this feature. -#### xcvrd Consideration - -It is recommended to use CLI/CONFIG_DB to setting the port auto negotiation attributes. But there is still other way. - -There is a media_setting.json which is used for setting the default value for some port attributes. This media_setting.json is handled by xcvrd for setting pre-emphasis value for ports. xcvrd process the file this way: +#### PMON xcvrd Consideration -1. When xcvrd start, it reads the media_setting.json and set pre-emphasis values to APPL_DB for each port -2. When a new cable is inserted, xcvrd uses the value in media_setting.json to set pre-emphasis value to APPL_DB for this port. +While it is possible to use CLI/CONFIG_DB for setting the port auto negotiation attributes, this feature is also available via [media_settings.json](https://github.com/Azure/SONiC/blob/master/doc/media-settings/Media-based-Port-settings.md) -xcvrd just reads the configuration from media_settings.json and set value to APPL_DB. xcvrd does not care what the configuration is. So user could use media_settings.json to specify the default value for autoneg, adv_speeds and other port attributes. **Nothing needs to be changed in xcvrd**. +- **Interface Type** + Unfortunately, it's not straightforward for users to identify which interface type is most appropriate to the attached transceivers, and the link will not get up unless the connected devices are both advertising the same interface type. This requires domain knowledge, correct EERPOM information and the individual hardware datasheet review process. Hence it's recommended to use [media_settings.json](https://github.com/Azure/SONiC/blob/master/doc/media-settings/Media-based-Port-settings.md) to automate the while process. A interface type update request from [media_settings.json](https://github.com/Azure/SONiC/blob/master/doc/media-settings/Media-based-Port-settings.md) is triggered by the transceiver detection of pmon#xcvrd, which leverages **APPL_DB** instead of **CONFIG_DB**, hence the requests will not be blocked by **portsyncd**. If the interface type update request arrives when autoneg is enabled, it should alter the advertisement and restart the autoneg. That said, if the user has interface type configured in both CONFIG_DB and media_settings.json, it wouldn't be possible to predict which would take precedence as there is no logic giving one priority over other. Hence please be sure to use either CLI/CONFIG_DB or media_settings.json at a time, never have both of them activated. -However, it is worthy mentioning that: if user have port attributes configured both in CONFIG_DB and media_settings.json, the value in media_settings.json will override the value in CONFIG_DB after rebooting, restarting pmon or re-insert cables. Base on that, if user choose to use media_settings.json, they probably should not use CLI or CONFIG_DB to avoid configuration loss after rebooting, restarting pmon or re-insert cables. +- **Pre-Emphasis** + Typically, prior to some process, such as transmission over cable, or recording to phonograph record or tape, the input frequency range most susceptible to noise is boosted. This is referred to as "pre-emphasis" - before the process the signal will undergo. While this is rarely necessay to the native RJ45 ports, it's important to SFP/QSFP/QSFPDD ports. For optical arrangements (e.g. SR/LR/DR transceivers), the loss is miniscule. The loss budget allocated for the host PCB board is small, which implies the pre-emphasis calibrated is supposed to work regardless of the fiber cable attached. On the other hand, on passive media, there is a significant amount of frequency dependent loss and the channel loss can range up to the CR/KR loss spec. It is therefore important and useful to activate Link-Training to "train" the TX FIR in both directions to help equalize that loss. IEEE 802.3 Clause 72, Clause 73 and Clause 93 define the auto-negotiation and link-training support for CR/KR transceivers, while the support of opticals (e.g. SR/LR/DR) are never in the scope. On the other hand, when autoneg is enabled, the link-training will also be activated, and the link-training handshake will only get started after negotiation if autoneg is enabled. Furtherly, link-training is to dynamically tune hardware signals at runtime, as a result, the static pre-emphasis parameters in media_setting.json is not necessary and will not be taken into autoneg process. ### Warmboot and Fastboot Design Impact diff --git a/doc/port_link_training/flow-lt-config.png b/doc/port_link_training/flow-lt-config.png new file mode 100644 index 0000000000..82f8d33726 Binary files /dev/null and b/doc/port_link_training/flow-lt-config.png differ diff --git a/doc/port_link_training/flow-lt-status.png b/doc/port_link_training/flow-lt-status.png new file mode 100644 index 0000000000..133e3662ec Binary files /dev/null and b/doc/port_link_training/flow-lt-status.png differ diff --git a/doc/port_link_training/port-link-training-design.md b/doc/port_link_training/port-link-training-design.md new file mode 100644 index 0000000000..18db296b67 --- /dev/null +++ b/doc/port_link_training/port-link-training-design.md @@ -0,0 +1,343 @@ +# SONiC Port Link Training Design # + +## Table of Content + +- [Revision](#revision) +- [Scope](#scope) +- [Abbreviations](#abbreviations) +- [Overview](#overview) +- [Requirements](#requirements) +- [Architecture Design](#architecture-design) +- [High-Level Design](#high-level-design) +- [SAI API Requirement](#sai-api-requirement) +- [Configuration and management ](#configuration-and-management) + - [CLI Enhancements](#cli-enhancements) + - [Config link training mode](#config-link-training-mode) + - [Show link training status](#show-link-training-status) + - [Config DB Enhancements](#config-db-enhancements) + - [Application DB Enhancements](#application-db-enhancements) + - [State DB Enhancements](#state-db-enhancements) + - [YANG Model Enhancements](#yang-model-enhancements) + - [DB Migration Considerations](#db-migration-considerations) + - [SWSS Enhancements](#swss-enhancements) +- [Warmboot Design Impact](#warmboot-design-impact) +- [Limitations](#limitations) +- [Testing Requirements](#testing-requirements) + - [Unit Test cases](#unit-test-cases) + - [System Test cases](#system-test-cases) +- [Action items](#action-items) + +### Revision + + | Rev | Date | Author | Change Description | + |:---:|:-----------:|:------------------:|-----------------------------------| + | 0.1 | | Dante (Kuo-Jung) Su| Initial version | + | 0.2 | | Dante (Kuo-Jung) Su| Addressing code review comments | + +### Scope +This document is the design document for port link training feature on SONiC. This includes the requirements, DB schema change, DB migrator change, yang model change and swss change. + +The link-training hardware controls in this document is SAI specific, while the Gearbox design is outside the scope of this document. + +### Abbreviations + + | Term | Meaning | + |:-------:|:----------------------------------------| + | ASIC | Application-Specific Integrated Circuit | + | BER | Bit Error Rate | + | FIR | Finite Impulse Response | + | SFP | Small Form-factor Pluggable transceiver | + +### Overview + +Link training is a process by which the transmitter and receiver on a high-speed serial link communicate with each other in order to tune their equalization settings. In theory, link training enables automatic tuning of the FIR filter for each channel in an ASIC to achieve the desired bit error rate (BER) + +In current SONiC implementation, user can leverage the platform-specific [media_settings.json](https://github.com/Azure/SONiC/blob/master/doc/media-settings/Media-based-Port-settings.md) to statically update the TX FIR per attached transceiver to improve BER. However, the ODM vendors rarely provide the pre-calibrated pre-emphasis for the CR/KR transceivers, which could result in the link reliability issues. + +The IEEE 802.3 standard defines a set of link training protocols for various mediums, and the feature in this document is to focus on IEEE clause 72 and 93 to dynamically improve the link quality over the SFP coppers and backplanes. + +This feature could be activated with or without port auto negotiation. + +### Requirements + +The main goal of this document is to discuss the design of following requirement: + +- Allow user to configure link training +- Allow user to get the operational link training status + +### Architecture Design + +This feature does not change the existing SONiC architecture, while it has to change the configuration flow for port link training which will be covered in orchagent. + +### High-Level Design + +- SAI API requirements is covered in section [SAI API Requirement](#sai-api-requirement). +- A few new CLI commands will be added to sonic-utilities sub module. These CLI commands support user to configure link training mode as well as show port link training status. See detail description in section [CLI Enhancements](#cli-enhancements). +- A few new fields will be added to existing table in APPL_DB and CONFIG_DB to support link training attributes. See detail description in section [Config DB Enhancements](#config-db-enhancements), [Application DB Enhancements](#application-db-enhancements) and [State DB Enhancements](#state-db-enhancements) +- YANG Model needs update according to the DB schema change. See detail description in section [YANG Model Enhancements](#yang-model-enhancements) +- Port configuration setting flow will be changed in orchagent of sonic-swss. See detail description in section [SWSS Enhancements](#swss-enhancements). + +### SAI API Requirement + +First of all, we'll leverage the existing SAI port attributes listed below + +```cpp + /** + * @brief Enable/Disable Port Link Training + * + * @type bool + * @flags CREATE_AND_SET + * @default false + */ + SAI_PORT_ATTR_LINK_TRAINING_ENABLE, + + /** + * @brief Link training failure status and error codes + * + * @type sai_port_link_training_failure_status_t + * @flags READ_ONLY + */ + SAI_PORT_ATTR_LINK_TRAINING_FAILURE_STATUS, + + /** + * @brief Status whether the receiver trained or not trained to receive data + * + * @type sai_port_link_training_rx_status_t + * @flags READ_ONLY + */ + SAI_PORT_ATTR_LINK_TRAINING_RX_STATUS, +``` + +On the other hand, a new port attribute will be introduced for the link-training ability query, and please note the link-training ability could be unavailable on the certain ports on a switch silicon (e.g. The uplink/management ports), hence we need to do the query at per-port basis. + +```cpp + /** + * @brief Query link-training support + * + * @type bool + * @flags READ_ONLY + */ + SAI_PORT_ATTR_SUPPORTED_LINK_TRAINING_MODE, +``` + +Vendor-specific SAI implementation is not in the scope of this document, but there are some common requirements for SAI: + +1. swss must check the link-training abilities before making the corresponding requests to syncd. +2. SAI implementation must return error code if any of the above attributes is not supported, swss and syncd must not crash. +3. SAI implementation must keep port link training disabled by default for backward compatibility. As long as swss and SAI keep backward compatible, user need not change anything after this feature is implemented and available in SONiC. + +### Configuration and management + +#### CLI Enhancements + +A few new CLI commands are designed to support port link training. + +##### Config link training mode + + +``` +Format: + config interface link-training + +Arguments: + interface_name: [mandatory] name of the interface to be configured. e.g: Ethernet0 + mode: [mandatory] link training mode, can be either "on" or "off" + +Example: + config interface link-training Ethernet0 on + config interface link-training Ethernet0 off + +Return: + - error message if interface_name or mode is invalid + - empty upon success +``` + +##### Show link training status + +A new CLI command will be added to display the port link training status. All data of this command are fetched from **STATE_DB**. + +``` +Format: + show interfaces link-training status + +Arguments: + interface_name: [optional] Name of the interface to be shown. e.g: Ethernet0. + If interface_name is not given, this command shows link training status for all interfaces. + +Example: + show interfaces link-training status + show interfaces link-training status Ethernet0 + +Return: + error message if interface_name is invalid otherwise: + +admin@sonic:~$ show interfaces link-training status + Interface LT Oper LT Admin Oper Admin +----------- ----------- ---------- ------ ------- + Ethernet0 trained on up up + Ethernet8 off - down up + Ethernet16 trained on up up + Ethernet24 off - down up + Ethernet32 not trained on down up + Ethernet40 off - down up + Ethernet48 off - down up +``` + + +#### Config DB Enhancements + +A new field **link_training** will be added to **PORT** table: + + ; Defines information for port configuration + key = PORT|port_name ; configuration of the port + ; field = value + ... + link_training = STRING ; link training configuration + +Valid value of the new fields are described below: + +- link_training: +String value, the administratively specified port link training configuration. +When "link_training" is not specified, the port link training should be disabled + + | Mode | Description | + |:----:|:---------------------------------------------------------------:| + | on | Enable link-training | + | off | Disable link-training | + +#### Application DB Enhancements + +The following fields will be introduced into **PORT_TABLE** table: + + ; Defines information for port configuration + key = PORT_TABLE:port_name ; configuration of the port + ; field = value + ... + link_training = STRING ; operational link training admin config + +- link_training: +String value, the port link training admin config. + +#### State DB Enhancements + +The following fields will be introduced into **PORT_TABLE** table: + + ; Defines information for port link-training states + key = PORT_TABLE:port_name ; port link-training states + ; field = value + link_training_status = STRING ; port link-training operational status + +- link_training_status: +String value, the operational port link training status. The list of possible values is as follow + + | Status | Description | + |:-----------:|:------------------------------------------------------------------:| + | off | Disabled | + | on | Enabled, while the further operational status is not yet available | + | trained | Enabled, while the pre-emphasis is tuned successfully | + | not_trained | Enabled, while the pre-emphasis is not yet tuned, no further failure is available | + | frame_lock | Enabled, while the training frame delineation is detected | + | snr_low | Enabled, while the SNR low threshold is detected | + | timeout | Enabled, while the training process is timed out | + +#### SAI attributes + +Here is the table to map the fields and SAI attributes: + +| **Parameter** | **sai_port_attr_t** | +|:--------------------------|:-------------------------------------------| +| link_training | SAI_PORT_ATTR_LINK_TRAINING_ENABLE | +| link_training_status | SAI_PORT_ATTR_LINK_TRAINING_RX_STATUS, SAI_PORT_ATTR_LINK_TRAINING_FAILURE_STATUS | + +#### YANG Model Enhancements + +The port yang model needs to update according to DB schema change. The yang model changes of new fields are described below: + +``` +leaf link_training { + type string { + pattern "on|off"; + } +} +``` + +These new yang leaf will be added to sonic-port.yang. + +#### DB Migration Considerations + +By having port link training disabled if "link_training" is not specified in the CONFIG_DB, this feature is fully backward compatible. + +#### SWSS Enhancements + +##### Port Link-Training Ability Flag + +During system startup, PortsOrch should query for the per-port link-training abilities from syncd, and have these per-port flags maintained in the **m_port_cap_lt** field of **Port** object. + +i.e. +```cpp +class Port +{ + ...... + bool m_port_cap_lt = false; /* Port Capability - LinkTraining */ +}; +``` + +##### Port Link-Training Configuration Flow + +in PortsOrch, the port Link-Training configuration flow is as follows, the link-training may or may not be disabled when auto-negotiation is activated, it depends on the switch ASIC limitations in the individual SAI implementation, and the pre-emphasis configuration request should be saved and replayed upon link-training configuration updates: + +![](flow-lt-config.png) + +##### Port Link-Training Status Poll + +A timer thread will be introduced into PortsOrch for polling link-training status, the per-port status poll will be activated upon the following events + +- Link-Training is transitoned to be enabled on a port +- Link is down on a port with Link-Training enabled + +On the other hand, the per-port status poll will be de-activated upon the following events + +- Link-Training is transitoned to be disabled on a port +- Link is up on a port with Link-Training enabled + +This timer is a single-threaded task that polls the status of all ports one by one, the program flow is as follows + +![](flow-lt-status.png) + +### Warmboot Design Impact + +SAI and lower layer must not flap port during warmboot no matter what link training parameter is given. + +### Limitations + +N/A + +### Testing Requirements + +#### Unit Test cases + +For **sonic-swss**, we will leverage the existing [test_port.py](https://github.com/Azure/sonic-swss/blob/master/tests/test_port.py) for this. A few new test cases will be added: + +1. Test attribute **link_training** on both direct and warm-reboot scenario. Verify SAI_PORT_ATTR_LINK_TRAINING_ENABLE is in ASIC_DB and has correct value. + +For **sonic-utilities**, we will leverage the existing [unit test framework](https://github.com/Azure/sonic-utilities/tree/master/tests) for this. A few new test cases will be added: + +1. Test command `config interface link-training `. Verify the command return error if given invalid interface_name or mode. + +#### System Test cases + +The following tests will be introduced into **sonic-mgmt** for this feature. + +- test_link_training + Test all candidate ports by having interface/media type updated to copper followed by link-training enablement. Verification criteria: + - All ports are up when link-training is activated + - All ports are up with link-training status equals to 'trained' +- test_link_training_negative + Test all candidate ports by having interface/media type updated to fiber followed by link-training enablement. Verification criteria: + - All ports are down when link-training is activated + - All ports are down without link-training status equals to 'trained' + +### Action items + +TBD + diff --git a/doc/profiling/img/bootchart.svg b/doc/profiling/img/bootchart.svg new file mode 100755 index 0000000000..d49029549b --- /dev/null +++ b/doc/profiling/img/bootchart.svg @@ -0,0 +1,56808 @@ + + + + + + + + + + + + + + + + + + + + + + + + + +IO utilization - read + + + 0.0s + + + + + + + + + + + 1.0s + + + + + + + + + + + 2.0s + + + + + + + + + + + 3.0s + + + + + + + + + + + 4.0s + + + + + + + + + + + 5.0s + + + + + + + + + + + 6.0s + + + + + + + + + + + 7.0s + + + + + + + + + + + 8.0s + + + + + + + + + + + 9.0s + + + + + + + + + + + 10.0s + + + + + + + + + + + 11.0s + + + + + + + + + + + 12.0s + + + + + + + + + + + 13.0s + + + + + + + + + + + 14.0s + + + + + + + + + + + 15.0s + + + + + + + + + + + 16.0s + + + + + + + + + + + 17.0s + + + + + + + + + + + 18.0s + + + + + + + + + + + 19.0s + + + + + + + + + + + 20.0s + + + + + + + + + + + 21.0s + + + + + + + + + + + 22.0s + + + + + + + + + + + 23.0s + + + + + + + + + + + 24.0s + + + + + + + + + + + 25.0s + + + + + + + + + + + 26.0s + + + + + + + + + + + 27.0s + + + + + + + + + + + 28.0s + + + + + + + + + + + 29.0s + + + + + + + + + + + 30.0s + + + + + + + + + + + 31.0s + + + + + + + + + + + 32.0s + + + + + + + + + + + 33.0s + + + + + + + + + + + 34.0s + + + + + + + + + + + 35.0s + + + + + + + + + + + 36.0s + + + + + + + + + + + 37.0s + + + + + + + + + + + 38.0s + + + + + + + + + + + 39.0s + + + + + + + + + + + 40.0s + + + + + + + + + + + 41.0s + + + + + + + + + + + 42.0s + + + + + + + + + + + 43.0s + + + + + + + + + + + 44.0s + + + + + + + + + + + 45.0s + + + + + + + + + + + 46.0s + + + + + + + + + + + 47.0s + + + + + + + + + + + 48.0s + + + + + + + + + + + 49.0s + + + + + + + + + + + 50.0s + + + + + + + + + + + 51.0s + + + + + + + + + + + 52.0s + + + + + + + + + + + 53.0s + + + + + + + + + + + 54.0s + + + + + + + + + + + 55.0s + + + + + + + + + + + 56.0s + + + + + + + + + + + 57.0s + + + + + + + + + + + 58.0s + + + + + + + + + + + 59.0s + + + + + + + + + + + 60.0s + + + + + + + + + + + 61.0s + + + + + + + + + + + 62.0s + + + + + + + + + + + 63.0s + + + + + + + + + + + 64.0s + + + + + + + + + + + 65.0s + + + + + + + + + + + 66.0s + + + + + + + + + + + 67.0s + + + + + + + + + + + 68.0s + + + + + + + + + + + 69.0s + + + + + + + + + + + 70.0s + + + + + + + + + + + 71.0s + + + + + + + + + + + 72.0s + + + + + + + + + + + 73.0s + + + + + + + + + + + 74.0s + + + + + + + + + + + 75.0s + + + + + + + + + + + 76.0s + + + + + + + + + + + 77.0s + + + + + + + + + + + 78.0s + + + + + + + + + + + 79.0s + + + + + + + + + + + 80.0s + + + + + + + + + + + 81.0s + + + + + + + + + + + 82.0s + + + + + + + + + + + 83.0s + + + + + + + + + + + 84.0s + + + + + + + + + + + 85.0s + + + + + + + + + + + 86.0s + + + + + + + + + + + 87.0s + + + + + + + + + + + 88.0s + + + + + + + + + + + 89.0s + + + + + + + + + + + 90.0s + + + + + + + + + + + 91.0s + + + + + + + + + + + 92.0s + + + + + + + + + + + 93.0s + + + + + + + + + + + 94.0s + + + + + + + + + + + 95.0s + + + + + + + + + + + 96.0s + + + + + + + + + + + 97.0s + + + + + + + + + + + 98.0s + + + + + + + + + + + 99.0s + + + + + + + + + + + 100.0s + + + + + + + + + + + 101.0s + + + + + + + + + + + 102.0s + + + + + + + + + + + 103.0s + + + + + + + + + + + 104.0s + + + + + + + + + + + 105.0s + + + + + + + + + + + 106.0s + + + + + + + + + + + 107.0s + + + + + + + + + + + 108.0s + + + + + + + + + + + 109.0s + + + + + + + + + + + 110.0s + + + + + + + + + + + 111.0s + + + + + + + + + + + 112.0s + + + + + + + + + + + 113.0s + + + + + + + + + + + 114.0s + + + + + + + + + + + 115.0s + + + + + + + + + + + 116.0s + + + + + + + + + + + 117.0s + + + + + + + + + + + 118.0s + + + + + + + + + + + 119.0s + + + + + + + + + + + 120.0s + + + + + + + + + + + 121.0s + + + + + + + + + + + 122.0s + + + + + + + + + + + 123.0s + + + + + + + + + + + 124.0s + + + + + + + + + + + 125.0s + + + + + + + + + + + 126.0s + + + + + + + + + + + 127.0s + + + + + + + + + + + 128.0s + + + + + + + + + + + 129.0s + + + + + + + + + + + 130.0s + + + + + + + + + + + 131.0s + + + + + + + + + + + 132.0s + + + + + + + + + + + 133.0s + + + + + + + + + + + 134.0s + + + + + + + + + + + 135.0s + + + + + + + + + + + 136.0s + + + + + + + + + + + 137.0s + + + + + + + + + + + 138.0s + + + + + + + + + + + 139.0s + + + + + + + + + + + 140.0s + + + + + + + + + + + 141.0s + + + + + + + + + + + 142.0s + + + + + + + + + + + 143.0s + + + + + + + + + + + 144.0s + + + + + + + + + + + 145.0s + + + + + + + + + + + 146.0s + + + + + + + + + + + 147.0s + + + + + + + + + + + 148.0s + + + + + + + + + + + 149.0s + + + + + + + + + + + 150.0s + + + + + + + + + + + 151.0s + + + + + + + + + + + 152.0s + + + + + + + + + + + 153.0s + + + + + + + + + + + 154.0s + + + + + + + + + + + 155.0s + + + + + + + + + + + 156.0s + + + + + + + + + + + 157.0s + + + + + + + + + + + 158.0s + + + + + + + + + + + 159.0s + + + + + + + + + + + 160.0s + + + + + + + + + + + 161.0s + + + + + + + + + + + 162.0s + + + + + + + + + + + 163.0s + + + + + + + + + + + 164.0s + + + + + + + + + + + 165.0s + + + + + + + + + + + 166.0s + + + + + + + + + + + 167.0s + + + + + + + + + + + 168.0s + + + + + + + + + + + 169.0s + + + + + + + + + + + 170.0s + + + + + + + + + + + 171.0s + + + + + + + + + + + 172.0s + + + + + + + + + + + 173.0s + + + + + + + + + + + 174.0s + + + + + + + + + + + 175.0s + + + + + + + + + + + 176.0s + + + + + + + + + + + 177.0s + + + + + + + + + + + 178.0s + + + + + + + + + + + 179.0s + + + + + + + + + + + 180.0s + + + + + 333.47mb/sec + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +IO utilization - write + + + 0.0s + + + + + + + + + + + 1.0s + + + + + + + + + + + 2.0s + + + + + + + + + + + 3.0s + + + + + + + + + + + 4.0s + + + + + + + + + + + 5.0s + + + + + + + + + + + 6.0s + + + + + + + + + + + 7.0s + + + + + + + + + + + 8.0s + + + + + + + + + + + 9.0s + + + + + + + + + + + 10.0s + + + + + + + + + + + 11.0s + + + + + + + + + + + 12.0s + + + + + + + + + + + 13.0s + + + + + + + + + + + 14.0s + + + + + + + + + + + 15.0s + + + + + + + + + + + 16.0s + + + + + + + + + + + 17.0s + + + + + + + + + + + 18.0s + + + + + + + + + + + 19.0s + + + + + + + + + + + 20.0s + + + + + + + + + + + 21.0s + + + + + + + + + + + 22.0s + + + + + + + + + + + 23.0s + + + + + + + + + + + 24.0s + + + + + + + + + + + 25.0s + + + + + + + + + + + 26.0s + + + + + + + + + + + 27.0s + + + + + + + + + + + 28.0s + + + + + + + + + + + 29.0s + + + + + + + + + + + 30.0s + + + + + + + + + + + 31.0s + + + + + + + + + + + 32.0s + + + + + + + + + + + 33.0s + + + + + + + + + + + 34.0s + + + + + + + + + + + 35.0s + + + + + + + + + + + 36.0s + + + + + + + + + + + 37.0s + + + + + + + + + + + 38.0s + + + + + + + + + + + 39.0s + + + + + + + + + + + 40.0s + + + + + + + + + + + 41.0s + + + + + + + + + + + 42.0s + + + + + + + + + + + 43.0s + + + + + + + + + + + 44.0s + + + + + + + + + + + 45.0s + + + + + + + + + + + 46.0s + + + + + + + + + + + 47.0s + + + + + + + + + + + 48.0s + + + + + + + + + + + 49.0s + + + + + + + + + + + 50.0s + + + + + + + + + + + 51.0s + + + + + + + + + + + 52.0s + + + + + + + + + + + 53.0s + + + + + + + + + + + 54.0s + + + + + + + + + + + 55.0s + + + + + + + + + + + 56.0s + + + + + + + + + + + 57.0s + + + + + + + + + + + 58.0s + + + + + + + + + + + 59.0s + + + + + + + + + + + 60.0s + + + + + + + + + + + 61.0s + + + + + + + + + + + 62.0s + + + + + + + + + + + 63.0s + + + + + + + + + + + 64.0s + + + + + + + + + + + 65.0s + + + + + + + + + + + 66.0s + + + + + + + + + + + 67.0s + + + + + + + + + + + 68.0s + + + + + + + + + + + 69.0s + + + + + + + + + + + 70.0s + + + + + + + + + + + 71.0s + + + + + + + + + + + 72.0s + + + + + + + + + + + 73.0s + + + + + + + + + + + 74.0s + + + + + + + + + + + 75.0s + + + + + + + + + + + 76.0s + + + + + + + + + + + 77.0s + + + + + + + + + + + 78.0s + + + + + + + + + + + 79.0s + + + + + + + + + + + 80.0s + + + + + + + + + + + 81.0s + + + + + + + + + + + 82.0s + + + + + + + + + + + 83.0s + + + + + + + + + + + 84.0s + + + + + + + + + + + 85.0s + + + + + + + + + + + 86.0s + + + + + + + + + + + 87.0s + + + + + + + + + + + 88.0s + + + + + + + + + + + 89.0s + + + + + + + + + + + 90.0s + + + + + + + + + + + 91.0s + + + + + + + + + + + 92.0s + + + + + + + + + + + 93.0s + + + + + + + + + + + 94.0s + + + + + + + + + + + 95.0s + + + + + + + + + + + 96.0s + + + + + + + + + + + 97.0s + + + + + + + + + + + 98.0s + + + + + + + + + + + 99.0s + + + + + + + + + + + 100.0s + + + + + + + + + + + 101.0s + + + + + + + + + + + 102.0s + + + + + + + + + + + 103.0s + + + + + + + + + + + 104.0s + + + + + + + + + + + 105.0s + + + + + + + + + + + 106.0s + + + + + + + + + + + 107.0s + + + + + + + + + + + 108.0s + + + + + + + + + + + 109.0s + + + + + + + + + + + 110.0s + + + + + + + + + + + 111.0s + + + + + + + + + + + 112.0s + + + + + + + + + + + 113.0s + + + + + + + + + + + 114.0s + + + + + + + + + + + 115.0s + + + + + + + + + + + 116.0s + + + + + + + + + + + 117.0s + + + + + + + + + + + 118.0s + + + + + + + + + + + 119.0s + + + + + + + + + + + 120.0s + + + + + + + + + + + 121.0s + + + + + + + + + + + 122.0s + + + + + + + + + + + 123.0s + + + + + + + + + + + 124.0s + + + + + + + + + + + 125.0s + + + + + + + + + + + 126.0s + + + + + + + + + + + 127.0s + + + + + + + + + + + 128.0s + + + + + + + + + + + 129.0s + + + + + + + + + + + 130.0s + + + + + + + + + + + 131.0s + + + + + + + + + + + 132.0s + + + + + + + + + + + 133.0s + + + + + + + + + + + 134.0s + + + + + + + + + + + 135.0s + + + + + + + + + + + 136.0s + + + + + + + + + + + 137.0s + + + + + + + + + + + 138.0s + + + + + + + + + + + 139.0s + + + + + + + + + + + 140.0s + + + + + + + + + + + 141.0s + + + + + + + + + + + 142.0s + + + + + + + + + + + 143.0s + + + + + + + + + + + 144.0s + + + + + + + + + + + 145.0s + + + + + + + + + + + 146.0s + + + + + + + + + + + 147.0s + + + + + + + + + + + 148.0s + + + + + + + + + + + 149.0s + + + + + + + + + + + 150.0s + + + + + + + + + + + 151.0s + + + + + + + + + + + 152.0s + + + + + + + + + + + 153.0s + + + + + + + + + + + 154.0s + + + + + + + + + + + 155.0s + + + + + + + + + + + 156.0s + + + + + + + + + + + 157.0s + + + + + + + + + + + 158.0s + + + + + + + + + + + 159.0s + + + + + + + + + + + 160.0s + + + + + + + + + + + 161.0s + + + + + + + + + + + 162.0s + + + + + + + + + + + 163.0s + + + + + + + + + + + 164.0s + + + + + + + + + + + 165.0s + + + + + + + + + + + 166.0s + + + + + + + + + + + 167.0s + + + + + + + + + + + 168.0s + + + + + + + + + + + 169.0s + + + + + + + + + + + 170.0s + + + + + + + + + + + 171.0s + + + + + + + + + + + 172.0s + + + + + + + + + + + 173.0s + + + + + + + + + + + 174.0s + + + + + + + + + + + 175.0s + + + + + + + + + + + 176.0s + + + + + + + + + + + 177.0s + + + + + + + + + + + 178.0s + + + + + + + + + + + 179.0s + + + + + + + + + + + 180.0s + + + + + + + + + + + + + + + + + + + + + + + + + 23.60mb/sec + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +CPU[overall] utilization + + + 0.0s + + + + + + + + + + + 1.0s + + + + + + + + + + + 2.0s + + + + + + + + + + + 3.0s + + + + + + + + + + + 4.0s + + + + + + + + + + + 5.0s + + + + + + + + + + + 6.0s + + + + + + + + + + + 7.0s + + + + + + + + + + + 8.0s + + + + + + + + + + + 9.0s + + + + + + + + + + + 10.0s + + + + + + + + + + + 11.0s + + + + + + + + + + + 12.0s + + + + + + + + + + + 13.0s + + + + + + + + + + + 14.0s + + + + + + + + + + + 15.0s + + + + + + + + + + + 16.0s + + + + + + + + + + + 17.0s + + + + + + + + + + + 18.0s + + + + + + + + + + + 19.0s + + + + + + + + + + + 20.0s + + + + + + + + + + + 21.0s + + + + + + + + + + + 22.0s + + + + + + + + + + + 23.0s + + + + + + + + + + + 24.0s + + + + + + + + + + + 25.0s + + + + + + + + + + + 26.0s + + + + + + + + + + + 27.0s + + + + + + + + + + + 28.0s + + + + + + + + + + + 29.0s + + + + + + + + + + + 30.0s + + + + + + + + + + + 31.0s + + + + + + + + + + + 32.0s + + + + + + + + + + + 33.0s + + + + + + + + + + + 34.0s + + + + + + + + + + + 35.0s + + + + + + + + + + + 36.0s + + + + + + + + + + + 37.0s + + + + + + + + + + + 38.0s + + + + + + + + + + + 39.0s + + + + + + + + + + + 40.0s + + + + + + + + + + + 41.0s + + + + + + + + + + + 42.0s + + + + + + + + + + + 43.0s + + + + + + + + + + + 44.0s + + + + + + + + + + + 45.0s + + + + + + + + + + + 46.0s + + + + + + + + + + + 47.0s + + + + + + + + + + + 48.0s + + + + + + + + + + + 49.0s + + + + + + + + + + + 50.0s + + + + + + + + + + + 51.0s + + + + + + + + + + + 52.0s + + + + + + + + + + + 53.0s + + + + + + + + + + + 54.0s + + + + + + + + + + + 55.0s + + + + + + + + + + + 56.0s + + + + + + + + + + + 57.0s + + + + + + + + + + + 58.0s + + + + + + + + + + + 59.0s + + + + + + + + + + + 60.0s + + + + + + + + + + + 61.0s + + + + + + + + + + + 62.0s + + + + + + + + + + + 63.0s + + + + + + + + + + + 64.0s + + + + + + + + + + + 65.0s + + + + + + + + + + + 66.0s + + + + + + + + + + + 67.0s + + + + + + + + + + + 68.0s + + + + + + + + + + + 69.0s + + + + + + + + + + + 70.0s + + + + + + + + + + + 71.0s + + + + + + + + + + + 72.0s + + + + + + + + + + + 73.0s + + + + + + + + + + + 74.0s + + + + + + + + + + + 75.0s + + + + + + + + + + + 76.0s + + + + + + + + + + + 77.0s + + + + + + + + + + + 78.0s + + + + + + + + + + + 79.0s + + + + + + + + + + + 80.0s + + + + + + + + + + + 81.0s + + + + + + + + + + + 82.0s + + + + + + + + + + + 83.0s + + + + + + + + + + + 84.0s + + + + + + + + + + + 85.0s + + + + + + + + + + + 86.0s + + + + + + + + + + + 87.0s + + + + + + + + + + + 88.0s + + + + + + + + + + + 89.0s + + + + + + + + + + + 90.0s + + + + + + + + + + + 91.0s + + + + + + + + + + + 92.0s + + + + + + + + + + + 93.0s + + + + + + + + + + + 94.0s + + + + + + + + + + + 95.0s + + + + + + + + + + + 96.0s + + + + + + + + + + + 97.0s + + + + + + + + + + + 98.0s + + + + + + + + + + + 99.0s + + + + + + + + + + + 100.0s + + + + + + + + + + + 101.0s + + + + + + + + + + + 102.0s + + + + + + + + + + + 103.0s + + + + + + + + + + + 104.0s + + + + + + + + + + + 105.0s + + + + + + + + + + + 106.0s + + + + + + + + + + + 107.0s + + + + + + + + + + + 108.0s + + + + + + + + + + + 109.0s + + + + + + + + + + + 110.0s + + + + + + + + + + + 111.0s + + + + + + + + + + + 112.0s + + + + + + + + + + + 113.0s + + + + + + + + + + + 114.0s + + + + + + + + + + + 115.0s + + + + + + + + + + + 116.0s + + + + + + + + + + + 117.0s + + + + + + + + + + + 118.0s + + + + + + + + + + + 119.0s + + + + + + + + + + + 120.0s + + + + + + + + + + + 121.0s + + + + + + + + + + + 122.0s + + + + + + + + + + + 123.0s + + + + + + + + + + + 124.0s + + + + + + + + + + + 125.0s + + + + + + + + + + + 126.0s + + + + + + + + + + + 127.0s + + + + + + + + + + + 128.0s + + + + + + + + + + + 129.0s + + + + + + + + + + + 130.0s + + + + + + + + + + + 131.0s + + + + + + + + + + + 132.0s + + + + + + + + + + + 133.0s + + + + + + + + + + + 134.0s + + + + + + + + + + + 135.0s + + + + + + + + + + + 136.0s + + + + + + + + + + + 137.0s + + + + + + + + + + + 138.0s + + + + + + + + + + + 139.0s + + + + + + + + + + + 140.0s + + + + + + + + + + + 141.0s + + + + + + + + + + + 142.0s + + + + + + + + + + + 143.0s + + + + + + + + + + + 144.0s + + + + + + + + + + + 145.0s + + + + + + + + + + + 146.0s + + + + + + + + + + + 147.0s + + + + + + + + + + + 148.0s + + + + + + + + + + + 149.0s + + + + + + + + + + + 150.0s + + + + + + + + + + + 151.0s + + + + + + + + + + + 152.0s + + + + + + + + + + + 153.0s + + + + + + + + + + + 154.0s + + + + + + + + + + + 155.0s + + + + + + + + + + + 156.0s + + + + + + + + + + + 157.0s + + + + + + + + + + + 158.0s + + + + + + + + + + + 159.0s + + + + + + + + + + + 160.0s + + + + + + + + + + + 161.0s + + + + + + + + + + + 162.0s + + + + + + + + + + + 163.0s + + + + + + + + + + + 164.0s + + + + + + + + + + + 165.0s + + + + + + + + + + + 166.0s + + + + + + + + + + + 167.0s + + + + + + + + + + + 168.0s + + + + + + + + + + + 169.0s + + + + + + + + + + + 170.0s + + + + + + + + + + + 171.0s + + + + + + + + + + + 172.0s + + + + + + + + + + + 173.0s + + + + + + + + + + + 174.0s + + + + + + + + + + + 175.0s + + + + + + + + + + + 176.0s + + + + + + + + + + + 177.0s + + + + + + + + + + + 178.0s + + + + + + + + + + + 179.0s + + + + + + + + + + + 180.0s + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +CPU[overall] wait + + + 0.0s + + + + + + + + + + + 1.0s + + + + + + + + + + + 2.0s + + + + + + + + + + + 3.0s + + + + + + + + + + + 4.0s + + + + + + + + + + + 5.0s + + + + + + + + + + + 6.0s + + + + + + + + + + + 7.0s + + + + + + + + + + + 8.0s + + + + + + + + + + + 9.0s + + + + + + + + + + + 10.0s + + + + + + + + + + + 11.0s + + + + + + + + + + + 12.0s + + + + + + + + + + + 13.0s + + + + + + + + + + + 14.0s + + + + + + + + + + + 15.0s + + + + + + + + + + + 16.0s + + + + + + + + + + + 17.0s + + + + + + + + + + + 18.0s + + + + + + + + + + + 19.0s + + + + + + + + + + + 20.0s + + + + + + + + + + + 21.0s + + + + + + + + + + + 22.0s + + + + + + + + + + + 23.0s + + + + + + + + + + + 24.0s + + + + + + + + + + + 25.0s + + + + + + + + + + + 26.0s + + + + + + + + + + + 27.0s + + + + + + + + + + + 28.0s + + + + + + + + + + + 29.0s + + + + + + + + + + + 30.0s + + + + + + + + + + + 31.0s + + + + + + + + + + + 32.0s + + + + + + + + + + + 33.0s + + + + + + + + + + + 34.0s + + + + + + + + + + + 35.0s + + + + + + + + + + + 36.0s + + + + + + + + + + + 37.0s + + + + + + + + + + + 38.0s + + + + + + + + + + + 39.0s + + + + + + + + + + + 40.0s + + + + + + + + + + + 41.0s + + + + + + + + + + + 42.0s + + + + + + + + + + + 43.0s + + + + + + + + + + + 44.0s + + + + + + + + + + + 45.0s + + + + + + + + + + + 46.0s + + + + + + + + + + + 47.0s + + + + + + + + + + + 48.0s + + + + + + + + + + + 49.0s + + + + + + + + + + + 50.0s + + + + + + + + + + + 51.0s + + + + + + + + + + + 52.0s + + + + + + + + + + + 53.0s + + + + + + + + + + + 54.0s + + + + + + + + + + + 55.0s + + + + + + + + + + + 56.0s + + + + + + + + + + + 57.0s + + + + + + + + + + + 58.0s + + + + + + + + + + + 59.0s + + + + + + + + + + + 60.0s + + + + + + + + + + + 61.0s + + + + + + + + + + + 62.0s + + + + + + + + + + + 63.0s + + + + + + + + + + + 64.0s + + + + + + + + + + + 65.0s + + + + + + + + + + + 66.0s + + + + + + + + + + + 67.0s + + + + + + + + + + + 68.0s + + + + + + + + + + + 69.0s + + + + + + + + + + + 70.0s + + + + + + + + + + + 71.0s + + + + + + + + + + + 72.0s + + + + + + + + + + + 73.0s + + + + + + + + + + + 74.0s + + + + + + + + + + + 75.0s + + + + + + + + + + + 76.0s + + + + + + + + + + + 77.0s + + + + + + + + + + + 78.0s + + + + + + + + + + + 79.0s + + + + + + + + + + + 80.0s + + + + + + + + + + + 81.0s + + + + + + + + + + + 82.0s + + + + + + + + + + + 83.0s + + + + + + + + + + + 84.0s + + + + + + + + + + + 85.0s + + + + + + + + + + + 86.0s + + + + + + + + + + + 87.0s + + + + + + + + + + + 88.0s + + + + + + + + + + + 89.0s + + + + + + + + + + + 90.0s + + + + + + + + + + + 91.0s + + + + + + + + + + + 92.0s + + + + + + + + + + + 93.0s + + + + + + + + + + + 94.0s + + + + + + + + + + + 95.0s + + + + + + + + + + + 96.0s + + + + + + + + + + + 97.0s + + + + + + + + + + + 98.0s + + + + + + + + + + + 99.0s + + + + + + + + + + + 100.0s + + + + + + + + + + + 101.0s + + + + + + + + + + + 102.0s + + + + + + + + + + + 103.0s + + + + + + + + + + + 104.0s + + + + + + + + + + + 105.0s + + + + + + + + + + + 106.0s + + + + + + + + + + + 107.0s + + + + + + + + + + + 108.0s + + + + + + + + + + + 109.0s + + + + + + + + + + + 110.0s + + + + + + + + + + + 111.0s + + + + + + + + + + + 112.0s + + + + + + + + + + + 113.0s + + + + + + + + + + + 114.0s + + + + + + + + + + + 115.0s + + + + + + + + + + + 116.0s + + + + + + + + + + + 117.0s + + + + + + + + + + + 118.0s + + + + + + + + + + + 119.0s + + + + + + + + + + + 120.0s + + + + + + + + + + + 121.0s + + + + + + + + + + + 122.0s + + + + + + + + + + + 123.0s + + + + + + + + + + + 124.0s + + + + + + + + + + + 125.0s + + + + + + + + + + + 126.0s + + + + + + + + + + + 127.0s + + + + + + + + + + + 128.0s + + + + + + + + + + + 129.0s + + + + + + + + + + + 130.0s + + + + + + + + + + + 131.0s + + + + + + + + + + + 132.0s + + + + + + + + + + + 133.0s + + + + + + + + + + + 134.0s + + + + + + + + + + + 135.0s + + + + + + + + + + + 136.0s + + + + + + + + + + + 137.0s + + + + + + + + + + + 138.0s + + + + + + + + + + + 139.0s + + + + + + + + + + + 140.0s + + + + + + + + + + + 141.0s + + + + + + + + + + + 142.0s + + + + + + + + + + + 143.0s + + + + + + + + + + + 144.0s + + + + + + + + + + + 145.0s + + + + + + + + + + + 146.0s + + + + + + + + + + + 147.0s + + + + + + + + + + + 148.0s + + + + + + + + + + + 149.0s + + + + + + + + + + + 150.0s + + + + + + + + + + + 151.0s + + + + + + + + + + + 152.0s + + + + + + + + + + + 153.0s + + + + + + + + + + + 154.0s + + + + + + + + + + + 155.0s + + + + + + + + + + + 156.0s + + + + + + + + + + + 157.0s + + + + + + + + + + + 158.0s + + + + + + + + + + + 159.0s + + + + + + + + + + + 160.0s + + + + + + + + + + + 161.0s + + + + + + + + + + + 162.0s + + + + + + + + + + + 163.0s + + + + + + + + + + + 164.0s + + + + + + + + + + + 165.0s + + + + + + + + + + + 166.0s + + + + + + + + + + + 167.0s + + + + + + + + + + + 168.0s + + + + + + + + + + + 169.0s + + + + + + + + + + + 170.0s + + + + + + + + + + + 171.0s + + + + + + + + + + + 172.0s + + + + + + + + + + + 173.0s + + + + + + + + + + + 174.0s + + + + + + + + + + + 175.0s + + + + + + + + + + + 176.0s + + + + + + + + + + + 177.0s + + + + + + + + + + + 178.0s + + + + + + + + + + + 179.0s + + + + + + + + + + + 180.0s + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Processes + + + 0.0s + + + + + + + + + + + 1.0s + + + + + + + + + + + 2.0s + + + + + + + + + + + 3.0s + + + + + + + + + + + 4.0s + + + + + + + + + + + 5.0s + + + + + + + + + + + 6.0s + + + + + + + + + + + 7.0s + + + + + + + + + + + 8.0s + + + + + + + + + + + 9.0s + + + + + + + + + + + 10.0s + + + + + + + + + + + 11.0s + + + + + + + + + + + 12.0s + + + + + + + + + + + 13.0s + + + + + + + + + + + 14.0s + + + + + + + + + + + 15.0s + + + + + + + + + + + 16.0s + + + + + + + + + + + 17.0s + + + + + + + + + + + 18.0s + + + + + + + + + + + 19.0s + + + + + + + + + + + 20.0s + + + + + + + + + + + 21.0s + + + + + + + + + + + 22.0s + + + + + + + + + + + 23.0s + + + + + + + + + + + 24.0s + + + + + + + + + + + 25.0s + + + + + + + + + + + 26.0s + + + + + + + + + + + 27.0s + + + + + + + + + + + 28.0s + + + + + + + + + + + 29.0s + + + + + + + + + + + 30.0s + + + + + + + + + + + 31.0s + + + + + + + + + + + 32.0s + + + + + + + + + + + 33.0s + + + + + + + + + + + 34.0s + + + + + + + + + + + 35.0s + + + + + + + + + + + 36.0s + + + + + + + + + + + 37.0s + + + + + + + + + + + 38.0s + + + + + + + + + + + 39.0s + + + + + + + + + + + 40.0s + + + + + + + + + + + 41.0s + + + + + + + + + + + 42.0s + + + + + + + + + + + 43.0s + + + + + + + + + + + 44.0s + + + + + + + + + + + 45.0s + + + + + + + + + + + 46.0s + + + + + + + + + + + 47.0s + + + + + + + + + + + 48.0s + + + + + + + + + + + 49.0s + + + + + + + + + + + 50.0s + + + + + + + + + + + 51.0s + + + + + + + + + + + 52.0s + + + + + + + + + + + 53.0s + + + + + + + + + + + 54.0s + + + + + + + + + + + 55.0s + + + + + + + + + + + 56.0s + + + + + + + + + + + 57.0s + + + + + + + + + + + 58.0s + + + + + + + + + + + 59.0s + + + + + + + + + + + 60.0s + + + + + + + + + + + 61.0s + + + + + + + + + + + 62.0s + + + + + + + + + + + 63.0s + + + + + + + + + + + 64.0s + + + + + + + + + + + 65.0s + + + + + + + + + + + 66.0s + + + + + + + + + + + 67.0s + + + + + + + + + + + 68.0s + + + + + + + + + + + 69.0s + + + + + + + + + + + 70.0s + + + + + + + + + + + 71.0s + + + + + + + + + + + 72.0s + + + + + + + + + + + 73.0s + + + + + + + + + + + 74.0s + + + + + + + + + + + 75.0s + + + + + + + + + + + 76.0s + + + + + + + + + + + 77.0s + + + + + + + + + + + 78.0s + + + + + + + + + + + 79.0s + + + + + + + + + + + 80.0s + + + + + + + + + + + 81.0s + + + + + + + + + + + 82.0s + + + + + + + + + + + 83.0s + + + + + + + + + + + 84.0s + + + + + + + + + + + 85.0s + + + + + + + + + + + 86.0s + + + + + + + + + + + 87.0s + + + + + + + + + + + 88.0s + + + + + + + + + + + 89.0s + + + + + + + + + + + 90.0s + + + + + + + + + + + 91.0s + + + + + + + + + + + 92.0s + + + + + + + + + + + 93.0s + + + + + + + + + + + 94.0s + + + + + + + + + + + 95.0s + + + + + + + + + + + 96.0s + + + + + + + + + + + 97.0s + + + + + + + + + + + 98.0s + + + + + + + + + + + 99.0s + + + + + + + + + + + 100.0s + + + + + + + + + + + 101.0s + + + + + + + + + + + 102.0s + + + + + + + + + + + 103.0s + + + + + + + + + + + 104.0s + + + + + + + + + + + 105.0s + + + + + + + + + + + 106.0s + + + + + + + + + + + 107.0s + + + + + + + + + + + 108.0s + + + + + + + + + + + 109.0s + + + + + + + + + + + 110.0s + + + + + + + + + + + 111.0s + + + + + + + + + + + 112.0s + + + + + + + + + + + 113.0s + + + + + + + + + + + 114.0s + + + + + + + + + + + 115.0s + + + + + + + + + + + 116.0s + + + + + + + + + + + 117.0s + + + + + + + + + + + 118.0s + + + + + + + + + + + 119.0s + + + + + + + + + + + 120.0s + + + + + + + + + + + 121.0s + + + + + + + + + + + 122.0s + + + + + + + + + + + 123.0s + + + + + + + + + + + 124.0s + + + + + + + + + + + 125.0s + + + + + + + + + + + 126.0s + + + + + + + + + + + 127.0s + + + + + + + + + + + 128.0s + + + + + + + + + + + 129.0s + + + + + + + + + + + 130.0s + + + + + + + + + + + 131.0s + + + + + + + + + + + 132.0s + + + + + + + + + + + 133.0s + + + + + + + + + + + 134.0s + + + + + + + + + + + 135.0s + + + + + + + + + + + 136.0s + + + + + + + + + + + 137.0s + + + + + + + + + + + 138.0s + + + + + + + + + + + 139.0s + + + + + + + + + + + 140.0s + + + + + + + + + + + 141.0s + + + + + + + + + + + 142.0s + + + + + + + + + + + 143.0s + + + + + + + + + + + 144.0s + + + + + + + + + + + 145.0s + + + + + + + + + + + 146.0s + + + + + + + + + + + 147.0s + + + + + + + + + + + 148.0s + + + + + + + + + + + 149.0s + + + + + + + + + + + 150.0s + + + + + + + + + + + 151.0s + + + + + + + + + + + 152.0s + + + + + + + + + + + 153.0s + + + + + + + + + + + 154.0s + + + + + + + + + + + 155.0s + + + + + + + + + + + 156.0s + + + + + + + + + + + 157.0s + + + + + + + + + + + 158.0s + + + + + + + + + + + 159.0s + + + + + + + + + + + 160.0s + + + + + + + + + + + 161.0s + + + + + + + + + + + 162.0s + + + + + + + + + + + 163.0s + + + + + + + + + + + 164.0s + + + + + + + + + + + 165.0s + + + + + + + + + + + 166.0s + + + + + + + + + + + 167.0s + + + + + + + + + + + 168.0s + + + + + + + + + + + 169.0s + + + + + + + + + + + 170.0s + + + + + + + + + + + 171.0s + + + + + + + + + + + 172.0s + + + + + + + + + + + 173.0s + + + + + + + + + + + 174.0s + + + + + + + + + + + 175.0s + + + + + + + + + + + 176.0s + + + + + + + + + + + 177.0s + + + + + + + + + + + 178.0s + + + + + + + + + + + 179.0s + + + + + + + + + + + 180.0s + + + + + + + + + kthreadd [2]3.5ms + + + + + + + + + + + + + + + + + + + + + + + kworker/0:0 [5]132.0ms + + + + + + + + kworker/0:1 [7]3.4ms + + + + + + + kworker/u16:0 [8]31.9ms + + + + + + + + + + + + + + + + + + ksoftirqd/0 [12]91.1ms + + + + + + + + + + + + + + + + + rcu_sched [13]262.8ms + + + + + + + migration/0 [14]6.8ms + + + + + + + cpuhp/0 [15]1.6ms + + + + + + + + migration/1 [17]86.9ms + + + + + + + + + + + + + ksoftirqd/1 [18]66.2ms + + + + + + + + + + migration/2 [22]89.0ms + + + + + + + + + + + + + + + ksoftirqd/2 [23]52.6ms + + + + + + + + + + migration/3 [27]88.6ms + + + + + + + + + + + + + + + ksoftirqd/3 [28]63.4ms + + + + + + + + + + migration/4 [32]89.1ms + + + + + + + + + ksoftirqd/4 [33]60.0ms + + + + + + + + + + migration/5 [37]89.2ms + + + + + + + + + ksoftirqd/5 [38]61.1ms + + + + + + + + + + migration/6 [42]87.1ms + + + + + + + + + ksoftirqd/6 [43]44.8ms + + + + + + + + + + migration/7 [47]90.0ms + + + + + + + ksoftirqd/7 [48]66.7ms + + + + + + + + + kworker/u16:1 [52]34.7ms + + + + + + + kworker/u16:2 [53]73.4ms + + + + + + + kworker/u16:3 [54]29.6ms + + + + + + + kworker/u16:4 [55]30.9ms + + + + + + + + + + + kworker/u16:5 [56]98.0ms + + + + + + + modprobe [823]7.9ms + + + + + + + + kworker/u16:6 [57]32.3ms + + + + + + + + kdevtmpfs [59]1.5ms + + + + + + + + kauditd [61]5.4ms + + + + + + + + + + kcompactd0 [65]5.3ms + + + + + + + + khugepaged [67]5.9ms + + + + + + + kworker/2:1 [73]7.8ms + + + + + + + + + + + + + kworker/6:1 [92]7.7ms + + + + + + + kworker/6:1H [93]12.1ms + + + + + + + kworker/3:1 [94]2.4ms + + + + + + + + + + + kworker/1:1 [95]37.0ms + + + + + + + + + + + + + + + kworker/5:1 [96]52.7ms + + + + + + + + + + + + + + + + + kworker/4:1 [97]50.1ms + + + + + + + + + kworker/7:1 [98]6.1ms + + + + + + + + + + + + + + + + + + kworker/6:2 [110]9.9ms + + + + + + + + kworker/1:1H [113]17.8ms + + + + + + + + + + kworker/0:2 [126]1.4ms + + + + + + + kworker/0:3 [127]3.7ms + + + + + + + kworker/0:4 [128]8.9ms + + + + + + + + kworker/3:1H [151]14.3ms + + + + + + + kworker/5:1H [170]29.5ms + + + + + + + + + kworker/2:2 [174]14.7ms + + + + + + + ata_sff [177]1.1ms + + + + + + + + + + + + + + + + + + + + + + + kworker/0:1H [240]12.0ms + + + + + + + + kworker/7:1H [261]24.8ms + + + + + + + jbd2/sda3-8 [262]18.2ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + loop0 [269]332.7ms + + + + + + + loop1 [294]14.8ms + + + + + + + jbd2/loop1-8 [295]3.4ms + + + + + + + + kworker/4:1H [297]12.4ms + + + + + + + kworker/2:1H [310]16.7ms + + + + + + + + + kworker/1:2 [335]7.6ms + + + + + + + kworker/5:2 [353]2.0ms + + + + + + + + + + + + + + + + + + + kworker/3:2 [413]23.2ms + + + + + + + + + + kworker/2:4 [822]2.2ms + + + + + + + + + + + + + kworker/7:4 [3985]15.4ms + + + + + + + + + + + + + + + + + + kworker/6:7 [5065]11.6ms + + + + + + + + + + + cq_cpu_prio_1 [6701]6.0ms + + + + + + + + + + + + + + start-networkin [333]40.1ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + python3 [352]604.1ms + + + + + + + + modprobe [734]9.3ms + + + + + + + + + + + + + + + + + + + + + + python3 [996]221.1ms + + + + + + + + + + + + + + + + + + + + + + + python3 [1740]249.4ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + systemd-bootcha [334]48.965s + + + + + + + + + + + systemd-modules [336]68.0ms + + + + + + + udevadm [338]15.1ms + + + + + + + + + + + udevadm [345]95.0ms + + + + + + + systemd-tmpfile [347]8.4ms + + + + + + + apparmor.system [354]16.6ms + + + + + + + systemd-detect- [357]3.8ms + + + + + + + apparmor.system [364]2.5ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + systemd-journal [355]466.1ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + systemd-udevd [356]1.039s + + + + + + + + + + + + + systemd-udevd [373]17.9ms + + + + + + + + + hw-management-c [628]3.4ms + + + + + + + + + + + + systemd-udevd [374]19.4ms + + + + + + + systemd-udevd [375]7.4ms + + + + + + + + + + + + + + + + + systemd-udevd [376]26.6ms + + + + + + + hw-management-t [465]1.1ms + + + + + + + + + + + (spawn) [609]11.4ms + + + + + + + + + + + + + + + + + + + + + + systemd-udevd [377]22.9ms + + + + + + + kdump-config [429]3.6ms + + + + + + + + systemctl [457]1.3ms + + + + + + + + + + + + + + + + + + + + + systemd-udevd [378]31.7ms + + + + + + + + + + + + + systemd-udevd [614]6.9ms + + + + + + + + + + + + systemd-udevd [379]8.2ms + + + + + + + + + + + + + systemd-udevd [380]15.6ms + + + + + + + + + + + + + + + + + + + + + + + + + systemd-udevd [381]59.9ms + + + + + + + + + + hdparm [455]8.1ms + + + + + + + + + + grep [490]7.2ms + + + + + + + + + hdparm [493]1.0ms + + + + + + + + udevadm [494]1.8ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + systemd-udevd [382]43.1ms + + + + + + + + + + + kdump-config [428]8.0ms + + + + + + + + systemctl [453]2.4ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + systemd-udevd [383]60.4ms + + + + + + + systemd-sysctl [414]3.7ms + + + + + + + kdump-config [436]3.7ms + + + + + + + + systemctl [454]2.5ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + systemd-udevd [384]80.2ms + + + + + + + + + + + + + + + + + + + systemd-udevd [385]43.7ms + + + + + + + + + kdump-config [434]8.7ms + + + + + + + + + + systemctl [456]4.7ms + + + + + + + + + + + + + + + + + systemd-udevd [386]10.8ms + + + + + + + + + + + hw-management-c [604]11.0ms + + + + + + + + + + + + + + + + systemd-udevd [387]11.3ms + + + + + + + + + + + + + systemd-udevd [388]11.4ms + + + + + + + hw-management-t [463]5.5ms + + + + + + + + + + + + + systemd-udevd [613]5.3ms + + + + + + + + + + + + + + + + + + systemd-udevd [389]39.0ms + + + + + + + hw-management-c [617]5.8ms + + + + + + + + + hw-management-t [682]5.5ms + + + + + + + + + + + + + + systemd-udevd [390]15.2ms + + + + + + + + + + + + + + + + + + + systemd-udevd [392]15.7ms + + + + + + + hw-management-c [595]3.8ms + + + + + + + + + + + + + + + + + + systemd-udevd [396]65.4ms + + + + + + + hw-management-c [588]5.8ms + + + + + + + + + systemd-udevd [643]6.4ms + + + + + + + + + + + + + + + + systemd-udevd [397]41.6ms + + + + + + + kdump-config [431]3.9ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + systemd-udevd [398]57.9ms + + + + + + + hw-management-t [462]7.1ms + + + + + + + hw-management-c [621]2.9ms + + + + + + + + + + + + + + + + + + + + systemd-udevd [399]48.4ms + + + + + + + + + + + systemd-udevd [623]11.2ms + + + + + + + + + + + + + + + + + + + + + + + + + + systemd-udevd [400]56.4ms + + + + + + + hw-management-t [469]5.2ms + + + + + + + + + hw-management-c [519]5.7ms + + + + + + + + + + + hw-management-t [689]11.6ms + + + + + + + + + modprobe [721]10.2ms + + + + + + + + + + + + + + systemd-udevd [401]22.2ms + + + + + + + + + + + systemd-udevd [640]3.0ms + + + + + + + + + + + + + + + + + + + + systemd-udevd [402]52.4ms + + + + + + + hw-management-c [597]6.0ms + + + + + + + + + + + + systemd-udevd [403]13.3ms + + + + + + + + + hw-management-c [616]11.2ms + + + + + + + + + + + + + + + + + + + + + + systemd-udevd [404]21.6ms + + + + + + + hw-management-t [464]2.5ms + + + + + + + + + + + + + + + + systemd-udevd [405]22.1ms + + + + + + + hw-management-c [620]3.3ms + + + + + + + + + + + + + + + + + + + + + + + + systemd-udevd [406]35.1ms + + + + + + + + + kdump-config [430]3.4ms + + + + + + + + systemctl [452]6.3ms + + + + + + + + + + + + + + + + + + + + + + + + systemd-udevd [407]22.9ms + + + + + + + kdump-config [433]4.2ms + + + + + + + + systemctl [451]3.1ms + + + + + + + + + + + + + + + + + + + + + + + systemd-udevd [408]40.6ms + + + + + + + kdump-config [432]5.6ms + + + + + + + + + + + + + + + + + + + systemd-udevd [880]47.9ms + + + + + + + hw-management-c [937]5.6ms + + + + + + + hw-management-c [1153]15.5ms + + + + + + + + + hw-management-c [1192]1.5ms + + + + + + + xargs [1291]1.6ms + + + + + + + xargs [1293]1.4ms + + + + + + + + flock [1618]1.3ms + + + + + + + led_fan1_state [1754]23.5ms + + + + + + + + + grep [2091]1.7ms + + + + + + + + + grep [2374]2.0ms + + + + + + + + + + + + + + + + + hw-management-t [2878]34.2ms + + + + + + + + + + + + systemd-udevd [927]16.0ms + + + + + + + + + + + + + + + + + systemd-udevd [928]82.9ms + + + + + + + + + hw-management-c [3147]15.7ms + + + + + + + + hw-management-c [3184]2.1ms + + + + + + + + xargs [3194]1.6ms + + + + + + + xargs [3196]1.2ms + + + + + + + xargs [3199]1.5ms + + + + + + + xargs [3201]1.4ms + + + + + + + xargs [3204]1.4ms + + + + + + + cut [3207]1.2ms + + + + + + + + + + + + + + + + + + systemd-udevd [929]68.4ms + + + + + + + hw-management-c [997]14.6ms + + + + + + + + hw-management-c [1015]1.6ms + + + + + + + + + + + + systemd-udevd [930]20.7ms + + + + + + + + + hw-management-c [1154]15.4ms + + + + + + + + + + led_fan2_state [1493]24.0ms + + + + + + + + + + + + + + + systemd-udevd [933]38.9ms + + + + + + + kdump-config [2882]3.5ms + + + + + + + hw-management-t [3331]2.3ms + + + + + + + + + + + + + + + + systemd-udevd [934]41.7ms + + + + + + + hw-management-c [966]12.0ms + + + + + + + hw-management-c [986]9.9ms + + + + + + + hw-management-c [1012]9.6ms + + + + + + + hw-management-c [1062]11.7ms + + + + + + + + + + + + + + + + + + + + + + systemd-udevd [935]67.5ms + + + + + + + hw-management-c [1155]15.0ms + + + + + + + + hw-management-c [1186]1.4ms + + + + + + + xargs [1196]1.5ms + + + + + + + + + xargs [1197]1.4ms + + + + + + + xargs [1199]1.4ms + + + + + + + + + + + + led_fan1_state [1509]22.5ms + + + + + + + + + + + + + + + + + + + + + + + systemd-udevd [938]40.7ms + + + + + + + hw-management-c [1152]15.8ms + + + + + + + hw-management-c [1178]1.4ms + + + + + + + + + xargs [1205]1.6ms + + + + + + + + + led_fan2_state [1628]22.4ms + + + + + + + + + + + + + + + + + + + hw-management-t [2876]20.9ms + + + + + + + + + hw-management-c [3306]11.1ms + + + + + + + + hw-management-c [3503]1.3ms + + + + + + + + + + + + systemd-udevd [939]18.6ms + + + + + + + + + systemd-udevd [1156]32.5ms + + + + + + + hw-management-c [1191]15.2ms + + + + + + + led_fan3_state [1527]16.8ms + + + + + + + + + + + grep [1777]1.1ms + + + + + + + + + + + + + + hw-management-t [2915]36.9ms + + + + + + + sleep [3032]1.1ms + + + + + + + + + + + hw-management-p [4410]31.6ms + + + + + + + + + hw_management_p [4582]56.8ms + + + + + + + + + sh [4603]1.3ms + + + + + + + + + + + hw_management_p [4657]60.0ms + + + + + + + + sh [4660]1.0ms + + + + + + + sh [4664]1.9ms + + + + + + + sh [4668]1.3ms + + + + + + + sh [4672]2.4ms + + + + + + + + hw-management-c [4676]5.5ms + + + + + + + + + + systemd-udevd [1157]15.8ms + + + + + + + hw-management-c [1174]15.5ms + + + + + + + + flock [1624]1.2ms + + + + + + + led_fan3_state [1772]19.6ms + + + + + + + + + cut [2239]1.3ms + + + + + + + + + + + + + + + + hw-management-t [2919]38.9ms + + + + + + + + sleep [3033]1.1ms + + + + + + + + + + + hw-management-p [4409]34.7ms + + + + + + + + + hw_management_p [4588]57.5ms + + + + + + + + sh [4595]1.1ms + + + + + + + sh [4608]1.3ms + + + + + + + + + + + hw_management_p [4658]59.8ms + + + + + + + + + sh [4666]1.0ms + + + + + + + sh [4670]2.4ms + + + + + + + sh [4674]2.5ms + + + + + + + + + + systemd-udevd [1158]25.1ms + + + + + + + hw-management-c [1200]14.5ms + + + + + + + led_fan4_state [1563]23.3ms + + + + + + + + + + + + + grep [2069]1.8ms + + + + + + + + + + + + + hw-management-t [3051]4.7ms + + + + + + + + + hw-management-c [3151]18.7ms + + + + + + + + hw-management-c [3316]1.6ms + + + + + + + + xargs [3350]1.6ms + + + + + + + xargs [3351]1.5ms + + + + + + + xargs [3353]1.3ms + + + + + + + + + + + + + + + systemd-udevd [1159]22.3ms + + + + + + + + + hw-management-c [1283]15.6ms + + + + + + + hw-management-c [1379]1.3ms + + + + + + + + + flock [1662]1.3ms + + + + + + + led_fan4_state [1801]21.2ms + + + + + + + + + + + + hw-management-t [3052]2.0ms + + + + + + + + + hw-management-c [3152]20.9ms + + + + + + + + hw-management-c [3192]2.1ms + + + + + + + + xargs [3200]1.3ms + + + + + + + + + + cut [3209]1.3ms + + + + + + + + hw-management-c [3355]1.5ms + + + + + + + hw-management-c [3455]1.5ms + + + + + + + + xargs [3487]1.6ms + + + + + + + + + + + + + + + + + + + + + + systemd-udevd [1160]79.4ms + + + + + + + hw-management-c [1273]15.7ms + + + + + + + + led_fan5_state [1601]23.8ms + + + + + + + + + + grep [1814]1.1ms + + + + + + + + + + + + hw-management-t [3047]6.0ms + + + + + + + hw-management-c [3113]13.3ms + + + + + + + hw-management-c [3128]2.0ms + + + + + + + + hw-management-c [3760]10.4ms + + + + + + + hw-management-c [3826]10.3ms + + + + + + + kdump-config [3957]1.8ms + + + + + + + + + + systemd-udevd [1161]16.0ms + + + + + + + hw-management-c [1175]17.2ms + + + + + + + hw-management-c [1222]1.4ms + + + + + + + xargs [1244]1.6ms + + + + + + + + + + + + + flock [1672]1.3ms + + + + + + + led_fan5_state [1829]22.4ms + + + + + + + + grep [2230]2.0ms + + + + + + + + led_fan5_state [2765]1.2ms + + + + + + + + + + + + + + hw-management-c [2879]39.3ms + + + + + + + + sleep [2936]3.2ms + + + + + + + + + + + + + + + + systemd-udevd [1162]53.7ms + + + + + + + hw-management-c [1177]15.3ms + + + + + + + hw-management-c [1208]1.4ms + + + + + + + xargs [1213]1.6ms + + + + + + + + + + + hw-management-c [1214]1.6ms + + + + + + + + led_fan6_state [1692]23.3ms + + + + + + + + + grep [2094]1.7ms + + + + + + + + + hw-management-t [3049]1.1ms + + + + + + + hw-management-t [3215]10.4ms + + + + + + + hw-management-t [3292]1.1ms + + + + + + + + xargs [3318]1.6ms + + + + + + + xargs [3319]1.3ms + + + + + + + + hw-management-c [3857]9.7ms + + + + + + + + + + + + systemd-udevd [1163]24.4ms + + + + + + + hw-management-c [1176]14.6ms + + + + + + + + + hw-management-c [1207]1.4ms + + + + + + + + + + led_fan6_state [1637]23.0ms + + + + + + + + + grep [1726]1.7ms + + + + + + + + + + + + grep [2788]1.3ms + + + + + + + + + + + + + hw-management-c [3197]19.1ms + + + + + + + + hw-management-c [3271]2.1ms + + + + + + + xargs [3301]1.6ms + + + + + + + xargs [3302]1.3ms + + + + + + + xargs [3304]1.3ms + + + + + + + xargs [3307]1.4ms + + + + + + + + + hw-management-c [3514]1.2ms + + + + + + + + + + xargs [3519]1.3ms + + + + + + + xargs [3522]1.3ms + + + + + + + + + + systemd-udevd [1164]19.4ms + + + + + + + hw-management-c [1180]15.4ms + + + + + + + + + led_psu_state [1466]25.9ms + + + + + + + + + + + + + + + + + + kdump-config [2883]3.4ms + + + + + + + + + + systemd-udevd [1165]15.9ms + + + + + + + + + + + hw-management-c [1189]16.1ms + + + + + + + + + + + flock [1671]1.3ms + + + + + + + + + led_psu_state [1815]21.6ms + + + + + + + + + grep [2077]1.2ms + + + + + + + + + grep [2780]1.9ms + + + + + + + + kdump-config [2880]3.5ms + + + + + + + + + + + + systemd-udevd [1166]15.2ms + + + + + + + hw-management-c [1250]14.5ms + + + + + + + hw-management-c [1295]1.3ms + + + + + + + xargs [1304]1.5ms + + + + + + + + + xargs [1308]1.4ms + + + + + + + xargs [1309]1.4ms + + + + + + + + + + + + led_status_stat [1590]20.5ms + + + + + + + + + + + + + + + + + kdump-config [2881]2.9ms + + + + + + + + + + + + + + + + systemd-udevd [1168]42.0ms + + + + + + + + + hw-management-c [1184]15.3ms + + + + + + + hw-management-c [1288]1.3ms + + + + + + + xargs [1336]1.5ms + + + + + + + xargs [1337]1.2ms + + + + + + + + flock [1597]1.2ms + + + + + + + + + led_status_stat [1698]22.6ms + + + + + + + + grep [1775]1.0ms + + + + + + + + + + hw-management-t [3045]4.4ms + + + + + + + + + hw-management-c [3123]21.5ms + + + + + + + + hw-management-c [3157]2.1ms + + + + + + + xargs [3164]1.5ms + + + + + + + xargs [3165]1.5ms + + + + + + + xargs [3166]1.4ms + + + + + + + xargs [3168]1.4ms + + + + + + + cut [3169]1.3ms + + + + + + + + hw-management-c [3317]1.7ms + + + + + + + + xargs [3328]1.6ms + + + + + + + xargs [3329]1.4ms + + + + + + + + + + systemd-udevd [1170]24.7ms + + + + + + + + + hw-management-c [1190]15.6ms + + + + + + + hw-management-c [1287]1.3ms + + + + + + + xargs [1303]1.4ms + + + + + + + xargs [1314]1.3ms + + + + + + + xargs [1315]1.3ms + + + + + + + + led_uid_state [1639]16.4ms + + + + + + + + grep [1810]1.5ms + + + + + + + + grep [2068]1.8ms + + + + + + + + + kdump-config [2885]3.5ms + + + + + + + + + + + + systemd-udevd [1171]20.7ms + + + + + + + + + + + + + + + + + + + systemd-udevd [1173]60.9ms + + + + + + + + + + + systemd-udevd [1187]14.2ms + + + + + + + hw-management-t [3044]5.5ms + + + + + + + + + hw-management-c [3114]21.3ms + + + + + + + + hw-management-c [3130]2.3ms + + + + + + + xargs [3145]1.6ms + + + + + + + cut [3146]1.3ms + + + + + + + + hw-management-c [3233]1.8ms + + + + + + + + xargs [3266]1.5ms + + + + + + + + + + + + + + + + + + + + systemd-udevd [1382]47.1ms + + + + + + + hw-management-t [3050]3.9ms + + + + + + + hw-management-t [3241]11.0ms + + + + + + + + + + + + systemd-udevd [1521]44.8ms + + + + + + + + + + + systemd-udevd [2331]28.8ms + + + + + + + + hw-management-c [3268]12.4ms + + + + + + + + + hw-management-c [3474]1.8ms + + + + + + + + xargs [3498]1.5ms + + + + + + + + + xargs [3499]1.4ms + + + + + + + cut [3500]1.3ms + + + + + + + + + + + + systemd-udevd [2863]24.0ms + + + + + + + systemd-udevd [3085]13.7ms + + + + + + + + + hw-management-c [3129]20.2ms + + + + + + + + hw-management-c [3171]2.0ms + + + + + + + xargs [3179]1.5ms + + + + + + + xargs [3180]1.3ms + + + + + + + xargs [3182]1.4ms + + + + + + + cut [3183]1.2ms + + + + + + + + find [3510]2.3ms + + + + + + + + systemd-udevd [5544]2.2ms + + + + + + + + systemd-udevd [6484]7.6ms + + + + + + + systemd-udevd [6491]2.3ms + + + + + + + + + systemd-udevd [6705]23.8ms + + + + + + + hw-management-t [6708]9.1ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + hw-management.s [6716]125.7ms + + + + + + + + + + lspci [6727]11.8ms + + + + + + + grep [6728]1.4ms + + + + + + + + systemd-udevd [6706]8.1ms + + + + + + + hw-management-t [6904]13.2ms + + + + + + + + + hw-management-c [7688]11.9ms + + + + + + + + flock [7700]1.4ms + + + + + + + + systemd-udevd [6707]6.1ms + + + + + + + + + + + + + + + + + + + hw-management-t [6779]78.1ms + + + + + + + + + flock [7801]1.5ms + + + + + + + + systemd-udevd [6709]9.3ms + + + + + + + hw-management-t [6878]13.6ms + + + + + + + + + hw-management-c [7405]9.7ms + + + + + + + + flock [7407]1.5ms + + + + + + + + + + + + + + + + + + + + systemd-udevd [6830]81.4ms + + + + + + + hw-management-t [6831]11.7ms + + + + + + + hw-management-t [6929]11.2ms + + + + + + + + + hw-management-c [7738]11.7ms + + + + + + + + + flock [7741]1.5ms + + + + + + + + + + systemd-udevd [6833]9.0ms + + + + + + + hw-management-t [6834]13.3ms + + + + + + + hw-management-t [6962]13.8ms + + + + + + + + + hw-management-c [7687]13.7ms + + + + + + + + flock [7693]1.4ms + + + + + + + + + + + + systemd-udevd [6836]15.4ms + + + + + + + hw-management-t [6839]11.5ms + + + + + + + hw-management-t [6938]13.5ms + + + + + + + + + + + + hw-management-c [7644]11.7ms + + + + + + + + flock [7663]1.3ms + + + + + + + + systemd-udevd [6842]6.5ms + + + + + + + hw-management-t [6845]14.1ms + + + + + + + hw-management-t [6934]14.5ms + + + + + + + + + hw-management-c [7538]12.0ms + + + + + + + + flock [7552]1.4ms + + + + + + + + systemd-udevd [6849]6.6ms + + + + + + + hw-management-t [6856]14.0ms + + + + + + + hw-management-t [7029]11.7ms + + + + + + + + + hw-management-c [7690]11.1ms + + + + + + + + flock [7699]1.3ms + + + + + + + + systemd-udevd [6857]9.7ms + + + + + + + + + hw-management-t [6871]14.8ms + + + + + + + hw-management-c [7508]11.2ms + + + + + + + + flock [7510]1.3ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + systemd-udevd [6866]320.2ms + + + + + + + hw-management-t [6870]11.3ms + + + + + + + + + hw-management-t [6994]13.2ms + + + + + + + systemd-sysctl [7404]8.0ms + + + + + + + systemd-sysctl [7661]2.8ms + + + + + + + systemd-sysctl [7706]7.5ms + + + + + + + systemd-sysctl [7742]7.7ms + + + + + + + + + hw-management-c [7748]11.5ms + + + + + + + + flock [7760]1.4ms + + + + + + + + systemd-udevd [6872]5.4ms + + + + + + + + + hw-management-t [6876]12.9ms + + + + + + + hw-management-c [7466]11.7ms + + + + + + + + flock [7476]1.0ms + + + + + + + + systemd-udevd [6883]5.2ms + + + + + + + hw-management-t [6909]15.1ms + + + + + + + hw-management-c [7486]8.1ms + + + + + + + + flock [7488]1.2ms + + + + + + + + systemd-udevd [6893]6.0ms + + + + + + + + + hw-management-t [6901]12.5ms + + + + + + + + + hw-management-c [7539]12.9ms + + + + + + + + flock [7553]1.1ms + + + + + + + + systemd-udevd [6908]5.5ms + + + + + + + hw-management-t [6926]13.1ms + + + + + + + + + hw-management-c [7423]13.2ms + + + + + + + + flock [7429]1.4ms + + + + + + + + systemd-udevd [6915]5.3ms + + + + + + + hw-management-t [6925]12.9ms + + + + + + + + + hw-management-c [7597]8.7ms + + + + + + + + flock [7604]1.2ms + + + + + + + + + + systemd-udevd [6923]5.1ms + + + + + + + hw-management-t [6930]12.5ms + + + + + + + + + hw-management-c [7647]11.5ms + + + + + + + + flock [7665]1.7ms + + + + + + + + systemd-udevd [6951]5.3ms + + + + + + + hw-management-t [6966]13.4ms + + + + + + + hw-management-c [7332]12.4ms + + + + + + + + flock [7339]1.2ms + + + + + + + + + systemd-udevd [6954]5.4ms + + + + + + + + + hw-management-t [6973]12.7ms + + + + + + + hw-management-c [7378]10.5ms + + + + + + + + flock [7385]1.6ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + systemd-udevd [6967]258.4ms + + + + + + + + + hw-management-t [6978]11.7ms + + + + + + + systemd-sysctl [7703]4.5ms + + + + + + + systemd-sysctl [7746]4.3ms + + + + + + + + + hw-management-c [7773]12.8ms + + + + + + + + flock [7782]1.5ms + + + + + + + + systemd-udevd [6975]7.7ms + + + + + + + + + hw-management-t [6993]13.8ms + + + + + + + + + hw-management-c [7331]12.8ms + + + + + + + + flock [7340]1.4ms + + + + + + + + flock [7792]1.9ms + + + + + + + + + + systemd-udevd [6983]5.3ms + + + + + + + hw-management-t [7005]13.5ms + + + + + + + + + hw-management-c [7596]11.0ms + + + + + + + + flock [7605]1.5ms + + + + + + + + systemd-udevd [7007]5.3ms + + + + + + + hw-management-t [7025]11.0ms + + + + + + + hw-management-c [7422]12.0ms + + + + + + + + flock [7427]1.3ms + + + + + + + + systemd-udevd [7013]5.6ms + + + + + + + hw-management-t [7040]12.8ms + + + + + + + hw-management-c [7490]9.6ms + + + + + + + + flock [7497]1.4ms + + + + + + + + + + systemd-udevd [7017]5.9ms + + + + + + + hw-management-t [7023]11.6ms + + + + + + + + + hw-management-c [7664]11.9ms + + + + + + + + flock [7685]1.2ms + + + + + + + + systemd-udevd [7022]5.4ms + + + + + + + hw-management-t [7045]10.9ms + + + + + + + hw-management-c [7350]12.0ms + + + + + + + + flock [7368]1.3ms + + + + + + + + systemd-udevd [7689]3.8ms + + + + + + + + + hw-management-c [7691]12.5ms + + + + + + + + flock [7697]1.3ms + + + + + + + + + + + + systemd-udevd [7705]4.0ms + + + + + + + hw-management-c [7715]11.0ms + + + + + + + + flock [7726]1.5ms + + + + + + + + systemd-udevd [7707]4.1ms + + + + + + + hw-management-c [7709]11.5ms + + + + + + + + + + flock [7713]1.5ms + + + + + + + + + + systemd-udevd [7710]4.1ms + + + + + + + hw-management-c [7716]11.0ms + + + + + + + + flock [7720]1.4ms + + + + + + + + systemd-udevd [7736]4.3ms + + + + + + + + + hw-management-c [7743]11.8ms + + + + + + + + flock [7745]1.5ms + + + + + + + + + + + + + + systemd-udevd [7737]97.1ms + + + + + + + systemd-sysctl [7772]4.6ms + + + + + + + + systemd-udevd [8370]29.5ms + + + + + + + + + + + + + + + + + + + + + + + systemd-udevd [8374]92.9ms + + + + + + + + + systemd-sysctl [9062]6.4ms + + + + + + + + netfilter-persi [358]7.1ms + + + + + + + run-parts [363]10.4ms + + + + + + + + systemd-sysctl [360]22.5ms + + + + + + + + + auditd [411]55.2ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + haveged [412]342.3ms + + + + + + + + + auditd [416]35.6ms + + + + + + + audisp-tacplus [418]20.3ms + + + + + + + + + + (genrules) [422]18.1ms + + + + + + + + cat [459]8.8ms + + + + + + + + awk [442]4.5ms + + + + + + + auditctl [477]1.9ms + + + + + + + + (ate-utmp) [547]1.3ms + + + + + + + modprobe [583]4.0ms + + + + + + + cron [585]10.3ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + dbus-daemon [586]291.1ms + + + + + + + + + + + + + e2scrub_all [589]23.2ms + + + + + + + sh [592]2.0ms + + + + + + + hw-management-r [594]5.6ms + + + + + + + + systemctl [615]2.2ms + + + + + + + hw-management-r [652]1.1ms + + + + + + + + + + + + + + lspci [658]55.0ms + + + + + + + grep [659]1.4ms + + + + + + + + kdump-tools [593]3.9ms + + + + + + + systemctl [606]2.4ms + + + + + + + kdump-config [649]5.0ms + + + + + + + + systemctl [654]2.3ms + + + + + + + + + kexec [596]2.9ms + + + + + + + systemctl [605]4.6ms + + + + + + + + + + monit [598]7.0ms + + + + + + + systemctl [611]4.8ms + + + + + + + + + start-stop-daem [679]9.4ms + + + + + + + + + + + + + + + + + + + + + + ras-mc-ctl [600]136.7ms + + + + + + + + + + + rasdaemon [608]15.6ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + rasdaemon [610]2.556s + + + + + + + + + + + + + rc.local [619]7.4ms + + + + + + + + grep [632]1.4ms + + + + + + + sed [633]1.4ms + + + + + + + + + + systemctl [691]4.2ms + + + + + + + + + + + + + + + + rsyslogd [622]75.7ms + + + + + + + + + + + + + + + smartd [625]74.6ms + + + + + + + (eygen.sh) [629]1.1ms + + + + + + + + + sysfsutils [634]4.4ms + + + + + + + systemctl [653]2.3ms + + + + + + + sed [673]1.8ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + systemd-logind [636]193.6ms + + + + + + + systemd-user-se [637]5.2ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + containerd [639]1.052s + + + + + + + + + + + + + sshd [651]33.7ms + + + + + + + kexec-load [662]3.3ms + + + + + + + (sd-executor) [703]4.8ms + + + + + + + systemd-debug-g [707]6.9ms + + + + + + + systemd-getty-g [709]6.2ms + + + + + + + systemd-gpt-aut [710]6.1ms + + + + + + + systemd-sysv-ge [716]23.1ms + + + + + + + + + + sh [742]1.7ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + hw-management.s [743]157.3ms + + + + + + + + + lspci [788]1.9ms + + + + + + + grep [789]1.6ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + depmod [797]1.923s + + + + + + + + + + + udevadm [824]82.3ms + + + + + + + sleep [3859]1.1ms + + + + + + + hw-management-s [4289]11.5ms + + + + + + + + sleep [4298]1.1ms + + + + + + + + sshd [744]15.9ms + + + + + + + + + + + sshd [6557]70.7ms + + + + + + + + sshd [6558]9.7ms + + + + + + + + + + + sshd [6563]95.2ms + + + + + + + + + + + + + + + + + + bash [6564]104.4ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + show [7229]573.8ms + + + + + + + sh [7354]2.4ms + + + + + + + + + sudo [7356]8.5ms + + + + + + + + + docker [7382]43.4ms + + + + + + + + + + + + + + sh [7425]1.9ms + + + + + + + + + + sudo [7426]6.8ms + + + + + + + + + + tail [7467]38.9ms + + + + + + + + + + + + + + + + + + + + + + + + + + python3 [9241]378.3ms + + + + + + + + + + + + + + + + + + + + + + + + + python3 [9250]379.6ms + + + + + + + + + + + + + + + + + + + + + + + python3 [9325]322.0ms + + + + + + + + + + + + + + + + + + + + + python3 [9334]288.0ms + + + + + + + + + + + + + + + + + + + + + python3 [9339]287.0ms + + + + + + + + + + + + + + + + + + + python3 [9344]258.4ms + + + + + + + + config-chassisd [748]7.0ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sonic-cfggen [752]605.0ms + + + + + + + + + + agetty [749]11.2ms + + + + + + + + + agetty [750]4.7ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + dockerd [758]1.363s + + + + + + + + + exe [890]78.9ms + + + + + + + + + exe [952]97.8ms + + + + + + + + + exe [1006]74.7ms + + + + + + + exe [1086]35.4ms + + + + + + + + + + + exe [1121]91.7ms + + + + + + + + + exe [1246]60.1ms + + + + + + + + + exe [1629]60.9ms + + + + + + + + + exe [1867]69.4ms + + + + + + + exe [2253]43.2ms + + + + + + + + + exe [2524]73.2ms + + + + + + + exe [2862]58.7ms + + + + + + + + + exe [2923]58.3ms + + + + + + + + + exe [3111]73.3ms + + + + + + + + + exe [3425]75.1ms + + + + + + + exe [3733]10.8ms + + + + + + + exe [3770]6.3ms + + + + + + + exe [3814]68.8ms + + + + + + + exe [3825]50.5ms + + + + + + + exe [3916]23.8ms + + + + + + + exe [3934]24.2ms + + + + + + + exe [3946]12.7ms + + + + + + + exe [3958]6.8ms + + + + + + + runc [3982]13.9ms + + + + + + + exe [4030]24.2ms + + + + + + + exe [4116]13.8ms + + + + + + + runc [4836]8.1ms + + + + + + + runc [5116]6.9ms + + + + + + + runc [5562]6.5ms + + + + + + + runc [7544]7.4ms + + + + + + + + + database.sh [4002]15.4ms + + + + + + + + + + + + + + + + docker [4007]160.2ms + + + + + + + + + + docker [4019]41.7ms + + + + + + + + + docker [4077]37.3ms + + + + + + + ebtables-restor [4245]8.4ms + + + + + + + docker [4266]41.8ms + + + + + + + sleep [4299]1.0ms + + + + + + + + + docker [4597]33.6ms + + + + + + + + + + + + sonic-db-cli [4651]101.6ms + + + + + + + grep [4652]1.6ms + + + + + + + + sleep [4659]1.1ms + + + + + + + docker [4701]33.6ms + + + + + + + + + + sonic-db-cli [4728]74.0ms + + + + + + + grep [4729]1.5ms + + + + + + + + + + + + + + + + + + + + + + sonic-cfggen [4734]263.9ms + + + + + + + + + + + sonic-db-cli [4735]94.0ms + + + + + + + + + + + db_migrator.py [4736]120.9ms + + + + + + + + + + + + + + containerd-shim [4212]87.0ms + + + + + + + + + runc [4223]16.6ms + + + + + + + 7 [4230]5.0ms + + + + + + + + + + + + + + + + + + + + + supervisord [4233]274.8ms + + + + + + + + + + + + + + + + + + + + j2 [4255]188.3ms + + + + + + + + + + + + + + + + + + + + + sonic-cfggen [4302]230.6ms + + + + + + + python3 [4305]45.2ms + + + + + + + + + + + + + python3 [4687]130.5ms + + + + + + + rsyslogd [4688]16.6ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + redis-server [4689]5.090s + + + + + + + bash [4690]7.2ms + + + + + + + + + + runc [4277]12.7ms + + + + + + + runc:[2:INIT] [4286]1.0ms + + + + + + + + + + runc [4629]13.2ms + + + + + + + runc:[2:INIT] [4638]1.1ms + + + + + + + + runc [4712]12.2ms + + + + + + + runc [5002]14.7ms + + + + + + + + + + + + + + + + + supervisorctl [5013]197.4ms + + + + + + + + + + runc [5105]16.6ms + + + + + + + runc:[2:INIT] [5114]4.7ms + + + + + + + + + + runc [8653]14.7ms + + + + + + + + + + + + + + + + + supervisorctl [8663]179.0ms + + + + + + + + + + runc [11773]13.3ms + + + + + + + + + + + + + + + + + + supervisorctl [11786]183.7ms + + + + + + + + database.sh [4739]7.3ms + + + + + + + + + + + docker [4743]68.5ms + + + + + + + + config-setup [4740]5.2ms + + + + + + + + + + + sonic-db-cli [4744]98.2ms + + + + + + + + + + + + + + + + determine-reboo [4741]170.7ms + + + + + + + finalize-warmbo [4742]9.8ms + + + + + + + + + + sonic-db-cli [4759]79.9ms + + + + + + + grep [4760]1.8ms + + + + + + + + + + + + + + + + sonic-db-cli [4780]138.9ms + + + + + + + + + + + + + + + sonic-db-cli [4798]117.6ms + + + + + + + + + + pcie-check.sh [4766]11.8ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sonic-cfggen [4771]400.8ms + + + + + + + + + + sudo [4883]41.2ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pcieutil [4902]628.1ms + + + + + + + + file [5009]16.3ms + + + + + + + + grep [4884]2.3ms + + + + + + + + redis-cli [5094]5.5ms + + + + + + + + + + docker [5095]44.8ms + + + + + + + + bgp.sh [4772]14.3ms + + + + + + + + + + + + + sonic-db-cli [4790]121.6ms + + + + + + + + + + + + + + + + + sonic-db-cli [4796]127.6ms + + + + + + + + + + + + + + + sonic-db-cli [4849]148.3ms + + + + + + + bgp.sh [4919]10.3ms + + + + + + + + + docker [4932]37.8ms + + + + + + + + + python [4956]25.3ms + + + + + + + + + + + + + + + + + + + + python3 [4985]225.0ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + caclmgrd [4773]270.5ms + + + + + + + sh [4801]1.7ms + + + + + + + ip [4802]1.8ms + + + + + + + awk [4803]1.1ms + + + + + + + + + sh [4806]1.9ms + + + + + + + sh [4831]1.5ms + + + + + + + sh [4869]1.5ms + + + + + + + sh [4904]1.6ms + + + + + + + sh [4923]1.4ms + + + + + + + + iptables [4924]1.7ms + + + + + + + + copp-config.sh [4774]9.5ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sonic-cfggen [4779]413.5ms + + + + + + + + hostname-config [4775]11.7ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sonic-cfggen [4786]418.8ms + + + + + + + mv [4921]7.4ms + + + + + + + + interfaces-conf [4776]14.2ms + + + + + + + + + + + + + + + + + + + + + + + + + python3 [4788]253.6ms + + + + + + + + + + + + + + + + + + + + + + + python3 [4873]234.3ms + + + + + + + + + + + + + + + + + + + + + + + + + sonic-cfggen [5020]374.5ms + + + + + + + + + + + + + + + + + sonic-cfggen [5093]219.3ms + + + + + + + systemctl [5129]2.4ms + + + + + + + + + + logrotate-confi [4777]11.8ms + + + + + + + logrotate-confi [4791]1.1ms + + + + + + + + sed [4793]2.2ms + + + + + + + awk [4794]1.7ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sonic-cfggen [4795]436.2ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + procdockerstats [4778]309.9ms + + + + + + + + + sh [4814]1.3ms + + + + + + + + + + + + + docker [4815]40.7ms + + + + + + + + sh [11595]1.1ms + + + + + + + + + + + docker [11596]57.6ms + + + + + + + + sh [11871]1.3ms + + + + + + + + ps [11872]8.1ms + + + + + + + + + rsyslog-config. [4781]12.5ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sonic-cfggen [4787]366.5ms + + + + + + + + + + + + jq [4892]66.6ms + + + + + + + + + + + + + + + + + + + + + + + + sonic-cfggen [4929]343.2ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + healthd [4783]625.8ms + + + + + + + sh [4975]1.0ms + + + + + + + docker [4977]28.3ms + + + + + + + + sh [4990]1.6ms + + + + + + + + + docker [4991]50.8ms + + + + + + + + sh [8529]1.2ms + + + + + + + docker [8530]10.7ms + + + + + + + + sh [8541]1.2ms + + + + + + + docker [8542]24.2ms + + + + + + + + sh [8553]1.2ms + + + + + + + docker [8554]5.5ms + + + + + + + + sh [8565]1.2ms + + + + + + + docker [8566]12.8ms + + + + + + + + sh [8580]1.1ms + + + + + + + docker [8582]11.1ms + + + + + + + + sh [8596]1.2ms + + + + + + + docker [8597]15.6ms + + + + + + + + sh [8609]1.6ms + + + + + + + docker [8610]13.9ms + + + + + + + + sh [8621]1.3ms + + + + + + + docker [8622]16.9ms + + + + + + + + sh [8634]1.2ms + + + + + + + + + docker [8635]46.4ms + + + + + + + + sh [8696]1.0ms + + + + + + + + + docker [8697]40.7ms + + + + + + + + sh [8730]1.3ms + + + + + + + + + docker [8731]40.2ms + + + + + + + + sh [8770]1.3ms + + + + + + + + + docker [8771]38.7ms + + + + + + + + sh [8805]1.7ms + + + + + + + + + docker [8806]46.1ms + + + + + + + + sh [8897]1.2ms + + + + + + + docker [8899]41.4ms + + + + + + + + sh [9023]1.5ms + + + + + + + + + docker [9024]41.9ms + + + + + + + + sh [9085]1.2ms + + + + + + + + + docker [9086]38.9ms + + + + + + + + sh [9180]1.2ms + + + + + + + + + docker [9182]44.6ms + + + + + + + + sh [11759]1.1ms + + + + + + + + + docker [11760]40.8ms + + + + + + + + sh [11808]1.1ms + + + + + + + + + docker [11809]46.0ms + + + + + + + + sh [11844]1.9ms + + + + + + + + + docker [11845]40.4ms + + + + + + + + sh [11874]1.4ms + + + + + + + docker [11875]42.6ms + + + + + + + + sh [11903]1.1ms + + + + + + + docker [11904]38.9ms + + + + + + + + sh [11948]1.3ms + + + + + + + + + docker [11949]38.9ms + + + + + + + + sh [11996]1.1ms + + + + + + + + + docker [11997]39.5ms + + + + + + + + sh [12042]1.1ms + + + + + + + + + docker [12044]39.7ms + + + + + + + + sh [12090]1.1ms + + + + + + + + + + docker [12091]38.0ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + rsyslogd [5029]436.8ms + + + + + + + + + containerd-shim [5038]43.7ms + + + + + + + runc [5053]15.6ms + + + + + + + 7 [5060]5.2ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + supervisord [5069]574.0ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sonic-cfggen [5084]339.0ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + python3 [5231]415.9ms + + + + + + + + + + + python3 [5232]116.6ms + + + + + + + + + rsyslogd [5312]36.6ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + zebra [5332]297.0ms + + + + + + + bash [5344]7.5ms + + + + + + + timeout [5350]1.3ms + + + + + + + + bash [5351]2.1ms + + + + + + + + + + + + staticd [5987]47.3ms + + + + + + + + + + + + + + + + + bgpd [5993]140.5ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + bgpcfgd [6059]280.4ms + + + + + + + + + + + vtysh [6190]83.9ms + + + + + + + + + + + vtysh [6309]98.3ms + + + + + + + + + vtysh [6357]79.1ms + + + + + + + + + + + vtysh [6361]98.2ms + + + + + + + + + + + vtysh [6369]94.3ms + + + + + + + + + + + vtysh [6396]87.0ms + + + + + + + + + + + + bgpmon [6068]97.1ms + + + + + + + sh [6538]2.0ms + + + + + + + + + + + vtysh [6539]95.1ms + + + + + + + + sh [6555]2.0ms + + + + + + + + + + + vtysh [6556]99.0ms + + + + + + + + sh [8231]1.7ms + + + + + + + + + + + vtysh [8232]98.7ms + + + + + + + + sh [9239]2.4ms + + + + + + + + + + + vtysh [9240]112.2ms + + + + + + + + sh [9352]2.4ms + + + + + + + + + + + vtysh [9353]107.4ms + + + + + + + + sh [9970]1.1ms + + + + + + + + + + + vtysh [9971]109.4ms + + + + + + + + sh [11009]1.1ms + + + + + + + + + + + vtysh [11010]102.3ms + + + + + + + + + + + + + vtysh [12128]86.7ms + + + + + + + + sh [13011]1.6ms + + + + + + + + + + + vtysh [13012]114.6ms + + + + + + + + sh [13833]1.4ms + + + + + + + + + + + + vtysh [13834]114.0ms + + + + + + + + fpmsyncd [6071]22.8ms + + + + + + + + runc [5076]4.4ms + + + + + + + runc [9220]15.0ms + + + + + + + + + + + + + + + + + supervisorctl [9230]202.9ms + + + + + + + + runc [12104]11.6ms + + + + + + + + + + + + + + + + + + supervisorctl [12115]187.2ms + + + + + + + + bgp.sh [5088]4.5ms + + + + + + + bgp.sh [5089]3.7ms + + + + + + + + + + + + + + + + + + + + python3 [5090]220.9ms + + + + + + + + start-networkin [5130]10.1ms + + + + + + + + + + + + + python3 [5134]143.2ms + + + + + + + + start-networkin [5152]9.1ms + + + + + + + + + + + + + + python3 [5158]130.4ms + + + + + + + + + + + + + + + + python3 [5166]143.7ms + + + + + + + + + start-networkin [5190]1.2ms + + + + + + + + + + + + + + + + python3 [5191]138.4ms + + + + + + + + + + + + + + swss.sh [5200]24.3ms + + + + + + + + + sonic-db-cli [5201]73.0ms + + + + + + + + + sonic-db-cli [5202]66.4ms + + + + + + + + + + sonic-db-cli [5215]67.5ms + + + + + + + grep [5216]2.9ms + + + + + + + + + + sonic-db-cli [5221]49.3ms + + + + + + + + + sonic-db-cli [5222]46.9ms + + + + + + + + + + + sonic-db-cli [5223]88.1ms + + + + + + + + + sonic-db-cli [5230]60.1ms + + + + + + + + + sonic-db-cli [5233]72.7ms + + + + + + + + + sonic-db-cli [5236]60.5ms + + + + + + + + + sonic-db-cli [5237]70.4ms + + + + + + + + + sonic-db-cli [5238]49.9ms + + + + + + + + + sonic-db-cli [5239]48.2ms + + + + + + + + + + + sonic-db-cli [5240]86.0ms + + + + + + + + + sonic-db-cli [5241]74.6ms + + + + + + + + + sonic-db-cli [5242]67.6ms + + + + + + + swss.sh [5243]10.1ms + + + + + + + + + + + + + + + + + + python3 [5261]198.8ms + + + + + + + docker [5320]53.1ms + + + + + + + + + docker [5353]49.7ms + + + + + + + + + + + + containerd-shim [5279]70.4ms + + + + + + + runc [5290]12.5ms + + + + + + + 7 [5297]5.3ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + supervisord [5300]2.513s + + + + + + + + + + + + + + + + + + + + + + + + + + + sonic-cfggen [5316]419.7ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + python3 [6367]1.952s + + + + + + + + + + + python3 [6368]105.8ms + + + + + + + + + + + rsyslogd [6406]150.5ms + + + + + + + gearsyncd [6418]12.9ms + + + + + + + portsyncd [6419]86.9ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + orchagent [6426]1.130s + + + + + + + + + + + + + + + + + + + + + sonic-cfggen [6427]266.5ms + + + + + + + + + jq [6440]2.3ms + + + + + + + + bash [6450]13.7ms + + + + + + + + + sonic-db-cli [6454]77.6ms + + + + + + + + + sonic-db-cli [6456]73.3ms + + + + + + + + sleep [6460]1.7ms + + + + + + + + + + coppmgrd [6453]28.6ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + python3 [6465]506.0ms + + + + + + + neighsyncd [6466]19.5ms + + + + + + + vlanmgrd [6467]31.6ms + + + + + + + sh [6473]1.0ms + + + + + + + + bash [6474]3.8ms + + + + + + + + ip [6497]2.0ms + + + + + + + + intfmgrd [6469]55.8ms + + + + + + + sh [6498]1.3ms + + + + + + + + + + + + + + + + + + + + + + + portmgrd [6470]133.9ms + + + + + + + + + + + + + + + + + + + buffermgrd [6472]109.4ms + + + + + + + redis-cli [6478]3.3ms + + + + + + + + + + + + + + python3 [6477]94.4ms + + + + + + + + + + + + + + + + + + + + + + + python3 [6482]351.6ms + + + + + + + vrfmgrd [6488]28.0ms + + + + + + + nbrmgrd [6490]23.9ms + + + + + + + + + vxlanmgrd [6492]30.2ms + + + + + + + + + + + fdbsyncd [6495]35.2ms + + + + + + + tunnelmgrd [6503]27.2ms + + + + + + + + + + + + + + + + + + + python3 [6540]263.3ms + + + + + + + + + + + + + + + + + + + python3 [6545]264.4ms + + + + + + + + + + + + + + + + + + + python3 [6550]260.4ms + + + + + + + + runc [5333]13.6ms + + + + + + + runc:[2:INIT] [5342]1.3ms + + + + + + + + runc [5368]7.2ms + + + + + + + runc [9096]13.9ms + + + + + + + + + + + + + + + + + supervisorctl [9106]209.7ms + + + + + + + runc [12057]13.6ms + + + + + + + + + + + + + + + + + + supervisorctl [12068]162.0ms + + + + + + + + swss.sh [5395]9.3ms + + + + + + + + + + + sonic-db-cli [5398]95.3ms + + + + + + + + + + + sonic-db-cli [5422]113.5ms + + + + + + + + + sonic-db-cli [5432]79.7ms + + + + + + + + + + + sonic-db-cli [5437]98.9ms + + + + + + + systemctl [5463]2.8ms + + + + + + + systemctl [7196]3.2ms + + + + + + + systemctl [7503]3.4ms + + + + + + + + + docker [7632]51.5ms + + + + + + + + + docker [7660]34.5ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + python3 [7702]361.7ms + + + + + + + + syncd.sh [5396]17.1ms + + + + + + + + + + + + sonic-db-cli [5420]102.5ms + + + + + + + sonic-db-cli [5424]4.8ms + + + + + + + + grep [5421]2.0ms + + + + + + + + + + + + sonic-db-cli [5428]96.5ms + + + + + + + + + sonic-db-cli [5433]70.2ms + + + + + + + + + + + sonic-db-cli [5456]92.0ms + + + + + + + + + + + + + + + + + + + + + + + mst [5474]103.7ms + + + + + + + + + + + + + + + + + + + + + + + mst [5878]5.3ms + + + + + + + + mst [5905]1.1ms + + + + + + + + tail [5876]1.3ms + + + + + + + + + + + + + + mlnx-fw-upgrade [6349]8.5ms + + + + + + + + + mlxfwmanager [6356]33.1ms + + + + + + + mlnx-fw-upgrade [6358]1.6ms + + + + + + + lspci [6364]3.5ms + + + + + + + grep [6365]1.3ms + + + + + + + + mlxfwmanager [6366]9.2ms + + + + + + + + sxdkernel [6383]6.7ms + + + + + + + + + + + + + modprobe [6395]132.1ms + + + + + + + + syncd.sh [6732]8.0ms + + + + + + + + + + + + + + + + + + + + python3 [6759]208.6ms + + + + + + + + teamd.sh [5397]10.3ms + + + + + + + + + + + sonic-db-cli [5410]84.3ms + + + + + + + + + sonic-db-cli [5423]66.9ms + + + + + + + + + sonic-db-cli [5430]85.4ms + + + + + + + teamd.sh [5441]7.7ms + + + + + + + + + docker [5445]10.3ms + + + + + + + + + python [5459]1.3ms + + + + + + + + + + + + + + + + + + python3 [5462]204.0ms + + + + + + + + watchdog-contro [5399]6.0ms + + + + + + + + + + + + + + + watchdogutil [5408]164.8ms + + + + + + + + + + + + + + containerd-shim [5609]47.5ms + + + + + + + + + runc [5625]16.3ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + supervisord [5677]538.0ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + python3 [6399]373.0ms + + + + + + + + + + + + + + + python3 [6400]113.3ms + + + + + + + rsyslogd [6410]16.6ms + + + + + + + teammgrd [6414]59.3ms + + + + + + + tlm_teamd [6415]22.7ms + + + + + + + teamsyncd [6424]39.3ms + + + + + + + + runc [9049]12.8ms + + + + + + + + + + + + + + + + + supervisorctl [9065]171.2ms + + + + + + + + runc [12010]12.0ms + + + + + + + + + + + + + + + supervisorctl [12021]171.4ms + + + + + + + + teamd.sh [5748]4.7ms + + + + + + + teamd.sh [5752]3.6ms + + + + + + + + + + + + + + + + + + python3 [5757]203.3ms + + + + + + + + + + + + containerd-shim [6812]45.6ms + + + + + + + + + runc [6821]18.5ms + + + + + + + 7 [6861]7.6ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + supervisord [6942]383.2ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + python3 [7729]353.2ms + + + + + + + + + + + + + + + + + + + python3 [7730]171.7ms + + + + + + + + + + + + + + + + + + + + + rsyslogd [8209]262.3ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + syncd [8249]3.608s + + + + + + + + + + + + + + + + + + + sonic-cfggen [8250]241.2ms + + + + + + + sh [8723]1.2ms + + + + + + + sh [8877]1.4ms + + + + + + + sh [8932]1.2ms + + + + + + + + sysctl [8938]1.4ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sx_sdk [8275]12.606s + + + + + + + + + + runc [8923]14.9ms + + + + + + + + + + + + + + + + + supervisorctl [8937]187.4ms + + + + + + + + runc [11962]12.8ms + + + + + + + + + + + + + + + + bash [11974]164.7ms + + + + + + + + syncd.sh [7195]9.5ms + + + + + + + systemctl [7206]2.8ms + + + + + + + systemctl [7371]4.5ms + + + + + + + syncd.sh [7659]5.6ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + python3 [7662]322.8ms + + + + + + + + dhcp_relay.sh [7197]12.2ms + + + + + + + + + + + + + sonic-db-cli [7203]127.9ms + + + + + + + + + + + sonic-db-cli [7230]106.9ms + + + + + + + + + + + + + sonic-db-cli [7234]128.5ms + + + + + + + dhcp_relay.sh [7313]8.0ms + + + + + + + + + docker [7322]29.9ms + + + + + + + + dhcp_relay.sh [7351]1.2ms + + + + + + + python [7353]18.7ms + + + + + + + + + + + + + + + + + + + + + + python3 [7386]285.0ms + + + + + + + + radv.sh [7200]10.8ms + + + + + + + + + sonic-db-cli [7209]77.5ms + + + + + + + + + sonic-db-cli [7228]63.9ms + + + + + + + + + + + sonic-db-cli [7233]92.9ms + + + + + + + radv.sh [7243]7.6ms + + + + + + + + + docker [7247]13.8ms + + + + + + + + + python [7265]13.7ms + + + + + + + + + + + + + + + + + + + + python3 [7296]256.2ms + + + + + + + + pmon.sh [7210]8.6ms + + + + + + + + docker [7214]41.6ms + + + + + + + + + python [7226]26.3ms + + + + + + + + + + + + + + + + + + + + + + python3 [7227]257.9ms + + + + + + + + + + + + containerd-shim [7275]45.4ms + + + + + + + runc [7286]11.3ms + + + + + + + 7 [7293]5.1ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + supervisord [7298]668.2ms + + + + + + + platform_wait [7337]6.2ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + python3 [8204]331.7ms + + + + + + + + + + + + + + + + + + + sonic-cfggen [8219]251.8ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + python3 [8245]498.7ms + + + + + + + + + + + python3 [8246]123.7ms + + + + + + + rsyslogd [8288]35.2ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + chassis_db_init [8313]616.3ms + + + + + + + bash [8314]13.2ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sensors [8320]194.0ms + + + + + + + sensord [8334]6.9ms + + + + + + + + sensord [8338]16.4ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + python3 [8315]6.352s + + + + + + + + sh [9359]1.7ms + + + + + + + sh [9361]2.0ms + + + + + + + ethtool [9362]2.7ms + + + + + + + + sh [9367]1.8ms + + + + + + + ethtool [9368]1.3ms + + + + + + + + + sh [9373]1.8ms + + + + + + + ethtool [9374]2.2ms + + + + + + + + sh [9379]2.7ms + + + + + + + ethtool [9380]1.5ms + + + + + + + + sh [9385]3.3ms + + + + + + + sh [9387]2.7ms + + + + + + + ethtool [9388]2.6ms + + + + + + + + sh [9396]1.7ms + + + + + + + sh [9398]2.0ms + + + + + + + ethtool [9399]2.9ms + + + + + + + + sh [9400]1.7ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ethtool [9401]875.2ms + + + + + + + + sh [9404]2.4ms + + + + + + + ethtool [9405]2.1ms + + + + + + + + sh [9406]1.9ms + + + + + + + ethtool [9407]4.6ms + + + + + + + + sh [9412]2.0ms + + + + + + + ethtool [9413]2.9ms + + + + + + + + sh [9426]2.0ms + + + + + + + ethtool [9427]2.8ms + + + + + + + + sh [9432]1.7ms + + + + + + + sh [9434]1.7ms + + + + + + + ethtool [9435]2.9ms + + + + + + + + sh [9438]1.7ms + + + + + + + ethtool [9439]1.8ms + + + + + + + + sh [9444]3.9ms + + + + + + + ethtool [9445]1.7ms + + + + + + + + sh [9450]2.1ms + + + + + + + ethtool [9451]2.1ms + + + + + + + + sh [9456]2.1ms + + + + + + + ethtool [9457]2.2ms + + + + + + + + sh [9462]2.2ms + + + + + + + ethtool [9463]2.4ms + + + + + + + + sh [9468]2.2ms + + + + + + + ethtool [9469]2.3ms + + + + + + + + sh [9474]2.2ms + + + + + + + ethtool [9475]2.4ms + + + + + + + + sh [9480]2.2ms + + + + + + + ethtool [9481]2.3ms + + + + + + + + sh [9486]2.3ms + + + + + + + ethtool [9487]2.2ms + + + + + + + + sh [9492]2.2ms + + + + + + + ethtool [9493]2.6ms + + + + + + + + sh [9498]2.0ms + + + + + + + ethtool [9499]2.4ms + + + + + + + + sh [9504]1.9ms + + + + + + + ethtool [9505]2.6ms + + + + + + + + sh [9510]2.1ms + + + + + + + ethtool [9511]2.7ms + + + + + + + + sh [9516]2.2ms + + + + + + + ethtool [9517]2.6ms + + + + + + + + sh [9522]2.2ms + + + + + + + ethtool [9523]2.9ms + + + + + + + + sh [9526]2.2ms + + + + + + + sh [9528]2.3ms + + + + + + + ethtool [9529]2.9ms + + + + + + + + sh [9532]2.2ms + + + + + + + sh [9534]2.3ms + + + + + + + ethtool [9535]2.4ms + + + + + + + + sh [9540]1.9ms + + + + + + + ethtool [9541]2.4ms + + + + + + + + sh [9546]1.8ms + + + + + + + ethtool [9547]2.5ms + + + + + + + + sh [9552]2.2ms + + + + + + + ethtool [9553]2.6ms + + + + + + + + sh [9558]1.9ms + + + + + + + ethtool [9559]2.3ms + + + + + + + + sh [9563]1.8ms + + + + + + + ethtool [9564]3.4ms + + + + + + + + sh [9567]2.2ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ethtool [9568]884.8ms + + + + + + + + sh [9569]4.4ms + + + + + + + ethtool [9570]2.9ms + + + + + + + + sh [9573]1.5ms + + + + + + + ethtool [9574]5.9ms + + + + + + + + sh [9575]1.6ms + + + + + + + ethtool [9576]2.4ms + + + + + + + + sh [9581]2.2ms + + + + + + + ethtool [9582]2.6ms + + + + + + + + sh [9587]2.0ms + + + + + + + ethtool [9588]2.7ms + + + + + + + + sh [9593]1.7ms + + + + + + + ethtool [9594]2.2ms + + + + + + + + sh [9603]2.0ms + + + + + + + ethtool [9604]1.5ms + + + + + + + + sh [9605]1.7ms + + + + + + + ethtool [9606]3.2ms + + + + + + + + sh [9609]1.7ms + + + + + + + ethtool [9610]2.2ms + + + + + + + + sh [9615]2.0ms + + + + + + + ethtool [9616]3.3ms + + + + + + + + sh [9625]2.9ms + + + + + + + sh [9631]1.8ms + + + + + + + ethtool [9632]1.8ms + + + + + + + + sh [9637]1.7ms + + + + + + + ethtool [9638]2.1ms + + + + + + + + sh [9643]2.0ms + + + + + + + ethtool [9644]2.9ms + + + + + + + + sh [9649]1.7ms + + + + + + + ethtool [9650]2.7ms + + + + + + + + sh [9653]3.3ms + + + + + + + sh [9659]2.0ms + + + + + + + sh [9671]3.1ms + + + + + + + ethtool [9672]2.0ms + + + + + + + + sh [9677]1.8ms + + + + + + + ethtool [9678]2.5ms + + + + + + + + sh [9687]1.9ms + + + + + + + ethtool [9688]1.8ms + + + + + + + + sh [9693]2.3ms + + + + + + + ethtool [9694]2.1ms + + + + + + + + sh [9699]1.9ms + + + + + + + ethtool [9700]2.1ms + + + + + + + + sh [9705]1.7ms + + + + + + + ethtool [9706]2.5ms + + + + + + + + sh [9709]1.9ms + + + + + + + sh [9711]1.5ms + + + + + + + ethtool [9712]3.2ms + + + + + + + + sh [9715]2.0ms + + + + + + + ethtool [9716]1.9ms + + + + + + + + sh [9721]2.2ms + + + + + + + ethtool [9722]2.9ms + + + + + + + + sh [9727]1.8ms + + + + + + + + + ethtool [9728]7.0ms + + + + + + + + sh [9733]1.9ms + + + + + + + ethtool [9734]1.9ms + + + + + + + + sh [9739]2.0ms + + + + + + + ethtool [9740]1.8ms + + + + + + + + sh [9745]2.0ms + + + + + + + ethtool [9746]2.1ms + + + + + + + + sh [9757]2.1ms + + + + + + + ethtool [9758]3.0ms + + + + + + + + sh [9763]3.4ms + + + + + + + ethtool [9764]2.3ms + + + + + + + + sh [9777]2.2ms + + + + + + + ethtool [9778]2.4ms + + + + + + + + sh [9785]3.3ms + + + + + + + ethtool [9786]2.5ms + + + + + + + + sh [9793]2.4ms + + + + + + + sh [9799]3.0ms + + + + + + + ethtool [9800]2.5ms + + + + + + + + sh [9807]2.0ms + + + + + + + ethtool [9808]3.6ms + + + + + + + + sh [9813]2.3ms + + + + + + + ethtool [9814]2.3ms + + + + + + + + sh [9819]2.5ms + + + + + + + ethtool [9820]1.6ms + + + + + + + + sh [9825]1.9ms + + + + + + + ethtool [9826]1.8ms + + + + + + + + sh [9827]2.3ms + + + + + + + sh [9831]2.0ms + + + + + + + ethtool [9832]1.6ms + + + + + + + + sh [9833]2.3ms + + + + + + + ethtool [9834]3.1ms + + + + + + + + sh [9837]2.2ms + + + + + + + sh [9839]2.2ms + + + + + + + ethtool [9840]3.2ms + + + + + + + + sh [9845]2.2ms + + + + + + + ethtool [9846]3.7ms + + + + + + + + sh [9851]2.9ms + + + + + + + ethtool [9852]2.2ms + + + + + + + + sh [9863]4.1ms + + + + + + + ethtool [9864]2.4ms + + + + + + + + sh [9869]1.9ms + + + + + + + ethtool [9870]2.6ms + + + + + + + + sh [9875]4.0ms + + + + + + + ethtool [9876]3.3ms + + + + + + + + sh [9884]2.0ms + + + + + + + ethtool [9885]1.5ms + + + + + + + + sh [9886]2.1ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ethtool [9887]867.7ms + + + + + + + + sh [9890]3.2ms + + + + + + + ethtool [9891]2.8ms + + + + + + + + sh [9892]1.7ms + + + + + + + ethtool [9893]4.1ms + + + + + + + + sh [9896]2.0ms + + + + + + + ethtool [9897]2.5ms + + + + + + + + sh [9904]2.2ms + + + + + + + ethtool [9905]3.5ms + + + + + + + + sh [9910]2.4ms + + + + + + + ethtool [9911]2.4ms + + + + + + + + sh [9912]1.9ms + + + + + + + ethtool [9913]3.2ms + + + + + + + + sh [9916]3.9ms + + + + + + + sh [9922]1.9ms + + + + + + + ethtool [9923]1.7ms + + + + + + + + sh [9924]2.4ms + + + + + + + + + sh [9928]2.2ms + + + + + + + ethtool [9929]1.9ms + + + + + + + + sh [9940]2.5ms + + + + + + + ethtool [9941]2.3ms + + + + + + + + sh [9946]2.2ms + + + + + + + ethtool [9947]2.3ms + + + + + + + + sh [9958]2.2ms + + + + + + + + + sh [9964]2.1ms + + + + + + + ethtool [9965]2.4ms + + + + + + + + sh [9978]2.0ms + + + + + + + ethtool [9979]2.4ms + + + + + + + + sh [9984]2.1ms + + + + + + + ethtool [9985]2.9ms + + + + + + + + sh [9988]2.7ms + + + + + + + ethtool [9989]1.5ms + + + + + + + + sh [9994]2.2ms + + + + + + + ethtool [9995]2.4ms + + + + + + + + sh [9996]2.8ms + + + + + + + sh [10000]1.9ms + + + + + + + ethtool [10001]1.6ms + + + + + + + + sh [10002]2.3ms + + + + + + + ethtool [10003]3.0ms + + + + + + + + sh [10008]3.1ms + + + + + + + ethtool [10009]3.1ms + + + + + + + + sh [10014]1.9ms + + + + + + + ethtool [10015]2.9ms + + + + + + + + sh [10018]2.1ms + + + + + + + sh [10020]1.9ms + + + + + + + ethtool [10021]3.0ms + + + + + + + + sh [10024]2.0ms + + + + + + + ethtool [10025]1.6ms + + + + + + + + sh [10030]2.2ms + + + + + + + sh [10038]2.3ms + + + + + + + ethtool [10039]3.7ms + + + + + + + + sh [10055]2.2ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ethtool [10056]898.6ms + + + + + + + + sh [10059]2.3ms + + + + + + + ethtool [10060]3.1ms + + + + + + + + sh [10061]2.0ms + + + + + + + ethtool [10062]3.9ms + + + + + + + + sh [10065]2.5ms + + + + + + + ethtool [10066]1.9ms + + + + + + + + sh [10073]1.7ms + + + + + + + ethtool [10074]2.9ms + + + + + + + + sh [10077]1.8ms + + + + + + + sh [10101]2.2ms + + + + + + + sh [10107]2.2ms + + + + + + + ethtool [10108]2.0ms + + + + + + + + sh [10109]2.2ms + + + + + + + sh [10113]2.2ms + + + + + + + sh [10115]2.2ms + + + + + + + ethtool [10116]3.0ms + + + + + + + + sh [10119]2.1ms + + + + + + + sh [10125]2.0ms + + + + + + + ethtool [10126]1.6ms + + + + + + + + sh [10127]1.8ms + + + + + + + + + sh [10131]1.8ms + + + + + + + ethtool [10132]1.8ms + + + + + + + + sh [10137]1.7ms + + + + + + + ethtool [10138]2.4ms + + + + + + + + sh [10143]1.8ms + + + + + + + ethtool [10144]2.7ms + + + + + + + + sh [10147]2.4ms + + + + + + + sh [10153]2.0ms + + + + + + + ethtool [10154]1.5ms + + + + + + + + sh [10155]1.7ms + + + + + + + ethtool [10156]3.1ms + + + + + + + + sh [10159]1.7ms + + + + + + + ethtool [10160]2.1ms + + + + + + + + sh [10165]1.7ms + + + + + + + ethtool [10166]2.5ms + + + + + + + + sh [10171]1.7ms + + + + + + + ethtool [10172]2.8ms + + + + + + + + sh [10175]1.7ms + + + + + + + ethtool [10176]1.4ms + + + + + + + + sh [10181]1.7ms + + + + + + + ethtool [10182]2.0ms + + + + + + + + sh [10187]2.0ms + + + + + + + ethtool [10188]2.4ms + + + + + + + + sh [10191]1.5ms + + + + + + + ethtool [10192]1.2ms + + + + + + + + sh [10193]2.0ms + + + + + + + ethtool [10194]3.0ms + + + + + + + + sh [10197]1.7ms + + + + + + + ethtool [10198]2.3ms + + + + + + + + sh [10203]1.7ms + + + + + + + ethtool [10204]2.5ms + + + + + + + + sh [10209]1.7ms + + + + + + + ethtool [10210]3.4ms + + + + + + + + sh [10218]2.0ms + + + + + + + ethtool [10219]2.8ms + + + + + + + + sh [10220]2.1ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ethtool [10221]857.3ms + + + + + + + + sh [10222]2.4ms + + + + + + + ethtool [10223]2.5ms + + + + + + + + sh [10226]2.0ms + + + + + + + ethtool [10227]6.2ms + + + + + + + + sh [10228]1.6ms + + + + + + + sh [10230]2.7ms + + + + + + + ethtool [10231]3.3ms + + + + + + + + sh [10236]2.1ms + + + + + + + ethtool [10237]1.8ms + + + + + + + + sh [10242]2.2ms + + + + + + + + sh [10250]2.2ms + + + + + + + ethtool [10251]3.1ms + + + + + + + + sh [10256]2.2ms + + + + + + + ethtool [10257]3.4ms + + + + + + + + sh [10262]2.2ms + + + + + + + ethtool [10263]2.4ms + + + + + + + + sh [10268]2.1ms + + + + + + + ethtool [10269]3.0ms + + + + + + + + sh [10274]2.1ms + + + + + + + ethtool [10275]2.8ms + + + + + + + + + sh [10286]1.6ms + + + + + + + ethtool [10287]2.6ms + + + + + + + + sh [10292]2.4ms + + + + + + + ethtool [10293]2.4ms + + + + + + + + sh [10298]2.0ms + + + + + + + ethtool [10299]1.7ms + + + + + + + + sh [10304]2.0ms + + + + + + + + + sh [10310]1.7ms + + + + + + + ethtool [10311]3.1ms + + + + + + + + sh [10314]2.0ms + + + + + + + sh [10316]2.5ms + + + + + + + ethtool [10317]2.8ms + + + + + + + + sh [10320]1.7ms + + + + + + + ethtool [10321]2.2ms + + + + + + + + sh [10322]2.0ms + + + + + + + ethtool [10323]3.2ms + + + + + + + + sh [10326]2.0ms + + + + + + + ethtool [10327]1.8ms + + + + + + + + sh [10332]2.0ms + + + + + + + ethtool [10333]2.3ms + + + + + + + + sh [10344]2.1ms + + + + + + + ethtool [10345]3.0ms + + + + + + + + sh [10350]2.1ms + + + + + + + ethtool [10351]2.4ms + + + + + + + + sh [10358]2.3ms + + + + + + + + + sh [10364]2.1ms + + + + + + + ethtool [10365]3.3ms + + + + + + + + sh [10370]1.9ms + + + + + + + ethtool [10371]2.2ms + + + + + + + + sh [10376]1.9ms + + + + + + + ethtool [10377]2.5ms + + + + + + + + sh [10385]2.0ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ethtool [10386]892.1ms + + + + + + + + sh [10391]1.6ms + + + + + + + ethtool [10392]4.4ms + + + + + + + + sh [10395]1.5ms + + + + + + + sh [10409]2.0ms + + + + + + + + + sh [10415]1.7ms + + + + + + + ethtool [10416]2.6ms + + + + + + + + sh [10419]2.0ms + + + + + + + sh [10425]2.1ms + + + + + + + ethtool [10426]2.3ms + + + + + + + + sh [10431]3.3ms + + + + + + + ethtool [10432]1.6ms + + + + + + + + sh [10433]1.8ms + + + + + + + sh [10437]2.0ms + + + + + + + ethtool [10438]1.9ms + + + + + + + + sh [10443]1.7ms + + + + + + + ethtool [10444]2.5ms + + + + + + + + sh [10449]2.1ms + + + + + + + ethtool [10450]2.6ms + + + + + + + + sh [10453]2.2ms + + + + + + + sh [10455]3.3ms + + + + + + + ethtool [10456]2.9ms + + + + + + + + sh [10461]2.2ms + + + + + + + ethtool [10462]2.7ms + + + + + + + + sh [10465]2.1ms + + + + + + + sh [10467]1.8ms + + + + + + + ethtool [10468]3.0ms + + + + + + + + sh [10471]1.9ms + + + + + + + ethtool [10472]1.8ms + + + + + + + + sh [10477]2.3ms + + + + + + + ethtool [10478]2.6ms + + + + + + + + sh [10487]2.1ms + + + + + + + ethtool [10488]2.1ms + + + + + + + + sh [10489]2.6ms + + + + + + + ethtool [10490]3.1ms + + + + + + + + sh [10493]1.7ms + + + + + + + ethtool [10494]1.7ms + + + + + + + + sh [10508]2.4ms + + + + + + + ethtool [10509]2.8ms + + + + + + + + sh [10517]1.9ms + + + + + + + sh [10519]1.8ms + + + + + + + ethtool [10520]2.7ms + + + + + + + + sh [10525]1.9ms + + + + + + + ethtool [10526]2.4ms + + + + + + + + sh [10540]1.8ms + + + + + + + ethtool [10541]2.1ms + + + + + + + + sh [10553]1.7ms + + + + + + + ethtool [10554]2.6ms + + + + + + + + sh [10573]1.7ms + + + + + + + ethtool [10574]2.5ms + + + + + + + + sh [10577]1.7ms + + + + + + + sh [10579]1.6ms + + + + + + + ethtool [10580]2.6ms + + + + + + + + sh [10586]1.8ms + + + + + + + sh [10588]1.6ms + + + + + + + ethtool [10589]2.9ms + + + + + + + + sh [10593]1.8ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ethtool [10594]899.1ms + + + + + + + + sh [10669]1.6ms + + + + + + + + + ethtool [10670]7.6ms + + + + + + + + sh [10684]1.6ms + + + + + + + ethtool [10685]2.0ms + + + + + + + + sh [10699]1.6ms + + + + + + + ethtool [10700]2.5ms + + + + + + + + sh [10709]1.6ms + + + + + + + ethtool [10710]1.6ms + + + + + + + + sh [10733]1.6ms + + + + + + + ethtool [10734]1.5ms + + + + + + + + sh [10739]1.5ms + + + + + + + ethtool [10740]2.1ms + + + + + + + + sh [10743]1.6ms + + + + + + + ethtool [10744]1.2ms + + + + + + + + + sh [10751]1.6ms + + + + + + + ethtool [10752]2.4ms + + + + + + + + sh [10772]1.7ms + + + + + + + ethtool [10773]2.2ms + + + + + + + + sh [10776]1.6ms + + + + + + + sh [10778]1.5ms + + + + + + + ethtool [10779]2.6ms + + + + + + + + sh [10782]1.6ms + + + + + + + ethtool [10783]1.7ms + + + + + + + + sh [10790]1.6ms + + + + + + + ethtool [10791]2.2ms + + + + + + + + sh [10810]1.7ms + + + + + + + ethtool [10812]1.1ms + + + + + + + + sh [10820]1.7ms + + + + + + + sh [10824]1.6ms + + + + + + + ethtool [10825]1.7ms + + + + + + + + + sh [10834]1.7ms + + + + + + + ethtool [10835]1.4ms + + + + + + + + sh [10840]1.5ms + + + + + + + ethtool [10841]2.5ms + + + + + + + + sh [10844]1.9ms + + + + + + + sh [10846]2.5ms + + + + + + + ethtool [10847]2.5ms + + + + + + + + sh [10850]1.5ms + + + + + + + ethtool [10851]2.1ms + + + + + + + + sh [10856]1.7ms + + + + + + + ethtool [10857]2.4ms + + + + + + + + sh [10860]1.5ms + + + + + + + ethtool [10861]1.3ms + + + + + + + + sh [10866]1.6ms + + + + + + + ethtool [10867]1.8ms + + + + + + + + sh [10872]1.5ms + + + + + + + ethtool [10873]2.5ms + + + + + + + + sh [10876]1.5ms + + + + + + + ethtool [10877]1.8ms + + + + + + + + sh [10886]1.6ms + + + + + + + ethtool [10887]2.1ms + + + + + + + + sh [10892]1.7ms + + + + + + + ethtool [10893]3.0ms + + + + + + + + sh [10896]1.6ms + + + + + + + ethtool [10897]1.3ms + + + + + + + + + sh [10902]1.8ms + + + + + + + ethtool [10903]1.6ms + + + + + + + + sh [10909]1.7ms + + + + + + + ethtool [10910]1.9ms + + + + + + + + sh [10919]1.7ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ethtool [10920]844.6ms + + + + + + + + sh [10940]2.8ms + + + + + + + sh [10942]1.6ms + + + + + + + + + ethtool [10943]8.0ms + + + + + + + + sh [10948]2.1ms + + + + + + + ethtool [10949]2.7ms + + + + + + + + sh [10956]2.3ms + + + + + + + ethtool [10957]3.0ms + + + + + + + + sh [10960]1.8ms + + + + + + + ethtool [10961]1.5ms + + + + + + + + sh [10962]2.2ms + + + + + + + ethtool [10963]3.3ms + + + + + + + + sh [10966]2.0ms + + + + + + + ethtool [10967]2.0ms + + + + + + + + sh [10968]2.0ms + + + + + + + ethtool [10969]3.4ms + + + + + + + + sh [10972]2.0ms + + + + + + + ethtool [10973]2.4ms + + + + + + + + sh [10978]1.8ms + + + + + + + ethtool [10979]2.1ms + + + + + + + + sh [10984]2.2ms + + + + + + + ethtool [10985]2.4ms + + + + + + + + sh [10990]2.0ms + + + + + + + ethtool [10991]2.9ms + + + + + + + + sh [10996]1.9ms + + + + + + + ethtool [10997]2.9ms + + + + + + + + sh [11000]1.9ms + + + + + + + ethtool [11001]1.5ms + + + + + + + + sh [11002]2.1ms + + + + + + + ethtool [11003]3.2ms + + + + + + + + sh [11006]2.1ms + + + + + + + ethtool [11007]1.8ms + + + + + + + + sh [11014]2.1ms + + + + + + + ethtool [11015]2.1ms + + + + + + + + sh [11020]1.7ms + + + + + + + sh [11024]2.2ms + + + + + + + sh [11026]3.8ms + + + + + + + ethtool [11027]2.6ms + + + + + + + + sh [11030]1.5ms + + + + + + + ethtool [11031]2.1ms + + + + + + + + sh [11032]2.1ms + + + + + + + ethtool [11033]3.3ms + + + + + + + + sh [11036]2.1ms + + + + + + + ethtool [11037]2.2ms + + + + + + + + sh [11042]2.0ms + + + + + + + ethtool [11043]2.2ms + + + + + + + + sh [11048]2.1ms + + + + + + + ethtool [11049]2.9ms + + + + + + + + sh [11054]2.2ms + + + + + + + ethtool [11055]2.7ms + + + + + + + + sh [11060]2.1ms + + + + + + + sh [11066]3.2ms + + + + + + + ethtool [11067]3.2ms + + + + + + + + sh [11072]2.2ms + + + + + + + ethtool [11073]2.5ms + + + + + + + + sh [11078]2.3ms + + + + + + + ethtool [11079]2.5ms + + + + + + + + + sh [11090]1.9ms + + + + + + + ethtool [11091]3.2ms + + + + + + + + sh [11094]2.3ms + + + + + + + sh [11099]2.1ms + + + + + + + ethtool [11100]2.3ms + + + + + + + + sh [11103]2.0ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ethtool [11104]877.6ms + + + + + + + + sh [11107]2.7ms + + + + + + + sh [11109]2.1ms + + + + + + + ethtool [11110]7.8ms + + + + + + + + sh [11117]2.1ms + + + + + + + + + sh [11123]2.3ms + + + + + + + ethtool [11124]3.4ms + + + + + + + + sh [11125]4.0ms + + + + + + + ethtool [11126]3.2ms + + + + + + + + sh [11129]2.7ms + + + + + + + sh [11131]2.3ms + + + + + + + ethtool [11132]3.2ms + + + + + + + + sh [11135]3.0ms + + + + + + + sh [11137]2.3ms + + + + + + + ethtool [11138]3.1ms + + + + + + + + sh [11141]2.3ms + + + + + + + sh [11143]2.3ms + + + + + + + sh [11149]2.3ms + + + + + + + ethtool [11150]2.7ms + + + + + + + + sh [11151]2.7ms + + + + + + + + + sh [11155]2.1ms + + + + + + + ethtool [11156]2.7ms + + + + + + + + sh [11161]2.2ms + + + + + + + ethtool [11162]1.9ms + + + + + + + + sh [11163]2.2ms + + + + + + + ethtool [11164]3.4ms + + + + + + + + sh [11167]2.2ms + + + + + + + ethtool [11168]1.7ms + + + + + + + + sh [11173]1.8ms + + + + + + + ethtool [11174]2.5ms + + + + + + + + sh [11179]2.1ms + + + + + + + ethtool [11180]2.4ms + + + + + + + + sh [11185]2.1ms + + + + + + + ethtool [11186]2.4ms + + + + + + + + sh [11189]2.2ms + + + + + + + sh [11191]2.2ms + + + + + + + ethtool [11192]3.0ms + + + + + + + + sh [11195]2.2ms + + + + + + + ethtool [11196]2.1ms + + + + + + + + sh [11197]2.2ms + + + + + + + ethtool [11198]3.3ms + + + + + + + + sh [11201]2.2ms + + + + + + + ethtool [11202]1.6ms + + + + + + + + sh [11203]2.0ms + + + + + + + sh [11207]2.3ms + + + + + + + ethtool [11208]1.8ms + + + + + + + + sh [11213]2.2ms + + + + + + + ethtool [11214]2.7ms + + + + + + + + sh [11219]2.3ms + + + + + + + ethtool [11220]2.4ms + + + + + + + + sh [11225]2.3ms + + + + + + + ethtool [11226]2.3ms + + + + + + + + sh [11231]2.2ms + + + + + + + ethtool [11232]2.5ms + + + + + + + + sh [11237]2.3ms + + + + + + + sh [11243]2.5ms + + + + + + + sh [11251]2.0ms + + + + + + + ethtool [11252]2.9ms + + + + + + + + sh [11253]2.1ms + + + + + + + ethtool [11254]3.5ms + + + + + + + + sh [11255]2.3ms + + + + + + + ethtool [11256]2.5ms + + + + + + + + sh [11257]2.0ms + + + + + + + ethtool [11258]1.9ms + + + + + + + + sh [11259]1.9ms + + + + + + + ethtool [11260]1.6ms + + + + + + + + sh [11264]2.0ms + + + + + + + ethtool [11265]2.8ms + + + + + + + + sh [11266]3.5ms + + + + + + + ethtool [11267]2.2ms + + + + + + + + sh [11268]2.3ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ethtool [11269]915.0ms + + + + + + + + sh [11274]3.4ms + + + + + + + ethtool [11275]2.5ms + + + + + + + + sh [11278]2.0ms + + + + + + + ethtool [11279]4.9ms + + + + + + + + sh [11280]2.0ms + + + + + + + sh [11282]2.0ms + + + + + + + ethtool [11283]2.7ms + + + + + + + + sh [11288]2.0ms + + + + + + + + + + sh [11300]2.2ms + + + + + + + ethtool [11301]2.6ms + + + + + + + + sh [11304]1.8ms + + + + + + + sh [11306]1.8ms + + + + + + + ethtool [11307]3.8ms + + + + + + + + sh [11310]2.1ms + + + + + + + ethtool [11311]1.5ms + + + + + + + + sh [11318]1.8ms + + + + + + + ethtool [11319]2.3ms + + + + + + + + sh [11320]1.8ms + + + + + + + + + sh [11324]2.0ms + + + + + + + ethtool [11325]1.7ms + + + + + + + + sh [11330]1.7ms + + + + + + + ethtool [11331]2.5ms + + + + + + + + sh [11340]1.9ms + + + + + + + ethtool [11341]1.5ms + + + + + + + + sh [11342]2.1ms + + + + + + + ethtool [11343]3.2ms + + + + + + + + sh [11346]2.1ms + + + + + + + ethtool [11347]2.0ms + + + + + + + + sh [11348]2.1ms + + + + + + + + + sh [11352]2.2ms + + + + + + + ethtool [11353]1.8ms + + + + + + + + sh [11358]2.0ms + + + + + + + ethtool [11359]2.2ms + + + + + + + + sh [11364]2.3ms + + + + + + + ethtool [11365]2.7ms + + + + + + + + sh [11370]2.9ms + + + + + + + ethtool [11371]2.2ms + + + + + + + + sh [11376]1.9ms + + + + + + + ethtool [11377]2.0ms + + + + + + + + sh [11382]2.1ms + + + + + + + ethtool [11383]2.3ms + + + + + + + + sh [11388]2.1ms + + + + + + + + + sh [11394]2.2ms + + + + + + + ethtool [11395]3.1ms + + + + + + + + + sh [11402]3.2ms + + + + + + + ethtool [11403]2.6ms + + + + + + + + sh [11404]2.3ms + + + + + + + ethtool [11405]2.3ms + + + + + + + + sh [11412]2.8ms + + + + + + + ethtool [11413]1.8ms + + + + + + + + sh [11414]2.3ms + + + + + + + ethtool [11415]2.5ms + + + + + + + + sh [11420]2.2ms + + + + + + + ethtool [11421]3.2ms + + + + + + + + sh [11426]2.2ms + + + + + + + ethtool [11427]2.8ms + + + + + + + + sh [11435]2.1ms + + + + + + + ethtool [11436]2.3ms + + + + + + + + sh [11439]2.2ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ethtool [11440]877.7ms + + + + + + + + sh [11443]2.4ms + + + + + + + sh [11445]1.9ms + + + + + + + ethtool [11446]3.0ms + + + + + + + + sh [11451]2.5ms + + + + + + + ethtool [11452]3.5ms + + + + + + + + sh [11457]3.2ms + + + + + + + ethtool [11458]1.7ms + + + + + + + + sh [11463]2.5ms + + + + + + + ethtool [11464]2.1ms + + + + + + + + sh [11465]2.3ms + + + + + + + ethtool [11466]3.4ms + + + + + + + + sh [11469]1.9ms + + + + + + + ethtool [11470]1.6ms + + + + + + + + sh [11471]2.2ms + + + + + + + ethtool [11472]3.3ms + + + + + + + + sh [11475]2.1ms + + + + + + + ethtool [11476]1.9ms + + + + + + + + sh [11481]2.0ms + + + + + + + ethtool [11482]1.9ms + + + + + + + + sh [11483]2.1ms + + + + + + + ethtool [11484]2.4ms + + + + + + + + sh [11485]2.0ms + + + + + + + ethtool [11486]3.3ms + + + + + + + + sh [11491]2.2ms + + + + + + + sh [11493]2.1ms + + + + + + + ethtool [11494]2.1ms + + + + + + + + sh [11495]2.1ms + + + + + + + ethtool [11496]3.1ms + + + + + + + + sh [11501]2.2ms + + + + + + + ethtool [11502]3.3ms + + + + + + + + sh [11507]1.9ms + + + + + + + ethtool [11508]3.2ms + + + + + + + + sh [11519]2.7ms + + + + + + + ethtool [11520]3.0ms + + + + + + + + sh [11523]2.3ms + + + + + + + sh [11525]2.1ms + + + + + + + ethtool [11526]2.9ms + + + + + + + + sh [11529]2.0ms + + + + + + + sh [11535]2.1ms + + + + + + + sh [11537]2.2ms + + + + + + + ethtool [11538]3.2ms + + + + + + + + sh [11541]2.0ms + + + + + + + ethtool [11542]1.5ms + + + + + + + + sh [11543]2.2ms + + + + + + + ethtool [11544]3.3ms + + + + + + + + sh [11547]2.3ms + + + + + + + ethtool [11548]1.8ms + + + + + + + + sh [11553]2.0ms + + + + + + + ethtool [11554]2.2ms + + + + + + + + sh [11559]2.2ms + + + + + + + ethtool [11560]2.3ms + + + + + + + + sh [11565]2.0ms + + + + + + + ethtool [11566]2.8ms + + + + + + + + sh [11571]2.0ms + + + + + + + ethtool [11572]2.6ms + + + + + + + + sh [11573]2.4ms + + + + + + + + + sh [11577]2.0ms + + + + + + + ethtool [11578]1.5ms + + + + + + + + sh [11579]2.0ms + + + + + + + ethtool [11580]3.0ms + + + + + + + + sh [11583]1.9ms + + + + + + + sh [11589]2.0ms + + + + + + + ethtool [11590]1.5ms + + + + + + + + sh [11591]2.0ms + + + + + + + + + sh [11602]2.6ms + + + + + + + ethtool [11608]1.6ms + + + + + + + + sh [11616]2.0ms + + + + + + + ethtool [11617]2.9ms + + + + + + + + sh [11618]1.8ms + + + + + + + ethtool [11619]4.7ms + + + + + + + + sh [11620]3.5ms + + + + + + + sh [11622]1.8ms + + + + + + + ethtool [11623]3.1ms + + + + + + + + sh [11628]2.0ms + + + + + + + ethtool [11629]2.6ms + + + + + + + + sh [11634]2.0ms + + + + + + + ethtool [11635]2.9ms + + + + + + + + sh [11638]1.9ms + + + + + + + ethtool [11639]2.1ms + + + + + + + + sh [11644]2.1ms + + + + + + + + sh [11658]2.3ms + + + + + + + ethtool [11659]2.7ms + + + + + + + + sh [11664]2.3ms + + + + + + + sh [11678]2.3ms + + + + + + + sh [11686]2.4ms + + + + + + + ethtool [11687]3.3ms + + + + + + + + sh [11692]1.9ms + + + + + + + ethtool [11693]2.7ms + + + + + + + + sh [11696]2.0ms + + + + + + + sh [11698]2.0ms + + + + + + + ethtool [11699]3.0ms + + + + + + + + sh [11702]2.2ms + + + + + + + ethtool [11703]1.8ms + + + + + + + + sh [11704]2.0ms + + + + + + + ethtool [11705]3.2ms + + + + + + + + sh [11708]2.3ms + + + + + + + ethtool [11709]2.4ms + + + + + + + + sh [11710]2.3ms + + + + + + + + + sh [11714]2.3ms + + + + + + + ethtool [11715]1.9ms + + + + + + + + sh [11720]2.1ms + + + + + + + ethtool [11721]2.1ms + + + + + + + + sh [11726]2.0ms + + + + + + + ethtool [11727]2.7ms + + + + + + + + sh [11732]2.2ms + + + + + + + ethtool [11733]2.3ms + + + + + + + + sh [11738]2.4ms + + + + + + + ethtool [11739]2.5ms + + + + + + + + sh [11748]2.1ms + + + + + + + ethtool [11749]2.8ms + + + + + + + + sh [11774]2.0ms + + + + + + + ethtool [11776]2.7ms + + + + + + + + sh [11781]1.6ms + + + + + + + ethtool [11782]3.4ms + + + + + + + + sh [11792]1.8ms + + + + + + + ethtool [11793]2.8ms + + + + + + + + sh [11796]1.7ms + + + + + + + ethtool [11797]1.6ms + + + + + + + + sh [11802]2.4ms + + + + + + + ethtool [11803]2.2ms + + + + + + + + sh [11818]1.9ms + + + + + + + ethtool [11819]1.7ms + + + + + + + + sh [11825]2.0ms + + + + + + + ethtool [11826]3.2ms + + + + + + + + sh [11842]1.8ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ethtool [11843]885.2ms + + + + + + + + sh [11901]4.0ms + + + + + + + ethtool [11902]3.4ms + + + + + + + + sh [11918]2.0ms + + + + + + + ethtool [11919]5.8ms + + + + + + + + sh [11934]1.7ms + + + + + + + ethtool [11935]2.0ms + + + + + + + + sh [11940]1.7ms + + + + + + + ethtool [11941]1.8ms + + + + + + + + sh [11946]1.8ms + + + + + + + ethtool [11947]2.7ms + + + + + + + + sh [11968]2.1ms + + + + + + + sh [11982]1.8ms + + + + + + + ethtool [11983]2.6ms + + + + + + + + sh [11986]2.1ms + + + + + + + ethtool [11987]1.4ms + + + + + + + + sh [11988]1.7ms + + + + + + + + + sh [11992]1.7ms + + + + + + + ethtool [11993]1.8ms + + + + + + + + sh [12011]1.8ms + + + + + + + ethtool [12017]2.1ms + + + + + + + + sh [12027]1.8ms + + + + + + + ethtool [12028]1.5ms + + + + + + + + sh [12029]1.7ms + + + + + + + ethtool [12030]3.0ms + + + + + + + + sh [12033]1.6ms + + + + + + + ethtool [12034]1.6ms + + + + + + + + sh [12039]1.6ms + + + + + + + ethtool [12040]2.6ms + + + + + + + + sh [12065]1.9ms + + + + + + + ethtool [12066]2.7ms + + + + + + + + sh [12076]1.7ms + + + + + + + ethtool [12077]2.2ms + + + + + + + + sh [12080]1.7ms + + + + + + + ethtool [12081]1.3ms + + + + + + + + sh [12086]1.6ms + + + + + + + ethtool [12087]1.7ms + + + + + + + + sh [12112]1.8ms + + + + + + + ethtool [12113]2.4ms + + + + + + + + sh [12125]1.6ms + + + + + + + ethtool [12126]2.4ms + + + + + + + + sh [12131]1.7ms + + + + + + + sh [12133]1.7ms + + + + + + + + + sh [12137]1.6ms + + + + + + + ethtool [12138]1.7ms + + + + + + + + sh [12143]1.8ms + + + + + + + ethtool [12144]2.1ms + + + + + + + + sh [12149]1.7ms + + + + + + + ethtool [12150]3.0ms + + + + + + + + sh [12153]2.1ms + + + + + + + sh [12159]1.6ms + + + + + + + ethtool [12160]1.8ms + + + + + + + + sh [12165]1.5ms + + + + + + + ethtool [12166]1.9ms + + + + + + + + sh [12171]1.6ms + + + + + + + ethtool [12172]2.1ms + + + + + + + + sh [12179]2.1ms + + + + + + + + + sh [12191]2.3ms + + + + + + + ethtool [12192]3.2ms + + + + + + + + sh [12204]2.2ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ethtool [12205]882.6ms + + + + + + + + sh [12210]2.1ms + + + + + + + ethtool [12211]7.6ms + + + + + + + + sh [12212]2.3ms + + + + + + + ethtool [12213]2.7ms + + + + + + + + sh [12220]1.9ms + + + + + + + + + sh [12226]1.9ms + + + + + + + + + sh [12232]2.1ms + + + + + + + ethtool [12233]2.9ms + + + + + + + + sh [12238]2.4ms + + + + + + + ethtool [12239]3.2ms + + + + + + + + sh [12244]2.3ms + + + + + + + sh [12250]2.3ms + + + + + + + ethtool [12251]3.0ms + + + + + + + + sh [12256]2.3ms + + + + + + + ethtool [12257]3.3ms + + + + + + + + sh [12260]2.2ms + + + + + + + sh [12266]2.2ms + + + + + + + sh [12272]1.6ms + + + + + + + ethtool [12273]2.1ms + + + + + + + + sh [12278]2.0ms + + + + + + + ethtool [12279]2.1ms + + + + + + + + sh [12284]2.1ms + + + + + + + sh [12288]2.1ms + + + + + + + sh [12290]3.5ms + + + + + + + ethtool [12291]2.7ms + + + + + + + + sh [12296]2.3ms + + + + + + + ethtool [12297]2.8ms + + + + + + + + sh [12302]2.4ms + + + + + + + ethtool [12303]2.9ms + + + + + + + + sh [12308]2.2ms + + + + + + + ethtool [12309]3.1ms + + + + + + + + sh [12314]2.3ms + + + + + + + + + sh [12320]2.3ms + + + + + + + ethtool [12321]3.2ms + + + + + + + + sh [12326]2.2ms + + + + + + + + + sh [12332]2.0ms + + + + + + + ethtool [12333]3.4ms + + + + + + + + sh [12338]3.1ms + + + + + + + ethtool [12339]2.7ms + + + + + + + + sh [12344]2.2ms + + + + + + + ethtool [12345]2.8ms + + + + + + + + sh [12348]2.3ms + + + + + + + sh [12350]2.3ms + + + + + + + ethtool [12351]3.2ms + + + + + + + + sh [12354]2.5ms + + + + + + + sh [12356]2.3ms + + + + + + + ethtool [12357]3.3ms + + + + + + + + sh [12360]2.2ms + + + + + + + ethtool [12361]1.6ms + + + + + + + + sh [12362]2.0ms + + + + + + + ethtool [12363]3.3ms + + + + + + + + sh [12364]2.3ms + + + + + + + ethtool [12365]4.8ms + + + + + + + + sh [12374]3.9ms + + + + + + + sh [12376]2.3ms + + + + + + + + + sh [12382]2.4ms + + + + + + + + sh [12388]2.1ms + + + + + + + sh [12390]2.1ms + + + + + + + ethtool [12391]3.1ms + + + + + + + + sh [12394]1.7ms + + + + + + + ethtool [12395]1.6ms + + + + + + + + sh [12396]2.2ms + + + + + + + ethtool [12397]3.4ms + + + + + + + + sh [12400]2.2ms + + + + + + + ethtool [12401]1.7ms + + + + + + + + sh [12406]2.2ms + + + + + + + ethtool [12407]1.7ms + + + + + + + + sh [12408]2.1ms + + + + + + + + + sh [12412]2.1ms + + + + + + + ethtool [12413]1.9ms + + + + + + + + sh [12418]1.9ms + + + + + + + + + sh [12424]2.6ms + + + + + + + ethtool [12425]2.4ms + + + + + + + + sh [12426]2.4ms + + + + + + + ethtool [12427]3.9ms + + + + + + + + + sh [12438]2.3ms + + + + + + + ethtool [12439]3.1ms + + + + + + + + sh [12444]2.2ms + + + + + + + + + sh [12450]2.0ms + + + + + + + ethtool [12451]2.7ms + + + + + + + + sh [12456]2.8ms + + + + + + + + + sh [12462]2.5ms + + + + + + + ethtool [12463]2.9ms + + + + + + + + sh [12466]2.3ms + + + + + + + sh [12468]2.3ms + + + + + + + ethtool [12469]3.1ms + + + + + + + + sh [12472]2.0ms + + + + + + + sh [12478]2.1ms + + + + + + + ethtool [12479]2.8ms + + + + + + + + sh [12480]2.6ms + + + + + + + ethtool [12481]3.4ms + + + + + + + + sh [12484]2.3ms + + + + + + + ethtool [12485]1.6ms + + + + + + + + + sh [12490]2.2ms + + + + + + + ethtool [12491]1.6ms + + + + + + + + sh [12496]2.0ms + + + + + + + ethtool [12497]1.8ms + + + + + + + + + sh [12502]2.0ms + + + + + + + ethtool [12503]1.9ms + + + + + + + + sh [12508]1.9ms + + + + + + + ethtool [12509]2.2ms + + + + + + + + sh [12514]1.9ms + + + + + + + ethtool [12515]2.2ms + + + + + + + + sh [12519]2.2ms + + + + + + + ethtool [12520]3.1ms + + + + + + + + sh [12523]2.2ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ethtool [12524]921.9ms + + + + + + + + sh [12529]2.1ms + + + + + + + + + ethtool [12530]6.8ms + + + + + + + + sh [12537]2.8ms + + + + + + + ethtool [12538]1.6ms + + + + + + + + sh [12539]2.1ms + + + + + + + ethtool [12540]3.0ms + + + + + + + + sh [12543]2.1ms + + + + + + + ethtool [12544]2.0ms + + + + + + + + sh [12561]2.1ms + + + + + + + ethtool [12562]1.7ms + + + + + + + + sh [12567]2.6ms + + + + + + + ethtool [12568]2.8ms + + + + + + + + sh [12573]2.1ms + + + + + + + ethtool [12574]2.1ms + + + + + + + + + sh [12579]1.8ms + + + + + + + ethtool [12580]1.8ms + + + + + + + + sh [12585]2.0ms + + + + + + + ethtool [12586]2.4ms + + + + + + + + sh [12591]2.0ms + + + + + + + ethtool [12592]2.2ms + + + + + + + + sh [12597]2.5ms + + + + + + + ethtool [12598]2.4ms + + + + + + + + sh [12619]3.2ms + + + + + + + sh [12625]2.1ms + + + + + + + ethtool [12626]1.6ms + + + + + + + + sh [12627]2.2ms + + + + + + + ethtool [12628]3.8ms + + + + + + + + sh [12631]2.1ms + + + + + + + ethtool [12632]1.7ms + + + + + + + + + sh [12637]3.1ms + + + + + + + ethtool [12638]1.6ms + + + + + + + + sh [12643]1.9ms + + + + + + + ethtool [12644]2.1ms + + + + + + + + sh [12649]2.0ms + + + + + + + ethtool [12650]3.2ms + + + + + + + + sh [12665]2.0ms + + + + + + + ethtool [12666]2.4ms + + + + + + + + sh [12667]3.4ms + + + + + + + ethtool [12668]3.1ms + + + + + + + + sh [12671]2.2ms + + + + + + + ethtool [12672]1.7ms + + + + + + + + sh [12677]2.7ms + + + + + + + ethtool [12678]2.2ms + + + + + + + + sh [12679]2.3ms + + + + + + + ethtool [12680]3.4ms + + + + + + + + sh [12683]2.3ms + + + + + + + + + ethtool [12684]6.9ms + + + + + + + + sh [12685]2.7ms + + + + + + + + + sh [12697]2.2ms + + + + + + + ethtool [12698]3.0ms + + + + + + + + sh [12703]2.1ms + + + + + + + ethtool [12704]2.6ms + + + + + + + + sh [12709]2.4ms + + + + + + + ethtool [12710]2.9ms + + + + + + + + sh [12715]2.2ms + + + + + + + ethtool [12716]2.4ms + + + + + + + + sh [12721]2.1ms + + + + + + + ethtool [12722]3.1ms + + + + + + + + sh [12727]2.5ms + + + + + + + ethtool [12728]2.7ms + + + + + + + + sh [12733]2.3ms + + + + + + + ethtool [12734]2.2ms + + + + + + + + sh [12739]2.3ms + + + + + + + ethtool [12740]2.2ms + + + + + + + + sh [12745]2.3ms + + + + + + + ethtool [12746]2.8ms + + + + + + + + sh [12751]2.1ms + + + + + + + ethtool [12752]1.9ms + + + + + + + + sh [12757]1.9ms + + + + + + + ethtool [12758]2.2ms + + + + + + + + sh [12759]2.0ms + + + + + + + ethtool [12760]3.6ms + + + + + + + + sh [12763]2.0ms + + + + + + + ethtool [12764]2.2ms + + + + + + + + sh [12765]2.2ms + + + + + + + sh [12769]2.0ms + + + + + + + ethtool [12770]2.1ms + + + + + + + + sh [12775]2.0ms + + + + + + + ethtool [12776]2.3ms + + + + + + + + sh [12781]3.4ms + + + + + + + ethtool [12782]2.9ms + + + + + + + + sh [12787]2.2ms + + + + + + + ethtool [12788]2.1ms + + + + + + + + sh [12793]2.3ms + + + + + + + ethtool [12794]2.8ms + + + + + + + + sh [12799]2.3ms + + + + + + + ethtool [12800]2.7ms + + + + + + + + sh [12805]1.9ms + + + + + + + ethtool [12806]3.1ms + + + + + + + + sh [12813]1.9ms + + + + + + + ethtool [12814]2.4ms + + + + + + + + sh [12817]2.1ms + + + + + + + sh [12823]1.9ms + + + + + + + sh [12829]2.2ms + + + + + + + ethtool [12830]2.1ms + + + + + + + + sh [12835]2.0ms + + + + + + + ethtool [12836]2.6ms + + + + + + + + sh [12844]2.1ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ethtool [12845]880.7ms + + + + + + + + sh [12850]2.1ms + + + + + + + ethtool [12851]6.4ms + + + + + + + + sh [12852]1.6ms + + + + + + + ethtool [12853]3.8ms + + + + + + + + sh [12858]2.5ms + + + + + + + ethtool [12859]2.6ms + + + + + + + + sh [12864]2.2ms + + + + + + + ethtool [12865]3.0ms + + + + + + + + sh [12870]3.0ms + + + + + + + ethtool [12871]2.4ms + + + + + + + + sh [12874]1.6ms + + + + + + + sh [12880]2.1ms + + + + + + + ethtool [12881]2.6ms + + + + + + + + sh [12886]2.1ms + + + + + + + ethtool [12887]2.0ms + + + + + + + + sh [12892]2.1ms + + + + + + + ethtool [12893]2.5ms + + + + + + + + sh [12898]1.6ms + + + + + + + ethtool [12899]2.8ms + + + + + + + + sh [12902]2.1ms + + + + + + + ethtool [12903]1.5ms + + + + + + + + + sh [12908]1.7ms + + + + + + + ethtool [12909]1.9ms + + + + + + + + sh [12914]2.2ms + + + + + + + ethtool [12915]2.5ms + + + + + + + + sh [12920]1.8ms + + + + + + + ethtool [12921]1.9ms + + + + + + + + sh [12926]1.7ms + + + + + + + ethtool [12927]2.5ms + + + + + + + + sh [12932]2.1ms + + + + + + + + + sh [12936]1.9ms + + + + + + + ethtool [12937]1.4ms + + + + + + + + sh [12942]2.2ms + + + + + + + ethtool [12943]1.8ms + + + + + + + + sh [12944]2.2ms + + + + + + + ethtool [12945]3.4ms + + + + + + + + sh [12948]2.1ms + + + + + + + ethtool [12949]1.9ms + + + + + + + + sh [12954]2.1ms + + + + + + + ethtool [12955]2.1ms + + + + + + + + sh [12960]1.8ms + + + + + + + ethtool [12961]2.4ms + + + + + + + + sh [12966]1.9ms + + + + + + + ethtool [12967]2.9ms + + + + + + + + sh [12970]2.2ms + + + + + + + sh [12972]2.3ms + + + + + + + ethtool [12973]3.2ms + + + + + + + + sh [12976]2.3ms + + + + + + + sh [12978]2.3ms + + + + + + + ethtool [12979]3.7ms + + + + + + + + sh [12982]2.3ms + + + + + + + sh [12984]2.3ms + + + + + + + ethtool [12985]3.2ms + + + + + + + + sh [12988]2.3ms + + + + + + + ethtool [12989]2.2ms + + + + + + + + sh [12990]2.3ms + + + + + + + ethtool [12991]3.6ms + + + + + + + + sh [12994]2.3ms + + + + + + + sh [12996]2.3ms + + + + + + + ethtool [12997]3.3ms + + + + + + + + sh [13000]2.3ms + + + + + + + ethtool [13001]2.0ms + + + + + + + + sh [13005]2.3ms + + + + + + + ethtool [13006]2.5ms + + + + + + + + sh [13009]2.4ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ethtool [13010]911.7ms + + + + + + + + sh [13017]2.1ms + + + + + + + + + ethtool [13018]6.7ms + + + + + + + + sh [13019]1.8ms + + + + + + + ethtool [13020]2.9ms + + + + + + + + sh [13025]2.4ms + + + + + + + ethtool [13026]2.6ms + + + + + + + + sh [13029]2.1ms + + + + + + + sh [13037]2.2ms + + + + + + + + + sh [13043]2.1ms + + + + + + + ethtool [13044]3.0ms + + + + + + + + sh [13049]1.7ms + + + + + + + ethtool [13050]2.5ms + + + + + + + + sh [13055]1.6ms + + + + + + + sh [13057]2.1ms + + + + + + + ethtool [13058]3.8ms + + + + + + + + sh [13061]2.1ms + + + + + + + sh [13069]2.2ms + + + + + + + ethtool [13070]3.1ms + + + + + + + + sh [13075]2.4ms + + + + + + + ethtool [13076]2.4ms + + + + + + + + sh [13077]2.4ms + + + + + + + ethtool [13078]3.0ms + + + + + + + + sh [13083]2.3ms + + + + + + + sh [13091]2.0ms + + + + + + + ethtool [13092]2.8ms + + + + + + + + sh [13103]1.9ms + + + + + + + ethtool [13104]3.1ms + + + + + + + + sh [13107]2.1ms + + + + + + + ethtool [13108]1.7ms + + + + + + + + sh [13109]2.2ms + + + + + + + ethtool [13110]3.0ms + + + + + + + + sh [13113]2.0ms + + + + + + + ethtool [13114]1.8ms + + + + + + + + sh [13119]2.2ms + + + + + + + ethtool [13120]2.7ms + + + + + + + + sh [13125]2.3ms + + + + + + + ethtool [13126]2.8ms + + + + + + + + sh [13131]4.1ms + + + + + + + ethtool [13132]2.2ms + + + + + + + + sh [13137]2.2ms + + + + + + + ethtool [13138]2.1ms + + + + + + + + sh [13143]2.2ms + + + + + + + ethtool [13144]2.9ms + + + + + + + + + sh [13149]2.3ms + + + + + + + ethtool [13150]2.1ms + + + + + + + + sh [13155]2.2ms + + + + + + + ethtool [13156]2.2ms + + + + + + + + sh [13161]2.1ms + + + + + + + ethtool [13162]2.3ms + + + + + + + + sh [13167]2.8ms + + + + + + + ethtool [13168]2.9ms + + + + + + + + sh [13176]2.3ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ethtool [13177]883.8ms + + + + + + + + + sh [13182]2.2ms + + + + + + + ethtool [13183]5.2ms + + + + + + + + sh [13186]1.7ms + + + + + + + ethtool [13187]2.7ms + + + + + + + + sh [13188]2.8ms + + + + + + + ethtool [13189]3.0ms + + + + + + + + sh [13192]1.7ms + + + + + + + ethtool [13193]2.1ms + + + + + + + + sh [13206]2.5ms + + + + + + + ethtool [13207]3.1ms + + + + + + + + sh [13212]2.2ms + + + + + + + sh [13220]2.3ms + + + + + + + ethtool [13221]3.0ms + + + + + + + + + sh [13234]2.4ms + + + + + + + ethtool [13235]2.7ms + + + + + + + + sh [13250]2.5ms + + + + + + + ethtool [13251]3.7ms + + + + + + + + sh [13256]2.1ms + + + + + + + ethtool [13257]2.3ms + + + + + + + + sh [13264]2.1ms + + + + + + + ethtool [13265]3.1ms + + + + + + + + sh [13270]2.3ms + + + + + + + ethtool [13271]2.4ms + + + + + + + + sh [13278]2.2ms + + + + + + + ethtool [13279]3.0ms + + + + + + + + sh [13284]2.7ms + + + + + + + ethtool [13285]2.4ms + + + + + + + + sh [13294]2.2ms + + + + + + + ethtool [13295]2.8ms + + + + + + + + sh [13300]2.0ms + + + + + + + ethtool [13301]1.9ms + + + + + + + + sh [13306]2.0ms + + + + + + + ethtool [13307]2.2ms + + + + + + + + sh [13312]2.1ms + + + + + + + ethtool [13313]3.1ms + + + + + + + + sh [13318]2.7ms + + + + + + + ethtool [13319]2.8ms + + + + + + + + sh [13324]2.1ms + + + + + + + ethtool [13325]3.0ms + + + + + + + + sh [13328]2.0ms + + + + + + + sh [13330]2.0ms + + + + + + + ethtool [13331]3.1ms + + + + + + + + sh [13339]2.3ms + + + + + + + + + sh [13341]2.2ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ethtool [13342]898.4ms + + + + + + + + sh [13349]1.6ms + + + + + + + ethtool [13350]6.6ms + + + + + + + + sh [13357]4.3ms + + + + + + + ethtool [13358]1.7ms + + + + + + + + sh [13359]2.3ms + + + + + + + sh [13363]2.2ms + + + + + + + ethtool [13364]1.7ms + + + + + + + + sh [13371]2.1ms + + + + + + + ethtool [13372]2.6ms + + + + + + + + sh [13377]2.3ms + + + + + + + ethtool [13378]1.9ms + + + + + + + + sh [13379]2.4ms + + + + + + + sh [13383]2.2ms + + + + + + + ethtool [13384]1.5ms + + + + + + + + sh [13385]2.2ms + + + + + + + ethtool [13386]2.6ms + + + + + + + + sh [13391]2.1ms + + + + + + + ethtool [13392]1.7ms + + + + + + + + sh [13393]2.2ms + + + + + + + ethtool [13394]3.0ms + + + + + + + + sh [13397]2.1ms + + + + + + + sh [13399]1.8ms + + + + + + + ethtool [13400]2.7ms + + + + + + + + sh [13405]2.1ms + + + + + + + ethtool [13406]2.8ms + + + + + + + + sh [13411]2.0ms + + + + + + + ethtool [13412]2.8ms + + + + + + + + + sh [13425]2.3ms + + + + + + + ethtool [13426]2.9ms + + + + + + + + sh [13431]3.6ms + + + + + + + ethtool [13432]1.9ms + + + + + + + + sh [13437]2.2ms + + + + + + + ethtool [13438]2.8ms + + + + + + + + sh [13443]2.0ms + + + + + + + ethtool [13444]2.6ms + + + + + + + + sh [13449]3.5ms + + + + + + + ethtool [13450]2.7ms + + + + + + + + + sh [13461]2.0ms + + + + + + + ethtool [13462]3.1ms + + + + + + + + sh [13465]2.2ms + + + + + + + sh [13467]2.3ms + + + + + + + ethtool [13468]3.4ms + + + + + + + + sh [13471]2.0ms + + + + + + + ethtool [13472]1.7ms + + + + + + + + sh [13479]2.4ms + + + + + + + ethtool [13480]2.9ms + + + + + + + + sh [13491]2.1ms + + + + + + + ethtool [13492]3.2ms + + + + + + + + sh [13497]2.0ms + + + + + + + ethtool [13498]2.8ms + + + + + + + + sh [13503]2.6ms + + + + + + + + + ethtool [13504]7.1ms + + + + + + + + + sh [13517]2.8ms + + + + + + + ethtool [13518]2.1ms + + + + + + + + sh [13523]3.4ms + + + + + + + sh [13525]2.4ms + + + + + + + ethtool [13526]2.7ms + + + + + + + + sh [13531]2.0ms + + + + + + + ethtool [13532]2.5ms + + + + + + + + sh [13537]2.0ms + + + + + + + ethtool [13538]2.5ms + + + + + + + + + sh [13549]2.3ms + + + + + + + ethtool [13550]3.3ms + + + + + + + + sh [13555]2.8ms + + + + + + + ethtool [13556]2.9ms + + + + + + + + sh [13561]2.1ms + + + + + + + ethtool [13562]3.5ms + + + + + + + + sh [13567]2.0ms + + + + + + + ethtool [13568]2.9ms + + + + + + + + sh [13573]1.8ms + + + + + + + ethtool [13574]2.9ms + + + + + + + + sh [13577]1.8ms + + + + + + + ethtool [13578]2.1ms + + + + + + + + sh [13583]1.9ms + + + + + + + ethtool [13584]2.6ms + + + + + + + + sh [13589]1.7ms + + + + + + + ethtool [13590]2.9ms + + + + + + + + sh [13595]3.3ms + + + + + + + ethtool [13596]2.8ms + + + + + + + + sh [13601]2.0ms + + + + + + + ethtool [13602]2.3ms + + + + + + + + + sh [13607]2.1ms + + + + + + + ethtool [13608]2.1ms + + + + + + + + sh [13613]2.1ms + + + + + + + ethtool [13614]3.2ms + + + + + + + + sh [13619]2.2ms + + + + + + + ethtool [13620]3.2ms + + + + + + + + sh [13625]3.4ms + + + + + + + ethtool [13626]2.2ms + + + + + + + + sh [13631]2.3ms + + + + + + + ethtool [13632]2.7ms + + + + + + + + sh [13637]2.0ms + + + + + + + ethtool [13638]2.3ms + + + + + + + + sh [13643]2.3ms + + + + + + + ethtool [13644]3.1ms + + + + + + + + sh [13662]2.4ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ethtool [13663]882.8ms + + + + + + + + + sh [13668]2.1ms + + + + + + + ethtool [13669]4.5ms + + + + + + + + sh [13672]2.9ms + + + + + + + sh [13674]1.6ms + + + + + + + ethtool [13675]3.4ms + + + + + + + + sh [13680]2.1ms + + + + + + + ethtool [13681]2.0ms + + + + + + + + sh [13686]2.1ms + + + + + + + ethtool [13687]2.9ms + + + + + + + + sh [13692]1.6ms + + + + + + + ethtool [13693]2.5ms + + + + + + + + sh [13702]1.6ms + + + + + + + ethtool [13703]1.6ms + + + + + + + + sh [13708]2.1ms + + + + + + + ethtool [13709]1.8ms + + + + + + + + sh [13714]2.1ms + + + + + + + ethtool [13715]2.1ms + + + + + + + + sh [13720]2.8ms + + + + + + + ethtool [13721]3.1ms + + + + + + + + sh [13726]1.8ms + + + + + + + ethtool [13727]2.5ms + + + + + + + + sh [13730]2.3ms + + + + + + + sh [13732]2.1ms + + + + + + + ethtool [13733]3.0ms + + + + + + + + sh [13736]1.8ms + + + + + + + ethtool [13737]1.6ms + + + + + + + + sh [13738]2.2ms + + + + + + + sh [13742]1.8ms + + + + + + + ethtool [13743]2.5ms + + + + + + + + sh [13748]2.1ms + + + + + + + ethtool [13749]2.6ms + + + + + + + + sh [13754]2.1ms + + + + + + + ethtool [13755]2.6ms + + + + + + + + sh [13760]1.8ms + + + + + + + ethtool [13761]2.4ms + + + + + + + + sh [13766]2.1ms + + + + + + + ethtool [13767]2.4ms + + + + + + + + sh [13768]2.9ms + + + + + + + ethtool [13769]3.3ms + + + + + + + + sh [13772]1.9ms + + + + + + + ethtool [13773]1.7ms + + + + + + + + + sh [13778]2.4ms + + + + + + + ethtool [13779]2.6ms + + + + + + + + sh [13784]2.3ms + + + + + + + ethtool [13785]2.3ms + + + + + + + + sh [13790]2.3ms + + + + + + + ethtool [13791]2.5ms + + + + + + + + sh [13792]2.4ms + + + + + + + ethtool [13793]3.2ms + + + + + + + + sh [13802]2.1ms + + + + + + + sh [13804]2.1ms + + + + + + + ethtool [13805]3.1ms + + + + + + + + sh [13808]2.1ms + + + + + + + sh [13816]2.7ms + + + + + + + ethtool [13817]3.0ms + + + + + + + + sh [13825]2.1ms + + + + + + + ethtool [13826]3.1ms + + + + + + + + sh [13827]2.3ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ethtool [13828]908.1ms + + + + + + + + sh [13829]4.2ms + + + + + + + sh [13831]2.5ms + + + + + + + ethtool [13832]3.1ms + + + + + + + + sh [13835]1.8ms + + + + + + + ethtool [13836]3.9ms + + + + + + + + sh [13839]1.6ms + + + + + + + ethtool [13840]2.2ms + + + + + + + + sh [13845]1.8ms + + + + + + + ethtool [13846]2.5ms + + + + + + + + sh [13849]1.7ms + + + + + + + ethtool [13850]1.3ms + + + + + + + + sh [13851]2.0ms + + + + + + + ethtool [13852]2.9ms + + + + + + + + sh [13855]1.6ms + + + + + + + ethtool [13856]2.1ms + + + + + + + + sh [13857]3.5ms + + + + + + + sh [13861]1.8ms + + + + + + + ethtool [13862]1.7ms + + + + + + + + sh [13867]2.1ms + + + + + + + ethtool [13868]2.3ms + + + + + + + + sh [13873]2.2ms + + + + + + + sh [13877]1.8ms + + + + + + + sh [13883]2.1ms + + + + + + + ethtool [13884]2.6ms + + + + + + + + sh [13885]2.6ms + + + + + + + ethtool [13886]3.2ms + + + + + + + + sh [13889]1.8ms + + + + + + + ethtool [13890]1.8ms + + + + + + + + sh [13895]2.1ms + + + + + + + ethtool [13896]2.8ms + + + + + + + + sh [13903]2.2ms + + + + + + + ethtool [13904]2.4ms + + + + + + + + sh [13909]1.8ms + + + + + + + ethtool [13910]2.2ms + + + + + + + + sh [13915]1.8ms + + + + + + + ethtool [13916]2.8ms + + + + + + + + sh [13919]1.8ms + + + + + + + ethtool [13920]1.4ms + + + + + + + + sh [13921]2.1ms + + + + + + + ethtool [13922]3.0ms + + + + + + + + sh [13925]1.9ms + + + + + + + ethtool [13926]1.4ms + + + + + + + + sh [13927]2.1ms + + + + + + + ethtool [13928]3.1ms + + + + + + + + sh [13931]2.1ms + + + + + + + ethtool [13932]2.3ms + + + + + + + + sh [13937]2.2ms + + + + + + + ethtool [13938]2.3ms + + + + + + + + sh [13943]1.8ms + + + + + + + ethtool [13944]2.4ms + + + + + + + + sh [13953]4.8ms + + + + + + + sh [13955]1.9ms + + + + + + + ethtool [13956]2.9ms + + + + + + + + sh [13961]3.2ms + + + + + + + ethtool [13962]2.9ms + + + + + + + + sh [13973]3.2ms + + + + + + + ethtool [13974]2.8ms + + + + + + + + sh [13979]2.1ms + + + + + + + ethtool [13980]2.9ms + + + + + + + + sh [13985]2.4ms + + + + + + + + + sh [13991]2.3ms + + + + + + + + + ethtool [13992]7.4ms + + + + + + + + sh [13997]2.3ms + + + + + + + ethtool [13998]2.7ms + + + + + + + + sh [14003]2.8ms + + + + + + + ethtool [14004]1.9ms + + + + + + + + sh [14009]2.4ms + + + + + + + sh [14015]4.2ms + + + + + + + sh [14017]2.2ms + + + + + + + + + + sh [14029]2.6ms + + + + + + + ethtool [14030]2.8ms + + + + + + + + sh [14035]2.2ms + + + + + + + + sh [14051]2.2ms + + + + + + + sh [14059]2.1ms + + + + + + + ethtool [14060]3.0ms + + + + + + + + sh [14063]3.5ms + + + + + + + sh [14071]3.4ms + + + + + + + ethtool [14072]3.1ms + + + + + + + + sh [14077]2.4ms + + + + + + + ethtool [14078]2.7ms + + + + + + + + sh [14083]2.3ms + + + + + + + ethtool [14084]2.9ms + + + + + + + + sh [14089]2.1ms + + + + + + + ethtool [14090]3.1ms + + + + + + + + sh [14095]2.4ms + + + + + + + + + sh [14101]2.4ms + + + + + + + ethtool [14102]3.4ms + + + + + + + + sh [14115]2.4ms + + + + + + + + + sh [14121]2.3ms + + + + + + + + + sh [14127]2.2ms + + + + + + + + + sh [14133]2.0ms + + + + + + + ethtool [14134]3.0ms + + + + + + + + sh [14139]2.3ms + + + + + + + ethtool [14140]2.8ms + + + + + + + + sh [14150]2.3ms + + + + + + + ethtool [14151]2.7ms + + + + + + + + sh [14152]2.4ms + + + + + + + ethtool [14153]2.3ms + + + + + + + + sh [14166]2.2ms + + + + + + + ethtool [14167]2.6ms + + + + + + + + sh [14174]2.3ms + + + + + + + ethtool [14175]2.9ms + + + + + + + + sh [14180]2.3ms + + + + + + + ethtool [14181]3.0ms + + + + + + + + sh [14185]2.3ms + + + + + + + ethtool [14186]3.0ms + + + + + + + + sh [14189]2.5ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ethtool [14190]875.6ms + + + + + + + + sh [14191]3.6ms + + + + + + + ethtool [14192]2.7ms + + + + + + + + sh [14195]1.6ms + + + + + + + ethtool [14196]6.6ms + + + + + + + + sh [14197]2.2ms + + + + + + + ethtool [14198]2.6ms + + + + + + + + sh [14199]2.4ms + + + + + + + ethtool [14200]4.2ms + + + + + + + + sh [14205]2.1ms + + + + + + + ethtool [14206]2.2ms + + + + + + + + sh [14211]1.8ms + + + + + + + ethtool [14212]2.4ms + + + + + + + + sh [14223]2.7ms + + + + + + + ethtool [14224]2.7ms + + + + + + + + sh [14229]2.0ms + + + + + + + ethtool [14230]2.6ms + + + + + + + + sh [14239]3.2ms + + + + + + + sh [14245]2.8ms + + + + + + + sh [14247]2.0ms + + + + + + + ethtool [14248]2.9ms + + + + + + + + sh [14251]2.1ms + + + + + + + ethtool [14252]2.3ms + + + + + + + + sh [14257]1.8ms + + + + + + + ethtool [14258]1.8ms + + + + + + + + sh [14263]2.1ms + + + + + + + ethtool [14264]2.0ms + + + + + + + + sh [14269]1.9ms + + + + + + + ethtool [14270]2.7ms + + + + + + + + sh [14275]2.2ms + + + + + + + ethtool [14276]3.0ms + + + + + + + + sh [14279]2.0ms + + + + + + + sh [14281]2.0ms + + + + + + + ethtool [14282]3.1ms + + + + + + + + sh [14285]2.3ms + + + + + + + sh [14287]2.0ms + + + + + + + ethtool [14288]3.2ms + + + + + + + + sh [14291]2.0ms + + + + + + + ethtool [14292]2.5ms + + + + + + + + sh [14293]2.4ms + + + + + + + + + sh [14297]2.2ms + + + + + + + ethtool [14298]1.8ms + + + + + + + + sh [14305]4.0ms + + + + + + + ethtool [14306]2.9ms + + + + + + + + sh [14311]2.1ms + + + + + + + ethtool [14312]3.0ms + + + + + + + + sh [14317]2.1ms + + + + + + + ethtool [14318]2.8ms + + + + + + + + sh [14321]2.0ms + + + + + + + sh [14323]2.3ms + + + + + + + ethtool [14324]3.2ms + + + + + + + + sh [14327]2.3ms + + + + + + + ethtool [14328]2.2ms + + + + + + + + sh [14333]1.9ms + + + + + + + ethtool [14334]2.5ms + + + + + + + + sh [14339]2.2ms + + + + + + + ethtool [14340]2.7ms + + + + + + + + sh [14345]2.1ms + + + + + + + ethtool [14346]2.9ms + + + + + + + + sh [14354]1.7ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ethtool [14355]855.1ms + + + + + + + + sh [14360]1.6ms + + + + + + + + + ethtool [14361]6.8ms + + + + + + + + + sh [14370]2.4ms + + + + + + + ethtool [14371]3.8ms + + + + + + + + sh [14376]2.4ms + + + + + + + + + sh [14382]2.4ms + + + + + + + sh [14390]2.4ms + + + + + + + ethtool [14391]2.7ms + + + + + + + + sh [14398]2.4ms + + + + + + + + + sh [14404]2.3ms + + + + + + + ethtool [14405]2.7ms + + + + + + + + sh [14412]2.4ms + + + + + + + ethtool [14413]3.3ms + + + + + + + + sh [14418]2.3ms + + + + + + + ethtool [14419]2.6ms + + + + + + + + sh [14424]2.3ms + + + + + + + ethtool [14425]2.0ms + + + + + + + + sh [14426]2.3ms + + + + + + + sh [14430]2.2ms + + + + + + + ethtool [14431]2.0ms + + + + + + + + sh [14436]2.1ms + + + + + + + ethtool [14437]2.6ms + + + + + + + + sh [14442]1.7ms + + + + + + + ethtool [14443]2.5ms + + + + + + + + sh [14448]1.8ms + + + + + + + ethtool [14449]3.1ms + + + + + + + + sh [14452]1.8ms + + + + + + + ethtool [14453]1.5ms + + + + + + + + sh [14458]1.8ms + + + + + + + ethtool [14459]1.5ms + + + + + + + + sh [14460]1.8ms + + + + + + + ethtool [14461]3.1ms + + + + + + + + sh [14464]2.1ms + + + + + + + ethtool [14465]2.2ms + + + + + + + + sh [14470]2.1ms + + + + + + + sh [14476]2.3ms + + + + + + + ethtool [14477]2.3ms + + + + + + + + sh [14482]2.0ms + + + + + + + ethtool [14483]2.6ms + + + + + + + + sh [14488]2.1ms + + + + + + + ethtool [14489]2.8ms + + + + + + + + sh [14494]2.1ms + + + + + + + ethtool [14495]3.0ms + + + + + + + + sh [14498]2.3ms + + + + + + + sh [14500]2.1ms + + + + + + + ethtool [14501]3.2ms + + + + + + + + sh [14504]2.3ms + + + + + + + sh [14506]2.4ms + + + + + + + ethtool [14507]3.2ms + + + + + + + + sh [14510]2.3ms + + + + + + + sh [14515]2.3ms + + + + + + + ethtool [14516]2.4ms + + + + + + + + sh [14521]2.0ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ethtool [14522]882.1ms + + + + + + + + sh [14527]2.1ms + + + + + + + + + ethtool [14528]8.1ms + + + + + + + + sh [14539]3.5ms + + + + + + + ethtool [14540]2.0ms + + + + + + + + sh [14545]2.4ms + + + + + + + ethtool [14546]2.2ms + + + + + + + + sh [14551]2.4ms + + + + + + + ethtool [14552]2.6ms + + + + + + + + sh [14557]2.0ms + + + + + + + ethtool [14558]2.2ms + + + + + + + + sh [14563]2.3ms + + + + + + + ethtool [14564]2.9ms + + + + + + + + sh [14569]2.4ms + + + + + + + ethtool [14570]2.7ms + + + + + + + + sh [14575]3.2ms + + + + + + + ethtool [14576]2.2ms + + + + + + + + sh [14581]2.4ms + + + + + + + ethtool [14582]2.3ms + + + + + + + + sh [14587]2.0ms + + + + + + + ethtool [14588]2.8ms + + + + + + + + sh [14593]4.0ms + + + + + + + ethtool [14594]2.2ms + + + + + + + + sh [14599]2.3ms + + + + + + + ethtool [14600]2.6ms + + + + + + + + sh [14605]1.9ms + + + + + + + ethtool [14606]3.1ms + + + + + + + + sh [14611]2.2ms + + + + + + + sh [14615]2.3ms + + + + + + + sh [14617]2.3ms + + + + + + + ethtool [14618]3.1ms + + + + + + + + sh [14623]2.6ms + + + + + + + ethtool [14624]2.7ms + + + + + + + + sh [14629]2.3ms + + + + + + + ethtool [14630]2.3ms + + + + + + + + sh [14635]2.0ms + + + + + + + ethtool [14636]2.3ms + + + + + + + + sh [14647]2.3ms + + + + + + + + + sh [14653]2.0ms + + + + + + + ethtool [14654]2.6ms + + + + + + + + sh [14659]2.4ms + + + + + + + ethtool [14660]2.9ms + + + + + + + + sh [14665]2.1ms + + + + + + + ethtool [14666]2.6ms + + + + + + + + sh [14671]3.2ms + + + + + + + ethtool [14672]1.8ms + + + + + + + + sh [14673]2.4ms + + + + + + + sh [14677]2.3ms + + + + + + + ethtool [14678]2.1ms + + + + + + + + sh [14679]2.3ms + + + + + + + ethtool [14680]3.2ms + + + + + + + + sh [14681]2.4ms + + + + + + + ethtool [14682]4.8ms + + + + + + + + sh [14685]2.3ms + + + + + + + + ethtool [14686]3.3ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + python3 [8317]685.6ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + python3 [8319]576.0ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + python3 [8321]620.6ms + + + + + + + + + + + + + + + + + + + + + + + + + + + python3 [8323]185.5ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pcied [8322]656.0ms + + + + + + + + + + + + + + + + + sensord [8339]47.8ms + + + + + + + + runc [8826]14.3ms + + + + + + + + + + + + + + + + + supervisorctl [8846]168.5ms + + + + + + + + + + + + + + + + supervisorctl [11928]164.5ms + + + + + + + + pmon.sh [7355]6.8ms + + + + + + + + + + + + + + + + + + + + + python3 [7366]256.5ms + + + + + + + + lldp.sh [7372]10.5ms + + + + + + + lldp.sh [7376]8.5ms + + + + + + + + + + + docker [7384]39.2ms + + + + + + + + lldp.sh [7408]1.1ms + + + + + + + python [7410]33.5ms + + + + + + + + + + + + + + + + + + + + + + python3 [7417]279.9ms + + + + + + + + + + + + containerd-shim [7437]44.1ms + + + + + + + runc [7447]19.4ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + supervisord [7458]434.8ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sonic-cfggen [7484]439.5ms + + + + + + + + + + + + + + + + + + + + + + + python3 [8220]247.3ms + + + + + + + + + + + python3 [8221]110.5ms + + + + + + + rsyslogd [8233]13.2ms + + + + + + + + runc [8782]14.5ms + + + + + + + + + + + + + + + + + supervisorctl [8791]217.6ms + + + + + + + runc [11886]15.3ms + + + + + + + + + + + + + + + + + + supervisorctl [11895]204.5ms + + + + + + + + radv.sh [7496]5.6ms + + + + + + + radv.sh [7504]4.2ms + + + + + + + + + + + + + + + + + + + + + + + + python3 [7506]282.8ms + + + + + + + + + + + + containerd-shim [7520]46.2ms + + + + + + + + + runc [7531]18.2ms + + + + + + + 7 [7542]6.4ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + supervisord [7557]464.0ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sonic-cfggen [7603]457.6ms + + + + + + + + + + + + + + + + + + + + + + + python3 [8225]258.9ms + + + + + + + + + + + + + + + python3 [8226]172.4ms + + + + + + + rsyslogd [8241]11.8ms + + + + + + + bash [8302]8.9ms + + + + + + + + bash [8303]1.4ms + + + + + + + + + + + + + + + + + + supervisorctl [8304]204.9ms + + + + + + + grep [8305]2.2ms + + + + + + + + runc [8708]15.3ms + + + + + + + + + + + + + + + supervisorctl [8717]181.1ms + + + + + + + runc [11827]13.5ms + + + + + + + + + + + + + + + + + supervisorctl [11836]222.8ms + + + + + + + + + + + + containerd-shim [7570]52.5ms + + + + + + + runc [7582]17.5ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + supervisord [7607]718.2ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sonic-cfggen [7629]432.0ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + python3 [8223]486.6ms + + + + + + + + + + + + + python3 [8224]168.0ms + + + + + + + rsyslogd [8237]32.3ms + + + + + + + bash [8306]7.5ms + + + + + + + + + + + + + + + + + + + + + sonic-cfggen [8307]281.0ms + + + + + + + + + + lldpd [8310]45.2ms + + + + + + + lldpcli [8311]8.1ms + + + + + + + + + + + + + + + + + + + + + lldpd [8312]106.6ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + python3 [8330]402.2ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + python3 [8342]226.7ms + + + + + + + + runc [7616]11.2ms + + + + + + + runc [8748]12.5ms + + + + + + + + + + + + + + + supervisorctl [8757]171.1ms + + + + + + + runc [11856]15.6ms + + + + + + + + + + + + + + + + + + supervisorctl [11865]200.6ms + + + + + + + + dhcp_relay.sh [7628]9.2ms + + + + + + + + + + + + + sonic-db-cli [7631]119.9ms + + + + + + + + + + + + + + + sonic-db-cli [7698]130.5ms + + + + + + + + + + + + + sonic-db-cli [7712]126.3ms + + + + + + + dhcp_relay.sh [7771]5.8ms + + + + + + + + + + + + + + + + + + + + + + python3 [7777]314.2ms + + + + + + + + lldp.sh [7649]6.5ms + + + + + + + lldp.sh [7653]6.1ms + + + + + + + + + + + + + + + + + + + + + + + + python3 [7656]334.5ms + + + + + + + + ntp-config.sh [7651]7.8ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sonic-cfggen [7657]456.9ms + + + + + + + + + + + sonic-db-cli [7804]101.1ms + + + + + + + + + + + sonic-db-cli [7913]119.1ms + + + + + + + + ntp-systemd-wra [8064]7.2ms + + + + + + + + + + + + + + + + + + + sonic-cfggen [8083]241.6ms + + + + + + + + + + + + + + + + + + + sonic-cfggen [8196]248.1ms + + + + + + + + ntpd [8206]22.5ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + hostcfgd [10501]288.9ms + + + + + + + + sudo [10534]1.7ms + + + + + + + + sh [10548]1.0ms + + + + + + + sudo [10549]7.0ms + + + + + + + + systemctl [10552]8.5ms + + + + + + + + sh [10590]1.1ms + + + + + + + + + sudo [10591]6.3ms + + + + + + + + systemctl [10592]9.6ms + + + + + + + + sh [10627]1.3ms + + + + + + + sudo [10628]10.1ms + + + + + + + + systemctl [10629]7.0ms + + + + + + + + sh [10644]1.3ms + + + + + + + sudo [10645]6.4ms + + + + + + + + + + systemctl [10646]12.2ms + + + + + + + + + sudo [10673]1.5ms + + + + + + + + + sudo [10678]5.7ms + + + + + + + + + sudo [10693]5.9ms + + + + + + + + + sudo [10703]1.4ms + + + + + + + + + sudo [10713]5.7ms + + + + + + + + systemctl [10716]8.6ms + + + + + + + + + sudo [10750]5.6ms + + + + + + + + systemctl [10753]6.3ms + + + + + + + + sh [10813]1.1ms + + + + + + + service [10814]3.3ms + + + + + + + + + + systemctl [10818]1.5ms + + + + + + + + + sh [10880]1.1ms + + + + + + + + systemctl [10881]1.9ms + + + + + + + + + + + + aaastatsd [10502]86.6ms + + + + + + + process-reboot- [10503]34.3ms + + + + + + + (sd-executor) [10756]5.0ms + + + + + + + systemd-cryptse [10758]6.7ms + + + + + + + systemd-debug-g [10759]6.5ms + + + + + + + systemd-getty-g [10761]6.6ms + + + + + + + systemd-rc-loca [10764]6.3ms + + + + + + + systemd-sonic-g [10766]2.3ms + + + + + + + systemd-system- [10767]5.1ms + + + + + + + systemd-sysv-ge [10768]6.1ms + + + + + + + systemd-veritys [10769]7.0ms + + + + + + + + ntp-config.sh [10882]4.5ms + + + + + + + + + + + + + + + + + sonic-cfggen [10883]205.0ms + + + + + + + + + sonic-db-cli [10904]80.3ms + + + + + + + + + sonic-db-cli [10911]76.9ms + + + + + + + + ntp-systemd-wra [10926]5.5ms + + + + + + + + + + + + + + + + + + + + + + + sonic-cfggen [10933]301.4ms + + + + + + + + + + + + + + + + + + + sonic-cfggen [10934]277.1ms + + + + + + + + ntpd [10936]8.8ms + + + + + + +16.1s + + + +Bootchart for r-ocelot-02 - Wed, 04 May 2022 13:25:47 +0000 +System: Linux 5.10.0-8-2-amd64 #1 SMP Debian 5.10.46-4 (2021-08-03) x86_64 +CPU: Intel(R) Xeon(R) CPU D-1527 @ 2.20GHz +Boot options: BOOT_IMAGE=/image-systemd-bootchart.0-dirty-20220504.143906/boot/vmlinuz-5.10.0-8-2-amd64 root=UUID=0eafb6b8-ebdd-4f07-bb18-e880e504bae7 rw console=tty0 console=ttyS0,9600n8 quiet intel_idle.max_cstate=0 net.ifnames=0 biosdevname=0 loop=image-systemd-bootchart.0-dirty-20220504.143906/fs.squashfs loopfstype=squashfs systemd.unified_cgroup_hierarchy=0 apparmor=1 security=apparmor varlog_size=4096 usbcore.autosuspend=-1 +Build: Debian GNU/Linux 11 (bullseye) +Log start time: 3.189s +Idle time: 16.082s +Graph data: 25.000 samples/sec, recorded 4500 total, dropped 1 samples, 12511 processes, 399 filtered + + + +Top CPU consumers: +48965.5ms - systemd-bootcha [334] +6351.8ms - python3 [8315] +5081.6ms - redis-server [4689] +2555.9ms - rasdaemon [610] +2512.8ms - supervisord [5300] +2196.4ms - syncd [8249] +1952.4ms - python3 [6367] +1923.4ms - depmod [797] +1114.0ms - orchagent [6426] +1038.7ms - systemd-udevd [356] + + + + diff --git a/doc/profiling/sonic_bootchart.md b/doc/profiling/sonic_bootchart.md new file mode 100755 index 0000000000..aee21d21e0 --- /dev/null +++ b/doc/profiling/sonic_bootchart.md @@ -0,0 +1,231 @@ + +# SONiC Boot Chart # + + +## Table of Content + +- [Revision](#revision) +- [Scope](#scope) +- [Definitions/Abbreviations](#definitionsabbreviations) +- [Overview](#overview) +- [Requirements](#requirements) +- [Architecture Design](#architecture-design) +- [High-Level Design](#high-level-design) +- [SAI API](#sai-api) +- [Configuration and management](#configuration-and-management) + - [Manifest (if the feature is an Application Extension)](#manifest-if-the-feature-is-an-application-extension) + - [CLI/YANG model Enhancements](#cliyang-model-enhancements) + - [Config DB Enhancements](#config-db-enhancements) +- [Warmboot and Fastboot Design Impact](#warmboot-and-fastboot-design-impact) +- [Restrictions/Limitations](#restrictionslimitations) +- [Testing Requirements/Design](#testing-requirementsdesign) + - [Unit Test cases](#unit-test-cases) + - [System Test cases](#system-test-cases) +- [Open/Action items](#openaction-items) + +### Revision + +### Scope + +SONiC OS is highly modular and composible system, where every new feature is +often implemented as a new script, utility, daemon or docker container. A lot of +these components start at SONiC boot togather with respect to their dependencies +requirements. Majority of start scripts use short-living small utilities written +in python, bash or other scripting languages, invoke Jinja2 template generation. +This leads to potential boot time performance degradation that we need a tool to +detect and analyze. + +### Definitions/Abbreviations + +N/A + +### Overview + +This document describes an integration of one of systemd tools called +*systemd-bootchart*. This tool is a sampling based system profiler that is used +to analyze boot up performance but not limited to and can be used to collect +samples after the system is booted. The output produced by systemd-bootchart is +an SVG image that looks like this: + +

+Figure 1. Bootchart example +

+ +### Requirements + +- Integrate systemd-bootchart with SONiC OS +- systemd-bootchart is by default installed in the system +- systemd-bootchart is by default disabled and user need to enable it via CLI +- SONiC CLI tool to interact with systemd-bootchart +- Support commands to enable/disable systemd-bootchart +- Configure the amount of samples to collect and frequency +- Displaying systemd-bootchart configuration and generated SVG plots + +### Architecture Design + +N/A + +### High-Level Design + +SONiC build system includes a new build-time flag to INCLUDE_BOOTCHART (y/n). +When this flag is set a *systemd-bootchart* debian package is installed in SONiC +host from upstream debian repositories (Installed size 128 KB). + +Example INCLUDE_BOOTCHART flag usage: + +Include bootchart: +``` +make INCLUDE_BOOTCHART=y target/sonic-mellanox.bin +``` + +Do not include bootchart: +``` +make INCLUDE_BOOTCHART=n target/sonic-mellanox.bin +``` + +SONiC provides a default configuration for bootchart located at +/etc/systemd/bootchart.conf: + +```ini +[Bootchart] +Samples=4500 +Frequency=25 +``` + +This configuration means that samples are collected for 3 minutes of uptime with +a frequency of 25 samples per second. + +SONiC utilities is extendeded with a new script under *scripts/* to include a +new utility *sonic-bootchart*. + +Also a flag added to the build incdicating default status: + +``` +ENABLE_BOOTCHART=y +``` + +### SAI API + +N/A + +### Configuration and management + +*sonic-bootchart* is a standalone utility, like *sonic-kdump-config*, +**sonic-installer*, etc. + +Command line interface: + +``` +admin@sonic:~$ sudo sonic-bootchart +Usage: sonic-bootchart [OPTIONS] COMMAND [ARGS]... + + Main CLI group + +Options: + --help Show this message and exit. + +Commands: + config Configure bootchart NOTE: This command requires elevated (root)... + disable Disable bootchart NOTE: This command requires elevated (root)... + enable Enable bootchart NOTE: This command requires elevated (root)... + show Display bootchart configuration +``` + +Enable/Disable bootchart: + +``` +admin@sonic:~$ sudo sonic-bootchart enable +Running command: systemctl enable systemd-bootchart +admin@sonic:~$ sudo sonic-bootchart disable +Running command: systemctl disable systemd-bootchart +``` + +In case image is built without bootchart included (INCLUDE_BOOTCHART=n) +sonic-bootchart will print an error: + +``` +admin@sonic:~$ sudo sonic-bootchart enable +systemd-bootchart is not installed +``` + +Once bootchart is enabled a systemd-bootchart.service is enabled in systemd +which starts a daemon early at boot that collects samples. This setting is +permanent, meaning, after it is enabled, bootchart will always run at boot until +disabled, *config save*, *config reload* do not affect this setting. + + +Update configuration example: + +``` +admin@sonic:~$ sudo sonic-bootchart config --time-span 50 --frequency 10 +``` + +This command will update /etc/systemd/bootchart.conf. The next time bootchart +will run (at system start after reboot) it will take the new values. +*systemd-bootchart* saves the plots to a temporary directory /run/log that is +*flushed after reboot. + +Displaying configuration, operational status and output SVG plots: + +``` +admin@sonic:~$ sudo sonic-bootchart show +Status Operational Status Frequency Time Span (sec) Output +-------- -------------------- ----------- ---------------- ------------------------------------ +enabled in-active 10 50 /run/log/bootchart-20220504-1325.svg +``` + +Fields description: + +| Field | Comment | +| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------- | +| Status | Output of "systemctl is-enabled systemd-bootchart". Shows whether this service is configured to start at boot (enabled/disabled) | +| Operational Status | Output of "systemctl is-action systemd-bootchart". Shows whether this service is currently collecting samples (active/in-active) | +| Frequency | How frequent to collect samples per second | +| Time Span | The time how long after boot samples will be collected. Based on it the samples count is calculated as Frequency x Time Span | +| Output | If systemd-bootchart finished collecting samples (in-active) this column will display resulting plots, otherwise this column is empty | + + +Usage example: + +- First make sure you have SONiC image built with INCLUDE_BOOTCHART=y +- Enable bootchart: "sudo sonic-bootchart enable" +- Perform any kind of reboot: "sudo reboot" or "sudo warm-reboot" or "sudo +fast-reboot" + - Wait till system reboots and the plot is generated by quering +"sudo sonic-bootchart show" + +#### Manifest (if the feature is an Application Extension) + +N/A + +#### CLI/YANG model Enhancements + +N/A + +#### Config DB Enhancements + +N/A + +### Warmboot and Fastboot Design Impact +N/A + +### Restrictions/Limitations + +### Testing Requirements/Design +N/A + +#### Unit Test cases + +Cover CLI with UT for: + - enabling bootchart + - disabling bootchart + - config/show commands + +#### System Test cases + +N/A + +### Open/Action items + +- SONiC installer bootchart config migration. Being able to run this tool for reboot with SONiC-2-SONiC upgrade +- Requested a possibility to run the tool in runtime after boot diff --git a/doc/qos/reclaim-reserved-buffer.md b/doc/qos/reclaim-reserved-buffer.md index dd6e8d8791..f2b5df0dbb 100644 --- a/doc/qos/reclaim-reserved-buffer.md +++ b/doc/qos/reclaim-reserved-buffer.md @@ -166,6 +166,7 @@ The following snippet of code is to generate `PORT_INACTIVE` which contains all They need to be moved from the middle of `buffer_template.j2` to the place just before the vendor specific template is imported, so that the vendor specific template has access to `PORT_INACTIVE`. ```json +{% raw %} # ignore this line please {%- set PORT_ALL = [] %} {%- if PORT is not defined %} @@ -192,16 +193,19 @@ They need to be moved from the middle of `buffer_template.j2` to the place just {# Import default values from device HWSKU folder #} {%- import 'buffers_defaults_%s.j2' % filename_postfix as defs with context %} +{% endraw %} # ignore this line please ``` The vairable `port_names_inactive` also need to be generated by the following snipped of code. ```json +{% raw %} # ignore this line please {%- set port_names_list_inactive = [] %} {%- for port in PORT_INACTIVE %} {%- if port_names_list_inactive.append(port) %}{%- endif %} {%- endfor %} {%- set port_names_inactive = port_names_list_inactive | join(',') %} +{% endraw %} # ignore this line please ``` ##### 7.1.1.2 Macro to generate buffer pool and profiles ##### @@ -211,6 +215,7 @@ Zero buffer profiles should be defined for ingress/egress and lossless/lossy tra This macro is defined in vendor specific buffer template files. ```json +{% raw %} # ignore this line please {%- macro generate_buffer_pool_and_profiles() %} "BUFFER_POOL": { {%- if dynamic_mode is not defined and PORT_INACTIVE is defined and PORT_INACTIVE|length > 0 %} @@ -302,6 +307,7 @@ This macro is defined in vendor specific buffer template files. } }, {%- endmacro %} +{% endraw %} # ignore this line please ``` ##### 7.1.1.3 Macro to apply zero buffer profiles to inactive ports ##### @@ -321,6 +327,7 @@ These macros are defined in vendor specific buffer template files. generate_profile_lists_with_inactive_ports: ```json +{% raw %} # ignore this line please {%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %} "BUFFER_PORT_INGRESS_PROFILE_LIST": { {% for port in port_names_active.split(',') %} @@ -365,11 +372,13 @@ generate_profile_lists_with_inactive_ports: {% endif %} } {%- endmacro %} +{% endraw %} # ignore this line please ``` generate_pg_profiles_with_inactive_ports: ```json +{% raw %} # ignore this line please {%- macro generate_pg_profiles(port_names_active, port_names_inactive) %} "BUFFER_PG": { {% for port in port_names_active.split(',') %} @@ -403,11 +412,13 @@ generate_pg_profiles_with_inactive_ports: {% endif %} } {%- endmacro %} +{% endraw %} # ignore this line please ``` generate_queue_buffers_with_inactive_ports: ```json +{% raw %} # ignore this line please {%- macro generate_queue_buffers(port_names_active, port_names_inactive) %} "BUFFER_QUEUE": { {% for port in port_names_active.split(',') %} @@ -466,6 +477,7 @@ generate_queue_buffers_with_inactive_ports: {% endif %} } {%- endmacro %} +{% endraw %} # ignore this line please ``` Assume port `Ethernet0` is admin down, an example is: diff --git a/doc/qos/tunnel_dscp_remapping.md b/doc/qos/tunnel_dscp_remapping.md index c93e787c67..d20fc108cd 100644 --- a/doc/qos/tunnel_dscp_remapping.md +++ b/doc/qos/tunnel_dscp_remapping.md @@ -105,7 +105,7 @@ Before remapping to queue 2 and 6, both queues are required to be cleared. Hence "30": "1", "31": "1", "32": "1", - "33": "1", + "33": "2", // Original map "33" : "1" "34": "1", "35": "1", "36": "1", @@ -180,7 +180,7 @@ Before remapping to queue 2 and 6, both queues are required to be cleared. Hence "AZURE_TUNNEL": { "0": "8", "1": "0", - "2": "0", + "2": "33", "3": "2", "4": "6", "5": "46", diff --git a/doc/sfp-cmis/Interface-Link-bring-up-sequence.md b/doc/sfp-cmis/Interface-Link-bring-up-sequence.md index aef8958462..227c0d4176 100644 --- a/doc/sfp-cmis/Interface-Link-bring-up-sequence.md +++ b/doc/sfp-cmis/Interface-Link-bring-up-sequence.md @@ -23,8 +23,8 @@ Deterministic Approach for Interface Link bring-up sequence * [Table 2: References](#table-2-references) # Revision -| Rev | Date | Author | Change Description | -|:---:|:-----------:|:----------------------------------:|-----------------------------------| +| Rev | Date | Author | Change Description | +|:---:|:-----------:|:----------------------------------:|-------------------------------------| | 0.1 | 08/16/2021 | Shyam Kumar | Initial version | 0.2 | 12/13/2021 | Shyam Kumar, Jaganathan Anbalagan | Added uses-cases, workflows | 0.3 | 01/19/2022 | Shyam Kumar, Jaganathan Anbalagan | Addressed review-comments @@ -32,6 +32,8 @@ Deterministic Approach for Interface Link bring-up sequence | 0.5 | 01/28/2022 | Shyam Kumar, Jaganathan Anbalagan | Addressed further review-comments | 0.6 | 02/02/2022 | Shyam Kumar | Added feature-enablement workflow | 0.7 | 02/02/2022 | Jaganathan Anbalagan | Added Breakout Handling +| 0.8 | 02/16/2022 | Shyam Kumar | Updated feature-enablement workflow +| 0.9 | 04/05/2022 | Shyam Kumar | Addressed review comments | # About this Manual @@ -149,11 +151,18 @@ Please refer to the flow/sequence diagrams which covers the following required # Feature enablement This feature (optics Interface Link bring-up sequence) would be enabled on per platform basis. There could be cases where vendor(s)/platform(s) may take time to shift from existing codebase to the model (work-flows) described in this document. - In order to avoid any breakage and ensure gradual migration of different platforms/vendors to this model, there would be new field (flag) in xcvrd to enable/disable this feature. - When xcvrd spawns on LC/board, it would invoke platform plugin to check with the platform (hwsku) whether this feature is yet supported on underlying platform (board/LC) or not + In order to avoid any breakage and ensure gradual migration of different platforms/vendors to this model, will add this new workflow to enable/disable this feature: + + In order to enable this feature, the platform would set ‘skip_xcvrd_cmis_mgr’ to ‘false’ in their respective pmon_daemon_control.json as part of platform bootstrap. When xcvrd would spawn on that hwsku (LC/board), it would parse ‘skip_xcvrd_cmis_mgr’ and if found 'false', it would launch CMIS task manager. This implies enabling this feature. + +Else, if ‘skip_xcvrd_cmis_mgr’ is set/found 'true' by xcvrd, it would skip launching CMIS task manager and this feature would remain disabled. +If a platform/vendor does not specify/set ‘skip_xcvrd_cmis_mgr’, xcvrd would exercise the default workflow (i.e. when xcvrd detects QSFP-DD, it would luanch CMIS task manager and initialize the module per CMIS specification). + +Note: This feature flag (skip_xcvrd_cmis_mgr) was added as a flexibility in case vendor/platform intend to disable this feature and not use CMIS task manager. However, techinically, as mentioned in this document, that should not be the case. Workflow : - ![Enabling 'Interface link bring-up sequence' feature(3)](https://user-images.githubusercontent.com/69485234/152266723-050377ce-d4de-4c67-a405-5acc66474d46.png) + ![Enabling 'Interface link bring-up sequence' feature(2)](https://user-images.githubusercontent.com/69485234/154403945-654b49d7-e85f-4a7a-bb4d-e60a16b826a7.png) + # Transceiver Initialization diff --git a/doc/sonic-build-system/web_file_server_population_script.md b/doc/sonic-build-system/web_file_server_population_script.md new file mode 100644 index 0000000000..31c3806868 --- /dev/null +++ b/doc/sonic-build-system/web_file_server_population_script.md @@ -0,0 +1,129 @@ +# Web file server population script +  +  +## _Revision History_ + +Date | Description +----------- | ------------- +3/9/22 | First draft + + +## _Table of Contents_ + +1. [Overview](#Overview) + 1. [In scope](#subparagraph1) +2. [Download web packages from external file storage](#paragraph1) + 1. [Work Items](#subparagraph1) +3. [Upload web packages to trusted file storage](#paragraph2) + 1. [Work Items](#subparagraph1) +4. [User Input](#paragraph3) +5. [Script outputs](#paragraph4) +6. [Build flow integration](#paragraph5) +7. [Source tree location](#paragraph6) +8. [Q&A](#paragraph7) + + + +## Overview +The SONiC reproducible build framework provides a way to lock the versions of external packages. It will lock the versions for all the docker images including the slave docker images, host images, and docker slave containers which are used to build the SONiC targets, such as deb files, python wheels, etc. +SONiC reproducible build allows to identify specific version of a web package retrieved by wget/curl and download it from an external file storage. +The web site may be not stable, and the web packages may be replaced to another one unexpectedly, so we do not want to depend on the web packages at a remote web site. +Before a web package is used in the SONiC repository, the package should be uploaded to a trusted file storage. Currently SONiC offers to do that manually or automatically via Jenkins pipeline. +The file Server population script is a complementary utility for “SONiC reproducible build” and suppose to ease the process of downloading the web packages from an external file storage and uploading them to trusted file storage. +The script will be triggered manually or part of the build flow (part of “make freeze”) whenever the developer intend to populate the web server which packages associated to specific tag. + +### In scope: +- Download web packages from external file storage +- Rename and upload web packages to trusted file storage +- Script output + +## Download web packages from external file storage +The script will identify all relevant web packages, collect their hash value and url and then download them from the remote site to a local cache. +The script search over the source tree path recursively and look for ‘version-web’ files. +Those file are being parsed in order to retrieve the path to the package and its hash value. The script is expecting for such format: +[package url]==[hash value] + +```sh +For example: +https://storage.googleapis.com/golang/go1.14.2.linux-amd64.tar.gz==ebef065e4d35572af5b03e2be957a9c6c5063b38 +``` + +### Work Items: +- Identify relevant versions-web files +- Parse versions-web files and identify relevant web packages +- Download web packages from their external file storage + + +## Upload web packages to trusted file storage + +Although there is no version for a package downloaded by wget/curl, the hash value of the package file can be used as the version value. +The script would rename the Web package and then upload it from cache to a trusted file server. The file name format in the file storage is as below: +[original file name]-[hash value] +```sh +For an example: +go1.14.2.linux-amd64.tar.gz-ebef065e4d35572af5b03e2be957a9c6c5063b38 +``` +For the same web package, it supports to have multiple versions of the file in the file storage +for example: +```sh +For an example: +go1.14.2.linux-amd64.tar.gz-ebef065e4d35572af5b03e2be957a9c6c5063b38 +go1.14.2.linux-amd64.tar.gz-b73d6366c0bce441d20138c150e2ddcdf406e654 +``` +Same file name is used with different hash + +### Work Items: +- Rename web package +- Upload web package to trusted file storage +- Generate output version file (optional) + +## User Input: +The user would provide the script the following parameters: + +| Name | Description | Tag | Type | Default value | +|------------- |------------------------------------------------------------------------------------------------------------ |-------------- |--------- |------------------------------------ | +| source | Search path for source tree where to look for
compilation artifacts (version files) | -s, --source | String | CWD
(current working directory) | +| cache | Path for temporary storage where to download Web Packages | -c, --cache | String | CWD/tmp | +| output | Output file name to hold the list of packages.
The file will be created in the format of version files | -o, --output | String | none | +| print | Print level verbosity | -p, --print | integer | 1 (info level) | +| user | User for trusted server authentication | -u, --user | String | none | +| key | key server authentication | -k, --key | String | none | +| Destination | URL for destination web file server | -d, --dest | String | none | + + +## Script outputs: + +The script would print out to STDOUT its current download progress (progress bar) and error messages in case of errors. +The script can produce a list of packages that were uploaded in a format of version file. +The script would return 0 in case of success and an errors code (see table below) in case of failure. +### Error codes: + +Code | Description | Comments +------------ | -------------------------------------| ------------- + 0 | Success | +-1 | Cannot write to cache | +-2 | Cannot access trusted server | +-3 | Cannot authenticate trusted server | + + +## Build flow integration: +Script will be integrated into SONiC build environment as part of “make freeze” where invocation of the script is optional. User may choose to call script by defining following environment variables: + +```sh +export SONIC_REPRODUCABLE_BUILD_UPLAOD_ENABLE=1 +export SONIC_REPRODUCABLE_BUILD_UPLAOD_USER= +export SONIC_REPRODUCABLE_BUILD_UPLAOD_KEY= +export SONIC_REPRODUCABLE_BUILD_UPLAOD_DEST=< URL for destination web file server> +``` + +Another approach is to call the script manually and provide as an input the pat where the script would search for version files (version files which were generated as part of "make freeze" invocation or by previous invocation of the script). + +## Source tree location: + + The script will be located under +sonic-buildimage/scripts/populate_file_web_server.py + +## Q&A +Who should run this script? +When should user run this script? + diff --git a/doc/sonic-flags/control-sonic-behaviors-with-sonic-flags.md b/doc/sonic-flags/control-sonic-behaviors-with-sonic-flags.md new file mode 100644 index 0000000000..51015a5fe8 --- /dev/null +++ b/doc/sonic-flags/control-sonic-behaviors-with-sonic-flags.md @@ -0,0 +1,150 @@ +# Control SONiC behaviors with SYSTEM_DEFAULTS table + +## 1 Table of Content ### + +- [Revision](#11-revision) +- [Scope](#2-scope) +- [Definitions/Abbreviations](#3-definitionsabbreviations) +- [Overview](#4-overview) +- [Design](#5-design) +- [Change required](#6-change-required) +- [Test requirement](#7-test-requirement) + + +### 1.1 Revision ### +| Rev | Date | Author | Change Description | +|:---:|:-----------:|:------------------:|-----------------------------------| +| 0.1 | | Bing Wang | Initial version | + + +## 2 Scope ## + +This document covers high level design of `SYSTEM_DEFAULTS` table in SONiC. + +## 3 Definitions/Abbreviations ## + + +| Term | Meaning | +|:--------:|:---------------------------------------------:| +| | | + + +## 4 Overview + +A number of flags are required to turn on/off certain feature or control the behaviors of various features in SONiC. Currently, these flags are put into `DEVICE_METADATA` table. + +``` + "DEVICE_METADATA": { + "localhost": { + "default_bgp_status": "down", + "default_pfcwd_status": "enable", + "synchronous_mode": "enable", + "dhcp_server": "enable" + } + } +``` +As a result, the `DEVICE_METADATA` table is inflating rapidly as we are having more and more flags, although these flags seem not to be categorized into `DEVICE_METADATA` + +To have a better management of the flags, a new table `SYSTEM_DEFAULTS` is introduced in this design. + +## 5 Design ## + +### 5.1 DB Schema + +A new table `SYSTEM_DEFAULTS` is added into config_db. +``` + key = SYSTEM_DEFAULTS|feature_name; feature name must bt unique + + ;field = value + status = 1*255VCHAR ; The value is a string, which can be 'enable'/'disable', 'down'/'up' or any string. + custom_field = 1*255VCHAR ; The name of custom_field can be any custom string. +``` +Below is a sample of `SYSTEM_DEFAULTS` table + +``` +"SYSTEM_DEFAULTS": { + "tunnel_qos_remap": { + "status": "enabled" + } + "default_bgp_status": { + "status": "down" + } + "synchronous_mode": { + "status": "enable" + } + "dhcp_server": { + "status": "enable" + } + } +``` + +### 5.2 How to update flags in `SYSTEM_DEFAULTS` table + +#### 5.2.1 Set default value with `init_cfg.json` + +The default value of flags in `SYSTEM_DEFAULTS` table can be set in `init_cfg.json` and loaded into db at system startup. These flags are usually set at image being build, and are unlikely to change at runtime. +If the values in `config_db.json` is changed by user, it will not be rewritten back by `init_cfg.json` as `config_db.json` is loaded after `init_cfg.json` in [docker_image_ctl.j2](https://github.com/Azure/sonic-buildimage/blob/master/files/build_templates/docker_image_ctl.j2) + +``` +if [ -r /etc/sonic/config_db$DEV.json ]; then + if [ -r /etc/sonic/init_cfg.json ]; then + $SONIC_CFGGEN -j /etc/sonic/init_cfg.json -j /etc/sonic/config_db$DEV.json --write-to-db + else + $SONIC_CFGGEN -j /etc/sonic/config_db$DEV.json --write-to-db + fi +fi +``` +For example, the value of `default_bgp_status` is down in `init_cfg.json` if `shutdown_bgp_on_start` is set to `y` when image is being built. If we modify the value of `default_bgp_status` in `config_db.json` to `up`, it will keep `up`. +#### 5.2.2 Parse from `minigraph.xml` when loading minigraph + +For the flags that can be changed by reconfiguration, we can update entries in `minigraph.xml`, and parse the new values in to config_db with minigraph parser at reloading minigraph. +For example, to turn on/off the `tunnel_qos_remap` feature, a new section will be defined in `minigraph.xml` + +``` + + + + TunnelQosRemapEnabled + True + + + +``` +The new section will be parsed by `minigraph.py`, and the parsed value will be merged with the values defined in `init_cfg.json`, and finally written into `config_db`. If there are duplicated entries in `init_cfg.json` and `minigraph.xml`, the values in `minigraph.xml` will overwritten the values defined in `init_cfg.json`. +#### 5.2.3 Update value directly in db memory +For some behavior change, we may don't have to interrupt dataplane. To support controlling SONiC behavior on-the-fly, we can update the value of flags in memory with tools like `sonic-cfggen`, `configlet` or `config apply-patch`. + +### 5.3 How to consume flags in `SYSTEM_DEFAULTS` table + +#### 5.3.1 Consume at service startup or reload +All of the flags in `SYSTEM_DEFAULTS` table can be consumed at service startup or reload as we do now. We can use the flags to render templates or control the running path of code. + +#### 5.3.2 Consume on-the-fly without interrupting traffic +The `SYSTEM_DEFAULTS` table can be subscribed by components that are interested on the flags. Hence, the in-memory change of flags will be consumed by running service, and take effect without reloading if possible. + +## 6 Change required ## +### 6.1 Template update +1. Templates that generate default values in `DEVICE_METADATA|localhost` table are required to be updated. The generated flags will be put into `SYSTEM_DEFAULTS` table now. +2. Templates that depend on `DEVICE_METADATA|localhost` table are required to be updated. + +### 6.2 Yang model update +A new Yang model is to be added to restrict the valid flags in `SYSTEM_DEFAULTS` table. The existing entries for flags in current [sonic-device_metadata.yang](https://github.com/Azure/sonic-buildimage/blob/master/src/sonic-yang-models/yang-models/sonic-device_metadata.yang) are to be removed. + +### 6.3 Code change +1. Update `db_migrator.py` to migrate flags from `DEVICE_METADATA|localhost` table to `SYSTEM_DEFAULTS` table. Current flags include + +|Flag|Source| +|--|--| +|default_bgp_status| From init_cfg.json, the value is determined by option shutdown_bgp_on_start when image being built| +|default_pfcwd_status|From init_cfg.json, the value is determined by option enable_pfcwd_on_start when image being built| +|synchronous_mode|From init_cfg.json, the value is determined by option include_p4rt when image being built| +|buffer_model|From init_cfg.json, the value is determined by option default_buffer_model when image being built| +|dhcp_server| Parse from minigraph.xml| + + +2. Add code to subscribe `SYSTEM_DEFAULTS` table to get the update notification for components that is interested in the `SYSTEM_DEFAULTS` change. Currently, all orchs and daemons don't support changing flag controlled behaviors without restarting service, so no code change is required for existing components. + +## 7 Test requirement +TBA + + diff --git a/doc/subport/sonic-sub-port-intf-hld.md b/doc/subport/sonic-sub-port-intf-hld.md index 1e0ad3f4bd..cf5db32ec9 100644 --- a/doc/subport/sonic-sub-port-intf-hld.md +++ b/doc/subport/sonic-sub-port-intf-hld.md @@ -172,7 +172,7 @@ Example configuration: "Ethernet0.100|192.0.0.1/21": {}, "Ethernet0.100|fc0a::/112": {} "Eth64.10": { - “vlan” : 100, + "vlan" : 100, "admin_status" : "up" }, "Eth64.10|192.168.0.1/21": {}, diff --git a/doc/syslog/images/ssip_add_flow.svg b/doc/syslog/images/ssip_add_flow.svg new file mode 100755 index 0000000000..bac8e8a70a --- /dev/null +++ b/doc/syslog/images/ssip_add_flow.svg @@ -0,0 +1,232 @@ + + + + + ssip add flow + + + + + + + + + + + + + + + + + + + Page-7 + + Actor lifeline.1378 + config- db + + Sheet.1046 + + + + Sheet.1047 + + + + Sheet.1048 + + + Sheet.1049 + + + + + config- db + + + Object lifeline.1383 + rsyslog-config + + Sheet.1051 + + + + Sheet.1052 + + + + Sheet.1053 + + + Sheet.1054 + + + + + rsyslog-config + + + Object lifeline.1388 + rsyslog + + Sheet.1056 + + + + Sheet.1057 + + + + Sheet.1058 + + + Sheet.1059 + + + + + rsyslog + + + Actor lifeline.1087 + CLI + + Sheet.1061 + + + + Sheet.1062 + + + + Sheet.1063 + + + Sheet.1064 + + + + + CLI + + + Activation.1098 + + + + Self Message.1099 + process data + + + process data + + Activation.1102 + + + + Self Message.1103 + add syslog server + + + add syslog server + + Activation.1104 + + + + Message.1105 + HMSET SYSLOG_SERVER|key + + + HMSET SYSLOG_SERVER|key + + Activation.1106 + + + + Return Message.1107 + + + + Activation.1162 + + + + Message.1165 + systemctl restart rsyslog-config + + + systemctl restart rsyslog-config + + Return Message.1167 + + + + Activation.1188 + + + + Self Message.1189 + generate rsyslogd config + + + generate rsyslogd config + + Activation.1190 + + + + Message.1191 + HGETALL SYSLOG_SERVER|key + + + HGETALL SYSLOG_SERVER|key + + Activation.1192 + + + + Return Message.1193 + + + + Activation.1196 + + + + Message.1198 + systemctl restart rsyslog + + + systemctl restart rsyslog + + Return Message.1199 + + + + Activation.1200 + + + + diff --git a/doc/syslog/images/ssip_remove_flow.svg b/doc/syslog/images/ssip_remove_flow.svg new file mode 100755 index 0000000000..c2d3b42be6 --- /dev/null +++ b/doc/syslog/images/ssip_remove_flow.svg @@ -0,0 +1,231 @@ + + + + + ssip remove flow + + + + + + + + + + + + + + + + + + + Page-8 + + Actor lifeline.1203 + config- db + + Sheet.1005 + + + + Sheet.1006 + + + + Sheet.1007 + + + Sheet.1008 + + + + + config- db + + + Object lifeline.1208 + rsyslog-config + + Sheet.1010 + + + + Sheet.1011 + + + + Sheet.1012 + + + Sheet.1013 + + + + + rsyslog-config + + + Object lifeline.1213 + rsyslog + + Sheet.1015 + + + + Sheet.1016 + + + + Sheet.1017 + + + Sheet.1018 + + + + + rsyslog + + + Actor lifeline.1252 + CLI + + Sheet.1020 + + + + Sheet.1021 + + + + Sheet.1022 + + + Sheet.1023 + + + + + CLI + + + Activation.1270 + + + + Self Message.1271 + process data + + + process data + + Activation.1272 + + + + Self Message.1273 + remove syslog server + + + remove syslog server + + Activation.1274 + + + + Message.1275 + DEL SYSLOG_SERVER|key + + + DEL SYSLOG_SERVER|key + + Activation.1276 + + + + Return Message.1277 + + + + Activation.1278 + + + + Message.1279 + systemctl restart rsyslog-config + + + systemctl restart rsyslog-config + + Return Message.1280 + + + + Activation.1285 + + + + Self Message.1286 + generate rsyslogd config + + + generate rsyslogd config + + Activation.1287 + + + + Message.1288 + HGETALL SYSLOG_SERVER|key + + + HGETALL SYSLOG_SERVER|key + + Activation.1289 + + + + Return Message.1111 + + + + Activation.1112 + + + + Message.1292 + systemctl restart rsyslog + + + systemctl restart rsyslog + + Return Message.1293 + + + + Activation.1294 + + + + diff --git a/doc/syslog/syslog-design.md b/doc/syslog/syslog-design.md new file mode 100644 index 0000000000..702c3a8bd7 --- /dev/null +++ b/doc/syslog/syslog-design.md @@ -0,0 +1,558 @@ +# SONiC Syslog Source IP + +## High Level Design document + +## Table of contents + +- [Revision](#revision) +- [About this manual](#about-this-manual) +- [Scope](#scope) +- [Abbreviations](#abbreviations) +- [1 Introduction](#1-introduction) + - [1.1 Feature overview](#11-feature-overview) + - [1.2 Requirements](#12-requirements) + - [1.2.1 Functionality](#121-functionality) + - [1.2.2 Command interface](#122-command-interface) + - [1.2.3 Error handling](#123-error-handling) + - [1.2.4 Event logging](#124-event-logging) +- [2 Design](#2-design) + - [2.1 Overview](#21-overview) + - [2.2 Syslog Forwarding Output Module](#22-syslog-forwarding-output-module) + - [2.2.1 Overview](#221-overview) + - [2.2.2 IpFreeBind](#222-ipfreebind) + - [2.3 Configuration agent](#23-configuration-agent) + - [2.3.1 Overview](#231-overview) + - [2.3.2 SSIP parameters](#232-ssip-parameters) + - [2.3.3 SSIP configuration](#233-ssip-configuration) + - [2.3.3.1 VRF/Source: `unset/unset`](#2331-vrfsource-unsetunset) + - [2.3.3.2 VRF/Source: `unset/set`](#2332-vrfsource-unsetset) + - [2.3.3.3 VRF/Source: `set/unset`](#2333-vrfsource-setunset) + - [2.3.3.4 VRF/Source: `set/set`](#2334-vrfsource-setset) + - [2.4 DB schema](#24-db-schema) + - [2.4.1 Config DB](#241-config-db) + - [2.4.1.1 SSIP table](#2411-ssip-table) + - [2.4.2 Data sample](#242-data-sample) + - [2.4.3 Configuration sample](#243-configuration-sample) + - [2.4.4 Configuration migration](#244-configuration-migration) + - [2.5 Flows](#25-flows) + - [2.5.1 SSIP add](#251-ssip-add) + - [2.5.2 SSIP remove](#252-ssip-remove) + - [2.6 CLI](#26-cli) + - [2.6.1 Command structure](#261-command-structure) + - [2.6.2 Usage examples](#262-usage-examples) + - [2.6.2.1 Config command group](#2621-config-command-group) + - [2.6.2.2 Show command group](#2622-show-command-group) + - [2.7 YANG model](#27-yang-model) + - [2.8 Warm/Fast boot](#28-warmfast-boot) +- [3 Test plan](#3-test-plan) + - [3.1 Unit tests via VS](#31-unit-tests-via-vs) + - [3.2 Data plane tests via PTF](#32-data-plane-tests-via-ptf) + +## Revision + +| Rev | Date | Author | Description | +|:---:|:----------:|:--------------:|:----------------| +| 0.1 | 18/04/2022 | Nazarii Hnydyn | Initial version | + +## About this manual + +This document provides general information about Syslog Source IP implementation in SONiC + +## Scope + +This document describes the high level design of Syslog Source IP feature in SONiC + +**In scope:** +1. Syslog Source IP configuration for UDP protocol + +**Out of scope:** +1. Syslog Source IP configuration for TCP protocol + +## Abbreviations + +| Term | Meaning | +|:------|:------------------------------------------| +| SONiC | Software for Open Networking in the Cloud | +| SSIP | Syslog Source IP | +| IP | Internet Protocol | +| UDP | User Datagram Protocol | +| TCP | Transmission Control Protocol | +| DB | Database | +| VRF | Virtual Routing and Forwarding | +| OMFWD | Syslog Forwarding Output Module | +| CLI | Сommand-line Interface | +| YANG | Yet Another Next Generation | +| VS | Virtual Switch | +| PTF | Packet Test Framework | + +## List of figures + +[Figure 1: SSIP add flow](#figure-1-ssip-add-flow) +[Figure 2: SSIP remove flow](#figure-2-ssip-remove-flow) + +## List of tables + +[Table 1: Event logging](#table-1-event-logging) +[Table 2: Syslog Forwarding Output Module](#table-2-syslog-forwarding-output-module) +[Table 3: SSIP parameters](#table-3-ssip-parameters) + +# 1 Introduction + +## 1.1 Feature overview + +SSIP is a feature which allows user to change UDP packet source IP address. +Any configured address can be used for source IP mangling. +This might be useful for security reasons. + +SSIP also extends the existing syslog implementation with VRF device and server UDP port configuration support. +The feature doesn't change the existing DB schema which makes it fully backward compatible. + +## 1.2 Requirements + +### 1.2.1 Functionality + +**This feature will support the following functionality:** +1. Syslog Source IP address configuration +2. Syslog server UDP port configuration +3. Syslog VRF device support + +### 1.2.2 Command interface + +**This feature will support the following commands:** +1. config: add/delete syslog server configuration +2. show: display syslog server configuration + +### 1.2.3 Error handling + +**This feature will provide error handling for the next situations:** +1. Invalid object reference +2. Invalid options/parameters + +### 1.2.4 Event logging + +**This feature will provide event logging for the next situations:** +1. Syslog server add/delete + +###### Table 1: Event logging + +| Event | Severity | +|:----------------------------------|:---------| +| Syslog server add/delete: success | NOTICE | +| Syslog server add/delete: error | ERROR | + +# 2 Design + +## 2.1 Overview + +SSIP will reuse syslog `omfwd` functionality which offers the next features: +1. Source IP address configuration +2. Server UDP port configuration +3. VRF device configuration + +## 2.2 Syslog Forwarding Output Module + +### 2.2.1 Overview + +###### Table 2: Syslog Forwarding Output Module + +| Parameter | Default | Description | +|:-----------|:---------|:------------------------------------------------------------------------------------------| +| target | none | Name or IP-Address of the system that shall receive messages. Any resolvable name is fine | +| address | none | Bind socket to a given local IP address. This option is only supported for UDP, not TCP | +| port | 514 | Name or numerical value of port to use when connecting to target | +| protocol | udp | Type of protocol to use for forwarding (e.g., tcp/udp) | +| device | none | Bind socket to given device (e.g., eth0/vrf0) | +| ipfreebind | 2 | Manages the IP_FREEBIND option on the UDP socket | + +**MAN page:** [omfwd]( + https://www.rsyslog.com/doc/v8-stable/configuration/modules/omfwd.html#omfwd-syslog-forwarding-output-module + "Syslog Forwarding Output Module" +) + +### 2.2.2 IpFreeBind + +**IP_FREEBIND (since Linux 2.4)** +``` +If enabled, this boolean option allows binding to an IP address that is nonlocal or does not (yet) exist. +This permits listening on a socket, without requiring the underlying network interface +or the specified dynamic IP address to be up at the time that the application is trying to bind to it. +This option is the per-socket equivalent of the ip_nonlocal_bind. +``` + +**MAN page:** [ip_freebind]( + https://linux.die.net/man/7/ip + "IP_FREEBIND" +) + +## 2.3 Configuration agent + +### 2.3.1 Overview + +Configuration management of `rsyslogd` is done by `rsyslog-config` service. +The service is triggered by CLI once data is validated and pushed to Config DB. + +The `rsyslog-config` service performs the next actions: +1. Renders `rsyslog.conf.j2` template with `sonic-cfggen` to generate a new `rsyslogd` config file +2. Restarts `rsyslog` service which triggers `rsyslogd` to load a new config file + +### 2.3.2 SSIP parameters + +**SSIP will have the next parameter mapping:** + +###### Table 3: SSIP parameters + +| SONiC | Rsyslogd | Config DB Schema | +|:-------|:---------|:---------------------------| +| key | target | SYSLOG_SERVER\|key | +| source | address | SYSLOG_SERVER\|key\|source | +| port | port | SYSLOG_SERVER\|key\|port | +| vrf | device | SYSLOG_SERVER\|key\|vrf | + +### 2.3.3 SSIP configuration + +SSIP offers `vrf` and `source` parameters for flexible configuration management. +Each parameter combination requires a dedicated handling approach. + +**Note:** +1. The destination might be not reachable over the specified `vrf`/`source`: no way to check - user's responsibility +2. Additional validation is required when MGMT/DATA VRF is removed while reference still exists in syslog configuration + +#### 2.3.3.1 VRF/Source: `unset/unset` + +Linux kernel decides which source IP to use within the default VRF. + +**Example:** +``` +*.* action(type="omfwd" target="2.2.2.2" protocol="udp") +``` + +#### 2.3.3.2 VRF/Source: `unset/set` + +Check if source IP is configured on any default VRF member: +yes - set source IP, no - generate error + +**Example:** +``` +*.* action(type="omfwd" target="2.2.2.2" protocol="udp" address="1.1.1.1") +``` + +#### 2.3.3.3 VRF/Source: `set/unset` + +Check VRF type: +1. Default +2. MGMT +3. DATA + +Default VRF: +1. Skip VRF configuration + +MGMT VRF: +1. Check if MGMT VRF is enabled: +yes - set VRF, no - generate error + +DATA VRF: +1. Check if VRF is a member of SONiC VRF table: +yes - set VRF, no - generate error + +**Example:** +``` +Default VRF: +*.* action(type="omfwd" target="2.2.2.2" protocol="udp") +MGMT VRF: +*.* action(type="omfwd" target="2.2.2.2" protocol="udp" device="mgmt") +DATA VRF: +*.* action(type="omfwd" target="2.2.2.2" protocol="udp" device="Vrf-Data") +``` + +#### 2.3.3.4 VRF/Source: `set/set` + +Check VRF type: +1. Default +2. MGMT +3. DATA + +Default VRF: +1. Check if source IP is configured on any DEFAULT VRF member: +yes - set source IP, no - generate error +2. Skip VRF configuration + +MGMT VRF: +1. Check if MGMT VRF is enabled: +yes - set VRF, no - generate error +2. Check if source IP is configured on any MGMT VRF member: +yes - set source IP, no - generate error + +DATA VRF: +1. Check if VRF is a member of SONiC VRF table: +yes - set VRF, no - generate error +2. Check if source IP is configured on any DATA VRF member: +yes - set source IP, no - generate error + +**Example:** +``` +Default VRF: +*.* action(type="omfwd" target="2.2.2.2" protocol="udp" address="1.1.1.1") +MGMT VRF: +*.* action(type="omfwd" target="2.2.2.2" protocol="udp" address="1.1.1.1" device="mgmt") +DATA VRF: +*.* action(type="omfwd" target="2.2.2.2" protocol="udp" address="1.1.1.1" device="Vrf-Data") +``` + +## 2.4 DB schema + +### 2.4.1 Config DB + +#### 2.4.1.1 SSIP table +```abnf +; defines schema for syslog table configuration attributes +key = SYSLOG_SERVER|server_ip_address ; server IP address. Must be unique + +; field = value +source = ip-addr ; source IP address +port = 1*5DIGIT ; server UDP port (0..65535) +vrf = vrf-device ; VRF device + +; value annotations +h16 = 1*4HEXDIG +ls32 = h16 ":" h16 +dec-octet = DIGIT ; 0-9 + / %x31-39 DIGIT ; 10-99 + / "1" 2DIGIT ; 100-199 + / "2" %x30-34 DIGIT ; 200-249 + / "25" %x30-35 ; 250-255 +ipv4-addr = dec-octet "." dec-octet "." dec-octet "." dec-octet +ipv6-addr = 6( h16 ":" ) ls32 + / "::" 5( h16 ":" ) ls32 + / [ h16 ] "::" 4( h16 ":" ) ls32 + / [ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32 + / [ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32 + / [ *3( h16 ":" ) h16 ] "::" h16 ":" ls32 + / [ *4( h16 ":" ) h16 ] "::" ls32 + / [ *5( h16 ":" ) h16 ] "::" h16 + / [ *6( h16 ":" ) h16 ] "::" +ip-addr = ipv4-addr / ipv6-addr +vrf-default = "default" +vrf-mgmt = "mgmt" +vrf-data = "Vrf-" 1*255VCHAR +vrf-device = vrf-default / vrf-mgmt / vrf-data +``` + +### 2.4.2 Data sample + +**Config DB:** +```bash +redis-cli -n 4 HGETALL 'SYSLOG_SERVER|2.2.2.2' +1) "source" +2) "1.1.1.1" +3) "port" +4) "514" +5) "vrf" +6) "default" + +redis-cli -n 4 HGETALL 'SYSLOG_SERVER|3.3.3.3' +1) "source" +2) "1.1.1.1" +3) "port" +4) "514" +5) "vrf" +6) "mgmt" + +redis-cli -n 4 HGETALL 'SYSLOG_SERVER|2222::2222' +1) "source" +2) "1111::1111" +3) "port" +4) "514" +5) "vrf" +6) "Vrf-Data" +``` + +### 2.4.3 Configuration sample + +**Syslog remote logging:** +```json +{ + "SYSLOG_SERVER": { + "2.2.2.2": { + "source": "1.1.1.1", + "port": "514", + "vrf": "default" + }, + "3.3.3.3": { + "source": "1.1.1.1", + "port": "514", + "vrf": "mgmt" + }, + "2222::2222": { + "source": "1111::1111", + "port": "514", + "vrf": "Vrf-Data" + } + } +} +``` + +### 2.4.4 Configuration migration + +No special handling is required + +## 2.5 Flows + +### 2.5.1 SSIP add + +![SSIP add flow](images/ssip_add_flow.svg "Figure 1: SSIP add flow") + +###### Figure 1: SSIP add flow + +### 2.5.2 SSIP remove + +![SSIP remove flow](images/ssip_remove_flow.svg "Figure 2: SSIP remove flow") + +###### Figure 2: SSIP remove flow + +## 2.6 CLI + +### 2.6.1 Command structure + +**User interface**: +``` +config +|--- syslog + |--- add OPTIONS + |--- del + +show +|--- syslog +``` + +**Options:** + +_config syslog add_ +1. `-s|--source` - source ip address +2. `-p|--port` - server udp port +3. `-r|--vrf` - vrf device + +### 2.6.2 Usage examples + +#### 2.6.2.1 Config command group + +**The following command adds/deletes syslog server:** +```bash +config syslog add '2.2.2.2' \ +--source '1.1.1.1' \ +--port '514' \ +--vrf 'default' +config syslog del '2.2.2.2' +``` + +#### 2.6.2.2 Show command group + +**The following command shows syslog server configuration:** +```bash +root@sonic:/home/admin# show syslog +SERVER IP SOURCE IP PORT VRF +----------- ----------- ------ -------- +2.2.2.2 1.1.1.1 514 default +3.3.3.3 1.1.1.1 514 mgmt +2222::2222 1111::1111 514 Vrf-Data +``` + +## 2.7 YANG model + +An existing YANG model `sonic-syslog.yang` will be extended in order to provide support for SSIP. + +**Skeleton code:** +```yang +module sonic-syslog { + + yang-version 1.1; + + namespace "http://github.com/Azure/sonic-system-syslog"; + prefix syslog; + + import ietf-inet-types { + prefix inet; + } + + import sonic-vrf { + prefix vrf; + } + + description "Syslog YANG Module for SONiC OS: remote syslog logging"; + + revision 2022-04-18 { + description "Initial revision."; + } + + typedef vrf-device { + description "Represents syslog VRF device"; + type enumeration { + enum default; + enum mgmt; + } + } + + container sonic-syslog { + + container SYSLOG_SERVER { + + description "SYSLOG_SERVER part of config_db.json"; + + list SYSLOG_SERVER_LIST { + + key "server_address"; + + leaf server_address { + description "Syslog server IP address"; + type inet:ip-address; + } + + leaf source { + description "Syslog source IP address"; + type inet:ip-address; + } + + leaf port { + description "Syslog server UDP port"; + type inet:port-number; + } + + leaf vrf { + description "Syslog VRF device"; + type union { + type leafref { + path "/vrf:sonic-vrf/vrf:VRF/vrf:VRF_LIST/vrf:name"; + } + type vrf-device; + } + } + + } + /* end of list SYSLOG_SERVER_LIST */ + } + /* end of container SYSLOG_SERVER */ + } + /* end of container sonic-syslog */ +} +/* end of module sonic-syslog */ +``` + +## 2.8 Warm/Fast boot + +No special handling is required + +# 3 Test plan + +## 3.1 Unit tests via VS + +SSIP basic configuration test: +1. Verify rsyslog.conf after syslog server creation/removal + +SSIP extended configuration test: +1. Create syslog server with IPv4/IPv6 source IP +2. Verify rsyslog.conf +3. Create syslog server with default/mgmt/data VRF device +4. Verify rsyslog.conf + +## 3.2 Data plane tests via PTF + +TBD diff --git a/doc/system_health_monitoring/system-ready-HLD.md b/doc/system_health_monitoring/system-ready-HLD.md new file mode 100644 index 0000000000..c55698c1ec --- /dev/null +++ b/doc/system_health_monitoring/system-ready-HLD.md @@ -0,0 +1,439 @@ + + +# System Ready HLD + +#### Rev 0.3 + +# Table of Contents + +- [List of Tables](#list-of-tables) +- [Revision](#revision) +- [Definition/Abbreviation](#definitionabbreviation) +- [About This Manual](#about-this-manual) +- [1 Introduction and Scope](#1-introduction-and-scope) + - [1.1 Limitation of Existing tools](#11-existingtools-limitation) + - [1.2 Benefits of this feature](#12-benefits-of-this-feature) +- [2 Feature Requirements](#2-feature-requirements) + - [2.1 Functional Requirements](#21-functional-requirements) + - [2.2 Configuration and Management Requirements](#22-configuration-and-management-requirements) + - [2.3 Scalability Requirements](#23-scalability-requirements) + - [2.4 Warm Boot Requirements](#24-warm-boot-requirements) +- [3 Feature Description](#3-feature-description) +- [4 Feature Design](#4-feature-design) + - [4.1 Overview](#41-design-overview) + - [4.2 Sysmonitor](#42-db-changes) + - [4.2.1 Subtasks in Sysmonitor](#421-subtasks-in-sysmonitor) + - [4.3 Service Identification](#43-service-identification) + - [4.4 System ready Framework logic](#44-systemready-fremework-logic) + - [4.5 Provision for apps to mark closest UP status](#45-provision-for-apps-to-mark-UP) + - [4.5.1 CONFIG_DB Changes](#451-config-db-changes) + - [4.5.2 STATE_DB Changes](#452-state-db-changes) + - [4.5.3 Feature yang Changes](#453-feature-yang-changes) + - [4.6 Syslogs](#46-syslogs) +- [5 CLI](#5-cli) + - [5.1 Output Format](#51-cli-output-format) + - [5.2 show system-health sysready-status](#53-system-health sysready-status) + - [5.3 show system-health sysready-status brief](#54-system-health sysready-status-brief) + - [5.4 show system-health sysready-status detail](#55-system-health sysready-status-detail) +- [6 Serviceability and Debug](#6-serviceability-and-debug) +- [7 Warm reboot Support](#7-warm-reboot-support) +- [8 Unit Test Cases ](#8-unit-test-cases) +- [9 References ](#9-references) + +# List of Tables + +[Table 1: Abbreviations](#table-1-abbreviations) + +# Revision +| Rev | Date | Author | Change Description | +|:--:|:--------:|:-----------------:|:------------------------------------------------------------:| +| 0.1 | | Senthil Kumar Guruswamy | Initial version | +| 0.2 | | Senthil Kumar Guruswamy | Update as per review comments | +| 0.3 | | Senthil Kumar Guruswamy | Integrate systemready to system-health | + + +# Definition/Abbreviation + +### Table 1: Abbreviations + +| **Term** | **Meaning** | +| -------- | ----------------------------------------- | +| FEATURE | Docker/Service | +| App | Docker/Service | + + +# About this Manual + +This document provides general information about the System Ready feature implementation in SONiC. + + +# 1 Introduction and Scope + +This document describes the Functionality and High level design of the System Ready feature. + +At present, there is no mechanism to know that the system is up and ready with all the essential sonic services and also, all the docker apps are ready along with port ready status to start the network traffic. +With the asynchronous architecture of SONiC, we will not be able to verify if the config has been applied all the way down to the hardware. +However, if we could get the closest up status of each docker app considering their config receive ready and port ready, the system readiness could be arrived. + +A new python based System monitor tool is introduced to monitor all the essential system host services including docker wrapper services on an event based model and declare the system is ready. +This framework gives provision for docker apps to notify its closest up status. +CLIs are provided to fetch the current system status and also service running status and its app ready status along with failure reason if any. +This feature will be part of system-health framework. + +## 1.1 Limitation of Existing tools: + - Monit tool is a poll based approach which monitors the configured services for every 1 minute. + - Container_checker in monit checks only for running status of expected containers. + - Monits custom script execution can only run a logic to take some action but it is yet again a poll based approach. + + +## 1.2 Benefits of this feature: + - Event based model where the feedback is immediate + - Know the overall system status through syslog and as well through CLIs + - It brings in the concept of application readiness to allow each application/service/docker to declare themselves as ready based on different application specific criteria. + - Combatibility with application extension framework. + SONiC package installation process will register new feature in CONFIG DB. + Third party dockers(signature verified) gets integrated into sonic os and runs similar to the existing dockers accessing db etc. + Now, once the feature is enabled, it becomes part of either sonic.target or multi-user.target and when it starts, it automatically comes under the system monitor framework watchlist. + Hence any third party docker needs to follow the framework logic by including "check_up_status" field in their manifest json file while registering itself in CONFIG_DB and also make use of the provision given to docker apps to mark its closest up status in STATE_DB. + + +# 2 Feature Requirements + +## 2.1 Functional Requirements + +Following requirements are addressed by the design presented in this document: + +1. Identify the list of sonic services to be monitored. +2. system-health to include the sysmon framework to check system status of all the service units and receive service state change notifications to declare the system ready status. +3. Provision for apps to notify its closest up status in STATE DB. This should internally cover Port ready status. Also support application extension framework. +4. Appropriate system ready syslogs to be raised. +5. New CLI to be introduced to know the current system status all services. + - "show system-health sysready-status" covers the overall system status. +6. During the techsupport data collection, the new CLI to be included for debugging. + + +## 2.2 Configuration and Management Requirements + +This feature will support CLI and no configuration command is provided for any congiruations. + + +## 2.3 Scalability Requirements + +NA + +## 2.4 Warm Boot Requirements + +warmboot-finalizer sonic service to be monitored as part of all services. + + +# 3 Feature Description + +This feature provides framework to determine the current system status to declare the system is (almost) ready for network traffic. + +System ready is arrived at considering the following factors. +1. All sonic docker services and its UP status(including Portready status) +2. All sonic host services + + +# 4 Feature Design +## 4.1 Design Overview + +- System-health's newly introduced sysmonitor subtask tracks the sonic host service list, all the docker wrapper services for their running status and also, their app ready status including portready and declare the system is ready. +- When sysmonitor daemon boots up, it polls for the service list status once and maintains the operational data in STATE_DB and publishes the system ready status in form of syslog and as well as in STATE_DB. +- Subsequently, when any service state changes, sysmonitor gets the event notification for that service to be checked for its status and update the STATE_DB promptly. +- Hence the system status is always up-to-date to be notifed to user in the form of syslog, STATE_DB update and as well as could be fetched by appropriate CLIs. + + +## 4.2 Sysmonitor + +Sysmonitor is the subtask of system-health service which does the job of checking the service status and updating the system readiness. + +### 4.2.1 Subtasks in Sysmonitor + +1. subscribe to system dbus + - With the dbus subscription, any systemd events gets notified to this task and it puts the event in the multiprocessing queue. + +2. subscribe to the new FEATURE table in STATE_DB of Redis database + - With the STATE_DB feature table subscription, any input to the FEATURE table gets notified to this task and it puts the event in the queue. + +3. Main task + - Runs through the polling of all service status check once and listen for events in queue populated by dbus task and statedb task to take appropriate action of checking the specific event unit status + and updating system status in the STATE_DB. + + + +## 4.3 Service Identification + +- It covers the enabled services from FEATURE table of CONFIG_DB. +- Also, since the idea is to cover only the sonic services but not the general system services, sysmonitor tracks services under "multi-user.target" and "sonic.target" +- This covers all the sonic docker services and most of the sonic host services. + + +## 4.4 System ready Framework logic + +The system ready framework design should just not only display the current status of the services in the system +but align the services within framework to flag the status as "Down" if the service is not running when it was intended to be running. + +- For services: + - Loaded, enabled/enabled-runtime/static, active & running, active & exited state services are considered 'OK'. + - For active and running services, up_status marked by docker app should be True to be considered 'OK'. + - Failed state services are considered 'Down'. + - Activating state services are considered as 'Starting'. + - Deactivating state services are considered as 'Stopping'. + - Inactive state services category: + - oneshot services are considered as 'OK'. + - Special services with condition pathexists check failure are considered as 'OK'. + - Other services in inactive state are considered to be 'Down'. + - Any service type other than oneshot if by default goes to inactive state, RemainAfterExit=yes entry needs to be added to their service unit file to be inline with the framework. + + +## 4.5 Provision for apps to mark closest UP status + +The feature provides framework for services to mark its closest UP status. +In simple, each app is responsible in marking its closest up status in STATE_DB. Sysmonitor tool just reads from it. + +### 4.5.1 CONFIG_DB Changes (init_cfg.json) + +Docker apps marking their UP status in STATE_DB will input an entry in FEATURE table of CONFIG_DB with check_up_status flag set to true through /etc/sonic/init_cfg.json file change. +Sysmonitor checks for the check_up_status flag in CONFIG_DB before reading the app ready status from STATE_DB. +If the flag does not exist or if set to False, then sysmonitor will not read the app ready status but just checks the running status of the service. + +For application extension package support, +a new manifest variable is introduced to control whether "check_up_status" should be up true or false which will also be an indication whether docker implements marking the up_status flag in STATE_DB. + +``` +- Schema in /etc/sonic/init_cfg.json + This json file will be fed to FEATURE table of CONFIG_DB during bootup. + This json file will be factory default and no config command will be provided for "check_up_status" entry to be updated in CONFIG_DB later. + { + "FEATURE": { + "": { + ... + "state": "enabled", + "check_up_status": "true" + } + } + } +``` + +### 4.5.2 STATE_DB Changes +- Docker apps which rely on config, can mark 'up_status' to true in STATE_DB when they are ready to receive configs from CONFIG_DB and/or some extra dependencies are met. +- Respective apps should mark its up_status considering Port ready status. Hence there is no separate logic check needed by system monitoring tool +- Any docker app which has multiple independent daemons can maintain a separate intermediate key-value in the redis-db for each of the daemons and the startup script that invokes each of these daemons can determine the status from the redis entries by each daemon and finally update the STATE_DB up_status. +- Along with up_status, docker apps should update the fail_reason field with appropriate reason in case of failure or empty string in case of success. +- Also, update_time field to be fed in as well in the format of epoch time. + + +For instances, +- swss docker app can wait for port init done and wait for Vrfmgr, Intfmgr and Vxlanmgr to be ready before marking its up status. +- Other apps like udld,stp etc once after waiting for PortInitDone status and interface db creation, they could mark their UP status. +- Database app which is the first/base app to be up, may set the UP_STATUS to True once all the required number of redis-server instances are in running state. + However, as the supervisor monitors all the redis db instances as part of critical process list, there is no need of a separate app ready status in database docker. + + +STATE_DB: +``` +- sonic-db-cli STATE_DB HSET "FEATURE|" up_status true +- sonic-db-cli STATE_DB HSET "FEATURE|" fail_reason "" / "" +- sonic-db-cli STATE_DB HSET "FEATURE|" update_time "" + +- Schema in STATE_DB + sonic-db-dump -n STATE_DB output + "FEATURE|": { + "type": "hash", + "value": { + "up_status": "true", + "fail_reason": "", + "update_time": "" + + } + }, + +- Example: + "FEATURE|bgp": { + "type": "hash", + "value": { + "fail_reason": "", + "update_time": "1634119649.7268105", + "up_status": "true" + } + }, + +``` + + +In addition to this, sysmonitor posts the system status to SYSTEM_READY table in STATE_DB as below. + +``` + "SYSTEM_READY|SYSTEM_STATE": { + "type": "hash", + "value": { + "status": "up" + } + } +``` + +### 4.5.3 Feature yang Changes + +Following field is added to the sonic-feature.yang file. + +``` +container sonic-feature { + + container FEATURE { + + ... + + leaf check_up_status { + description "This configuration controls the system ready tool to check + the app ready/up status"; + type boolean; + default false; + } + } +} +``` + +## 4.6 Syslogs: + +- Syslog to be generated for any Sonic systemd services that changes event(active/inactive) +- A dedicated task in sysmonitor runs to listen for any service state change events. + Upon receiving any state change events, the task check for its status and identify the particular event service that caused the change and raise a syslog for that service. +- syslog is generated for "System is ready" and "System is not ready - One or more services are not up" scenario, only when there is a change between the two states. + +``` +Example 1: + Jul 02 11:53:51.020133 2021 sonic INFO system#monitor: System is not ready + Jul 02 11:53:51.020133 2021 sonic INFO system#monitor: System is not ready - one or more services are not up + +Example 2: + Jul 02 17:01:00.454978 2021 sonic INFO system#monitor: pmon.service service state changed to [inactive/dead] + Jul 02 17:01:28.725101 2021 sonic INFO system#monitor: pmon.service service state changed to [active/running] +``` + +## 5 CLI: + +Only Click command is supported and not KLISH commands as KLISH will not work if Mgmt-framework service is down. +- show system-health sysready-status + + +### 5.1 Output Format: + 1. Short message indicating system is ready or not + 2. Header - Service-Name, Service-Status, App-Ready-Status, Down-Reason + 3. List of servies and it status values + 4. Output Strings for Service-Status and App-Ready-Status: + "OK" - when a service is up + "Down" - to emphasise a service is not running when it was intended to be running. + "Starting" - Initializing + "Stopping" - Deactivating + 5. Down-Reason will be extracted from "Result" property of systemctl command and then displayed appropriately. + Different reasons can be: + start-limit-hit + exit-code + Inactive + custom strings from apps + +``` + <"System is ready"/"System is not ready - one or more services are not up"> + Service-Name Service-Status App-Ready-Status Down-Reason + OK OK - + Down Down start-limit-hit + OK Down Inactive +``` + + +### 5.2 show system-health sysready-status + +``` + root@sonic:/# show system-health sysready-status + System is ready + + Service-Name Service-Status App-Ready-Status Down-Reason + as7712-pddf-platform-monitor OK OK - + bgp OK OK - + caclmgrd OK OK - + config-setup OK OK - + containerd OK OK - + + root@sonic:/# show system-health sysready-status + System is not ready - one or more services are not up + + Service-Name Service-Status App-Ready-Status Down-Reason + aaastatsd Down Down start-limit-hit + as7712-pddf-platform-monitor OK OK - + bgp OK Starting - + caclmgrd OK OK - + config-setup OK OK - + ntp-config Starting Starting - + pmon OK Down Transceiver daemon is not up +``` + +### 5.3 show system-health sysready-status brief +- The output of this command will just display the brief status of the entire sonic services. +- Output format of the CLI : + +``` + <"System is ready"/"System is not ready - one or more services are not up"> + + Example 1: + root@sonic:/# show system-health sysready-status brief + System is not ready - one or more services are not up + + root@sonic:/# +``` + +### 5.4 show system-health sysready-status detail +- The output of this command will display AppStatus-UpdateTime column in addition to the existing to give more info on the time the app readiness was marked. +- Output format of the CLI : + +``` + <"System is ready"/"System is not ready - one or more services are not up"> + Service-Name Service-Status App-Ready-Status Down-Reason AppStatus-UpdateTime + -------------------------------- ---------------- ------------------ ------------- ---------------------- + as7326-56x-pddf-platform-monitor OK OK - - + + + Example 1: + root@sonic:/# show system-health sysready-status detail + System is not ready - one or more services are not up + + Service-Name Service-Status App-Ready-Status Down-Reason AppStatus-UpdateTime + -------------------------------- ---------------- ------------------ ------------- ---------------------- + as7326-56x-pddf-platform-monitor OK OK - - + auditd OK OK - - + bgp OK OK - - + caclmgrd OK OK - - + config-chassisdb OK OK - - + + + root@sonic:/# +``` + +## 6 Serviceability and Debug + +- The system logging mechanisms explained in section 4.6 shall be used. +- The show commands can be used as debug aids. +- Techsupport: + In generate dump tool, show system-health sysready-status detail CLI is included to be saved to the dump in the name of system-health-sysready.status + + + +## 7 Warm Reboot Support + +Sysmonitor monitors the running status of warmboot-finalizer.service +This can be enhanced to hook to the actual completion of warboot-finalizer service later. + + +## 8 Unit Test Cases + +1. Check show system-health sysready-status +2. Check show system-health sysready-status brief +3. Check show system-health sysready-status detail +4. Make any of the docker apps down and check failed apps details are shown +5. Make any of the host apps down and check failed apps details are shown +6. Check top command for sysmonitor CPU and memory usage +7. Check syslogs for any service state change. +8. Check syslog for overall system status change. + +## 9 References +NA diff --git a/doc/vxlan/Overlay ECMP with BFD.md b/doc/vxlan/Overlay ECMP with BFD.md index 4485cd6237..28ab66ba75 100644 --- a/doc/vxlan/Overlay ECMP with BFD.md +++ b/doc/vxlan/Overlay ECMP with BFD.md @@ -1,6 +1,6 @@ # Overlay ECMP with BFD monitoring ## High Level Design Document -### Rev 1.1 +### Rev 1.5 # Table of Contents @@ -37,6 +37,8 @@ | 1.2 | 10/18/2021 | Prince Sunny/Shi Su | Test Plan added | | 1.3 | 11/01/2021 | Prince Sunny | IPv6 test cases added | | 1.4 | 12/03/2021 | Prince Sunny | Added scaling section, extra test cases | +| 1.5 | 04/11/2022 | Prince Sunny | Test plan for Health monitoring | +| 1.6 | 04/23/2022 | Storm Liang | Update 2.6 BGP secion & add Test plan for BGP | # About this Manual This document provides general information about the Vxlan Overlay ECMP feature implementation in SONiC with BFD support. This is an extension to the existing VNET Vxlan support as defined in the [Vxlan HLD](https://github.com/Azure/SONiC/blob/master/doc/vxlan/Vxlan_hld.md) @@ -143,6 +145,7 @@ VNET_ROUTE_TUNNEL_TABLE:{{vnet_name}}:{{prefix}} Proposed: ``` +{% raw %} # ignore this line please VNET_ROUTE_TUNNEL_TABLE:{{vnet_name}}:{{prefix}} "endpoint": {{ip_address1},{ip_address2},...} "endpoint_monitor": {{ip_address1},{ip_address2},...} (OPTIONAL) @@ -150,6 +153,7 @@ VNET_ROUTE_TUNNEL_TABLE:{{vnet_name}}:{{prefix}} "vni": {{vni1},{vni2},...} (OPTIONAL) "weight": {{w1},{w2},...} (OPTIONAL) “profile”: {{profile_name}} (OPTIONAL) +{% endraw %} # ignore this line please ``` ``` @@ -224,18 +228,101 @@ When an endpoint is deemed unhealthy, router shall perform the following actions ## 2.6 BGP Advertise VNET routes -The overlay routes programmed on the device must be advertised to BGP peers. This can be achieved by the “network” command. + +VnetOrch shall create an entry in STATE_DB for the active overlay routes eligible to be advertised by BGP to peers. Based on the health of overlay nexthop, the entry shall be added or removed. + +``` +STATE_DB|ADVERTISE_NETWORK_TABLE|{{ip_prefix}} + "profile": {{profile_name}} +``` + +The above entry shall be subscribed for by bgpcfgd and advertised by the “network” command. For example: ``` router bgp 1 address-family ipv4 unicast - network 10.0.0.0/8 + network 10.0.0.0/8 route-map FROM_SDN_SLB_ROUTES_RM exit-address-family - ``` +``` +Notes: Currently, only one profile_name is supported + +This configuration example says that network 10.0.0.0/8 will be announced to all neighbors. FRR bgpd doesn’t care about IGP routes when announcing its routes. +The profile would be transformed to route-map and associated with IP prefix. -This configuration example says that network 10.0.0.0/8 will be announced to all neighbors. FRR bgpd doesn’t care about IGP routes when announcing its routes. +Application shall create a profile in APP_DB, which would be associated to the IP prefix when advertised by "network" command. +``` +APPL_DB:BGP_PROFILE_TABLE:{{profile_name}} + "community_id": {{community_string}} +``` + +The above entry shall be subscribed for by bgpcfgd and created/updated by "route-map" command. + +For example: +``` +route-map FROM_SDN_SLB_ROUTES_RM permit 100 + set community 1234:1235 +``` + +Below will go through several use cases by manipulating tables. + +### Use case A: To advertise route 10.0.0.0/8 with community id "1234:1235" +Step 1: add/update one route-map entry in the state db. +``` +APPL_DB:BGP_PROFILE_TABLE:FROM_SDN_SLB_ROUTES + "community_id": "1234:1235" +``` + +Example command to add this entry +``` +sonic-db-cli APPL_DB HSET "BGP_PROFILE_TABLE:FROM_SDN_SLB_ROUTES" "community_id" "1234:1235" +``` + +Step 2: add route entry in the state db +``` +STATE_DB|ADVERTISE_NETWORK_TABLE|10.0.0.0/8 + "profile": "FROM_SDN_SLB_ROUTES" +``` +Example command to add this entry +``` +sonic-db-cli STATE_DB HSET "ADVERTISE_NETWORK_TABLE|10.0.0.0/8" "profile" "FROM_SDN_SLB_ROUTES" +``` + +### Use case B: To advertise route 10.0.0.0/8 without community id (without profile) +Step 1: add route entry in the state db +``` +STATE_DB|ADVERTISE_NETWORK_TABLE|10.0.0.0/8 + "": "" +``` +Example command to add this entry +``` +sonic-db-cli STATE_DB HSET "ADVERTISE_NETWORK_TABLE|10.0.0.0/8" "" "" +``` + +### Use case C: 10.0.0.0/8 with community id "1234:1235", re advertise route 10.0.0.0/8 with new community id "1234:1236" +Step 1: add/update one route-map entry in the state db. +``` +APPL_DB:BGP_PROFILE_TABLE:FROM_SDN_SLB_ROUTES + "community_id": "1234:1236" +``` + +Example command to add this entry +``` +sonic-db-cli APPL_DB HSET "BGP_PROFILE_TABLE:FROM_SDN_SLB_ROUTES" "community_id" "1234:1236" +``` + +### Use case D: To remove route 10.0.0.0/8 with community id "1234:1235" +Step 1: Delete the route entry in the state db. + +~~STATE_DB|ADVERTISE_NETWORK_TABLE|10.0.0.0/8~~ + +Example command to delete this entry +``` +sonic-db-cli STATE_DB DEL "ADVERTISE_NETWORK_TABLE|10.0.0.0/8" +``` + +Notes: the BGP_PROFILE_TABLE table need to be removed explicitly, there is no ref-count in the bgpcfgd layer. ## 2.7 CLI @@ -269,6 +356,7 @@ Create VNET and Vxlan tunnel as an below: "scope": "default" }     } +} ``` Similarly for IPv6 tunnels @@ -287,6 +375,7 @@ Similarly for IPv6 tunnels "scope": "default" }     } +} ``` Note: It can be safely assumed that only one type of tunnel exists - i.e, either IPv4 or IPv6 for this use-case @@ -321,7 +410,7 @@ With IPv6 tunnels, prefixes can be either IPv4 or IPv6 ### Test Cases -#### Overlay ECMP +### 2.8.1 Overlay ECMP It is assumed that the endpoint IPs may not have exact match underlay route but may have an LPM underlay route or a default route. Test must consider both IPv4 and IPv6 traffic for routes configured as example shown above @@ -351,10 +440,110 @@ It is assumed that the endpoint IPs may not have exact match underlay route but |Create/Delete overlay nexthop groups upto 512 | CRM | Verify crm resourse for nexthop_group | |Create/Delete overlay nexthop group members upto 128 | CRM | Verify crm resourse for nexthop_group_member | -#### BFD and health monitoring +### 2.8.2 BFD and health monitoring + +Health monitoring requires 'endpoint_monitor' and 'advertise_prefix' attributes to be provided. + +Reference tables + +**Config_DB** +``` +{ + "VNET|Vnet_3000": { + "vxlan_tunnel": "tunnel_v4", + "vni": "3000", + "scope": "default", + "advertise_prefix": "true", +    } + + "VNET|Vnet_3001": { + "vxlan_tunnel": "tunnel_v6", + "vni": "3001", + "scope": "default", + "advertise_prefix": "true" + } +} +``` -TBD +**APP_DB** +``` +[ +    "VNET_ROUTE_TUNNEL_TABLE:Vnet_3000:100.100.2.1/32": {  +        "endpoint": "1.1.1.2",  + "endpoint_monitor": "1.1.2.2" + "profile": "FROM_SDN_SLB_ROUTES" +    } + + "BFD_SESSION:default:default:1.1.2.2": { + "multihop": "true", + "local_addr": "10.1.0.32" + } + +    "VNET_ROUTE_TUNNEL_TABLE:Vnet_3001:2000::1/128": {  +        "endpoint": "fc02:1000::1",  + "endpoint_monitor": "fc02:1000::2" + "profile": "FROM_SDN_SLB_ROUTES" + } + + "BFD_SESSION:default:default:fc02:1000::2": { + "multihop": "true", + "local_addr": "fc00:1::32" + } + + "BGP_PROFILE_TABLE:FROM_SDN_SLB_ROUTES": { + "community_id": "1234:1236" + } +] +``` -#### BGP advertising +**STATE_DB** +``` +{ + "ADVERTISE_NETWORK_TABLE|100.100.2.1/32": { + "profile": "FROM_SDN_SLB_ROUTES" + } + + "BFD_SESSION_TABLE|default|default|1.1.2.2": { + "state":"Up" + } + + "ADVERTISE_NETWORK_TABLE|2000::1/128": { + "profile": "FROM_SDN_SLB_ROUTES" + } + + "BFD_SESSION_TABLE|default|default|fc02:1000::2": { + "state":"Down" + } +} +``` +The below cases are executed first for IPv4 and repeat the same for IPv6. -TBD +| Step | Goal | Expected results | +|-|-|-| +| Create a tunnel route to a single endpoint a and monitor a'. Set BFD state a' to UP. Send packets to the route prefix dst| Tunnel route create and BFD functions | Packets are received only at endpoint a. BFD session for endpoint a' is up. Verify advertise table is present | +| Set the tunnel route to another endpoint b and monitor b'. Set BFD state for b' to UP. Send packets to the route prefix dst | Tunnel route set and BFD functions | Packets are received only at endpoint b. BFD session for b' is created and the state is up. BFD session for endpoint a' is removed | +| Remove the created tunnel route. Send packets to the route prefix dst. | Tunne route remove function and BFD | Packets are not received at any ports. BFD session for endpoint b' is removed. Verify advertise table is removed | +| Create tunnel route 1 to two endpoints A = {a1, a2}. Set BFD state for a1' and a2' to UP. Send multiple packets (varying tuple) to the route 1's prefix dst. | ECMP route create with BFD | Packets are received at both a1 and a2. All BFD session states are UP | +| Create tunnel route 2 to endpoint group A. Send multiple packets (varying tuple) to route 2’s prefix dst | ECMP route create with BFD | Packets are received at both a1 and a2 | +| Set tunnel route 2 to endpoint group B = {b1, b2}. Set BFD state for b1' and b2' to UP. Send multiple packets (varying tuple) to route 2’s prefix dst | ECMP route set with BFD | Packets are received at both b1 and b2. All BFD session states are UP | +| Set tunnel route 2 to shared endpoints a1 and b1 with monitor a1' and b1'. Send packets to route 2’s prefix dst | NHG modify with BFD | Packets are recieved at a1 or b1. Nexthop group and the corresponding BFD sessions for endpoint group B are removed. ALL BFD sessions states are UP. | +| Remove tunnel route 2. Send packets to route 2’s prefix dst | ECMP route remove with BFD | Packets are not recieved at any ports with dst IP of a1 or b1. Unused BFD sessions are removed. Verify advertise table is removed | +| Set BFD state for a1' to UP and a2' to Down. Send multiple packets (varying tuple) to the route 1's prefix dst. | Health state change | Packets are received only at endpoint a1. Verify advertise table is present | +| Set BFD state for a1' to Down. Send packets to the route 1's prefix dst. | Health state change | Packets are not received at any ports. Verify advertise table is removed | +| Set BFD state for a2' to UP. Send packets to the route 1's prefix dst. | Health state change | Packets are received only at endpoint a2. Verify advertise table is present | +| Set BFD state for a1' to UP. Send multiple packets (varying tuple) to the route 1's prefix dst. | Health state change | Packets are received at both a1 and a2. Verify advertise table is present | +| Set BFD state for a1' to Down and a2' to Down. Send multiple packets (varying tuple) to the route 1's prefix dst. | Health state change | Packets are not received at any ports. Verify advertise table is removed | +| Remove tunnel route 1. Send multiple packets (varying tuple) to the route 1's prefix dst. | Route remove with BFD down | Packets are not received at any ports. BFD sessions are removed. Verify advertise table is removed | +|Create/Delete overlay routes to 4k with unique endpoints upto 4k | BFD Scaling | Verify all 4k BFD sessions are succesfully created and sessions alive | + +### 2.8.3 BGP advertising +The below cases are executed first for IPv4 and repeat the same for IPv6. +| Step | Goal | Expected results | +|-|-|-| +| Create a tunnel route and advertise the tunnel route to all neighbor without community id | BGP | ALL BGP neighbors can recieve the advertised BGP routes | +| Create a tunnel route and advertise the tunnel route to all neighbor with community id | BGP | ALL BGP neighbors can recieve the advertised BGP routes with community id | +| Update a tunnel route and advertise the tunnel route to all neighbor with new community id | BGP | ALL BGP neighbors can recieve the advertised BGP routes with new community id | +| Create a tunnel route and advertise the tunnel route to all neighbor with BGP profile, but create the profile later| BGP | ALL BGP neighbors can recieve the advertised BGP routes without community id first, after the profile table created, the community id would be added and all BGP neighbors can recieve this update and associate the community id with the route | +| Delete a tunnel route | BGP | ALL BGP neighbors can remove the previously advertised BGP routes | +| Create 4k tunnel routes and advertise all tunnel routes to all neighbor with community id | BGP scale | ALL BGP neighbors can recieve 4k advertised BGP routes with community id and record the time | +| Updat BGP_PROFILE_TABLE with new community id for 4k tunnel routes and advertise all tunnel routes to all neighbor with new community id | BGP scale | ALL BGP neighbors can recieve 4k advertised BGP routes with new community id and record the time | diff --git a/generate_sonic_image_links.sh b/generate_sonic_image_links.sh index aae526e660..106d32bdfa 100644 --- a/generate_sonic_image_links.sh +++ b/generate_sonic_image_links.sh @@ -7,6 +7,9 @@ git pull origin sonic_latest_images_links #set -euo pipefail + +DEFID_BRCM_CMT="$(curl -s 'https://sonic-build.azurewebsites.net/ui/sonic/pipelines/138/builds?branchName=master' | jq -r '.value[0].id')" + DEFID_BRCM="$(curl -s 'https://dev.azure.com/mssonic/build/_apis/build/definitions?name=Azure.sonic-buildimage.official.broadcom' | jq -r '.value[0].id')" DEFID_MLNX="$(curl -s 'https://dev.azure.com/mssonic/build/_apis/build/definitions?name=Azure.sonic-buildimage.official.mellanox' | jq -r '.value[0].id')" DEFID_VS="$(curl -s 'https://dev.azure.com/mssonic/build/_apis/build/definitions?name=Azure.sonic-buildimage.official.vs' | jq -r '.value[0].id')" @@ -21,7 +24,7 @@ DEFID_NPH="$(curl -s 'https://dev.azure.com/mssonic/build/_apis/build/definition echo '{' > sonic_image_links.json first=1 -for BRANCH in master 202106 202012 201911 201811 +for BRANCH in master 202111 202106 202012 201911 201811 do if [ -z "${first}" ]; then echo ',' >> sonic_image_links.json @@ -67,82 +70,118 @@ do ARTF_MRV="$(curl -s 'https://dev.azure.com/mssonic/build/_apis/build/builds/'"${BUILD_MRV}"'/artifacts?artifactName=sonic-buildimage.marvell-armhf&api-version=5.1' | jq -r '.resource.downloadUrl')" ARTF_NPH="$(curl -s 'https://dev.azure.com/mssonic/build/_apis/build/builds/'"${BUILD_NPH}"'/artifacts?artifactName=sonic-buildimage.nephos&api-version=5.1' | jq -r '.resource.downloadUrl')" + COMMIT_BRCM_1="$(curl -s 'https://dev.azure.com/mssonic/build/_apis/build/builds?definitions='"${DEFID_BRCM}"'&branchName=refs/heads/'"${BRANCH}"'&$top=2&resultFilter=succeeded&api-version=6.0' | jq -r '.value[0].sourceVersion')" + COMMIT_BRCM_2="$(curl -s 'https://dev.azure.com/mssonic/build/_apis/build/builds?definitions='"${DEFID_BRCM}"'&branchName=refs/heads/'"${BRANCH}"'&$top=2&resultFilter=succeeded&api-version=6.0' | jq -r '.value[1].sourceVersion')" + COMMIT_MLNX_1="$(curl -s 'https://dev.azure.com/mssonic/build/_apis/build/builds?definitions='"${DEFID_MLNX}"'&branchName=refs/heads/'"${BRANCH}"'&$top=2&resultFilter=succeeded&api-version=6.0' | jq -r '.value[0].sourceVersion')" + COMMIT_MLNX_2="$(curl -s 'https://dev.azure.com/mssonic/build/_apis/build/builds?definitions='"${DEFID_MLNX}"'&branchName=refs/heads/'"${BRANCH}"'&$top=2&resultFilter=succeeded&api-version=6.0' | jq -r '.value[1].sourceVersion')" + COMMIT_VS_1="$(curl -s 'https://dev.azure.com/mssonic/build/_apis/build/builds?definitions='"${DEFID_VS}"'&branchName=refs/heads/'"${BRANCH}"'&$top=2&resultFilter=succeeded&api-version=6.0' | jq -r '.value[0].sourceVersion')" + COMMIT_VS_2="$(curl -s 'https://dev.azure.com/mssonic/build/_apis/build/builds?definitions='"${DEFID_VS}"'&branchName=refs/heads/'"${BRANCH}"'&$top=2&resultFilter=succeeded&api-version=6.0' | jq -r '.value[1].sourceVersion')" + COMMIT_INNO_1="$(curl -s 'https://dev.azure.com/mssonic/build/_apis/build/builds?definitions='"${DEFID_INNO}"'&branchName=refs/heads/'"${BRANCH}"'&$top=2&resultFilter=succeeded&api-version=6.0' | jq -r '.value[0].sourceVersion')" + COMMIT_INNO_2="$(curl -s 'https://dev.azure.com/mssonic/build/_apis/build/builds?definitions='"${DEFID_INNO}"'&branchName=refs/heads/'"${BRANCH}"'&$top=2&resultFilter=succeeded&api-version=6.0' | jq -r '.value[1].sourceVersion')" + COMMIT_BFT_1="$(curl -s 'https://dev.azure.com/mssonic/build/_apis/build/builds?definitions='"${DEFID_BFT}"'&branchName=refs/heads/'"${BRANCH}"'&$top=2&resultFilter=succeeded&api-version=6.0' | jq -r '.value[0].sourceVersion')" + COMMIT_BFT_2="$(curl -s 'https://dev.azure.com/mssonic/build/_apis/build/builds?definitions='"${DEFID_BFT}"'&branchName=refs/heads/'"${BRANCH}"'&$top=2&resultFilter=succeeded&api-version=6.0' | jq -r '.value[1].sourceVersion')" + COMMIT_CHE_1="$(curl -s 'https://dev.azure.com/mssonic/build/_apis/build/builds?definitions='"${DEFID_CHE}"'&branchName=refs/heads/'"${BRANCH}"'&$top=2&resultFilter=succeeded&api-version=6.0' | jq -r '.value[0].sourceVersion')" + COMMIT_CHE_2="$(curl -s 'https://dev.azure.com/mssonic/build/_apis/build/builds?definitions='"${DEFID_CHE}"'&branchName=refs/heads/'"${BRANCH}"'&$top=2&resultFilter=succeeded&api-version=6.0' | jq -r '.value[1].sourceVersion')" + COMMIT_CTC_1="$(curl -s 'https://dev.azure.com/mssonic/build/_apis/build/builds?definitions='"${DEFID_CTC}"'&branchName=refs/heads/'"${BRANCH}"'&$top=2&resultFilter=succeeded&api-version=6.0' | jq -r '.value[0].sourceVersion')" + COMMIT_CTC_2="$(curl -s 'https://dev.azure.com/mssonic/build/_apis/build/builds?definitions='"${DEFID_CTC}"'&branchName=refs/heads/'"${BRANCH}"'&$top=2&resultFilter=succeeded&api-version=6.0' | jq -r '.value[1].sourceVersion')" + COMMIT_CTC64_1="$(curl -s 'https://dev.azure.com/mssonic/build/_apis/build/builds?definitions='"${DEFID_CTC64}"'&branchName=refs/heads/'"${BRANCH}"'&$top=2&resultFilter=succeeded&api-version=6.0' | jq -r '.value[0].sourceVersion')" + COMMIT_CTC64_2="$(curl -s 'https://dev.azure.com/mssonic/build/_apis/build/builds?definitions='"${DEFID_CTC64}"'&branchName=refs/heads/'"${BRANCH}"'&$top=2&resultFilter=succeeded&api-version=6.0' | jq -r '.value[1].sourceVersion')" + COMMIT_GRC_1="$(curl -s 'https://dev.azure.com/mssonic/build/_apis/build/builds?definitions='"${DEFID_GRC}"'&branchName=refs/heads/'"${BRANCH}"'&$top=2&resultFilter=succeeded&api-version=6.0' | jq -r '.value[0].sourceVersion')" + COMMIT_GRC_2="$(curl -s 'https://dev.azure.com/mssonic/build/_apis/build/builds?definitions='"${DEFID_GRC}"'&branchName=refs/heads/'"${BRANCH}"'&$top=2&resultFilter=succeeded&api-version=6.0' | jq -r '.value[1].sourceVersion')" + COMMIT_MRV_1="$(curl -s 'https://dev.azure.com/mssonic/build/_apis/build/builds?definitions='"${DEFID_MRV}"'&branchName=refs/heads/'"${BRANCH}"'&$top=2&resultFilter=succeeded&api-version=6.0' | jq -r '.value[0].sourceVersion')" + COMMIT_MRV_2="$(curl -s 'https://dev.azure.com/mssonic/build/_apis/build/builds?definitions='"${DEFID_MRV}"'&branchName=refs/heads/'"${BRANCH}"'&$top=2&resultFilter=succeeded&api-version=6.0' | jq -r '.value[1].sourceVersion')" + COMMIT_NPH_1="$(curl -s 'https://dev.azure.com/mssonic/build/_apis/build/builds?definitions='"${DEFID_NPH}"'&branchName=refs/heads/'"${BRANCH}"'&$top=2&resultFilter=succeeded&api-version=6.0' | jq -r '.value[0].sourceVersion')" + COMMIT_NPH_2="$(curl -s 'https://dev.azure.com/mssonic/build/_apis/build/builds?definitions='"${DEFID_NPH}"'&branchName=refs/heads/'"${BRANCH}"'&$top=2&resultFilter=succeeded&api-version=6.0' | jq -r '.value[1].sourceVersion')" + echo "\"${BRANCH}\": {" >> sonic_image_links.json echo "\"sonic-broadcom.bin\": {" >> sonic_image_links.json echo " \"url\": \"$(echo "${ARTF_BRCM}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-broadcom.bin/')\"," >> sonic_image_links.json echo " \"build-url\": \"https://dev.azure.com/mssonic/build/_build/results?buildId=${BUILD_BRCM}&view=results\"," >> sonic_image_links.json + echo " \"diff\": \"https://github.com/Azure/sonic-buildimage/compare/"${COMMIT_BRCM_2}"..."${COMMIT_BRCM_1}"\"," >> sonic_image_links.json echo " \"build\": \"${BUILD_BRCM}\"," >> sonic_image_links.json echo " \"date\": \"${BUILD_BRCM_TS}\"" >> sonic_image_links.json echo " }," >> sonic_image_links.json echo "\"sonic-aboot-broadcom.swi\": {" >> sonic_image_links.json echo " \"url\": \"$(echo "${ARTF_BRCM}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-aboot-broadcom.swi/')\"," >> sonic_image_links.json echo " \"build-url\": \"https://dev.azure.com/mssonic/build/_build/results?buildId=${BUILD_BRCM}&view=results\"," >> sonic_image_links.json + echo " \"diff\": \"https://github.com/Azure/sonic-buildimage/compare/"${COMMIT_BRCM_2}"..."${COMMIT_BRCM_1}"\"," >> sonic_image_links.json echo " \"build\": \"${BUILD_BRCM}\"," >> sonic_image_links.json echo " \"date\": \"${BUILD_BRCM_TS}\"" >> sonic_image_links.json echo " }," >> sonic_image_links.json echo "\"sonic-mellanox.bin\": {" >> sonic_image_links.json echo " \"url\": \"$(echo "${ARTF_MLNX}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-mellanox.bin/')\"," >> sonic_image_links.json echo " \"build-url\": \"https://dev.azure.com/mssonic/build/_build/results?buildId=${BUILD_MLNX}&view=results\"," >> sonic_image_links.json + echo " \"diff\": \"https://github.com/Azure/sonic-buildimage/compare/"${COMMIT_MLNX_2}"..."${COMMIT_MLNX_1}"\"," >> sonic_image_links.json echo " \"build\": \"${BUILD_MLNX}\"," >> sonic_image_links.json echo " \"date\": \"${BUILD_MLNX_TS}\"" >> sonic_image_links.json echo " }," >> sonic_image_links.json echo "\"sonic-vs.img.gz\": {" >> sonic_image_links.json echo " \"url\": \"$(echo "${ARTF_VS}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-vs.img.gz/')\"," >> sonic_image_links.json echo " \"build-url\": \"https://dev.azure.com/mssonic/build/_build/results?buildId=${BUILD_VS}&view=results\"," >> sonic_image_links.json + echo " \"diff\": \"https://github.com/Azure/sonic-buildimage/compare/"${COMMIT_VS_2}"..."${COMMIT_VS_1}"\"," >> sonic_image_links.json echo " \"build\": \"${BUILD_VS}\"," >> sonic_image_links.json echo " \"date\": \"${BUILD_VS_TS}\"" >> sonic_image_links.json echo " }," >> sonic_image_links.json echo "\"sonic-innovium.bin\": {" >> sonic_image_links.json echo " \"url\": \"$(echo "${ARTF_INNO}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-innovium.bin/')\"," >> sonic_image_links.json echo " \"build-url\": \"https://dev.azure.com/mssonic/build/_build/results?buildId=${BUILD_INNO}&view=results\"," >> sonic_image_links.json + echo " \"diff\": \"https://github.com/Azure/sonic-buildimage/compare/"${COMMIT_INNO_2}"..."${COMMIT_INNO_1}"\"," >> sonic_image_links.json echo " \"build\": \"${BUILD_INNO}\"," >> sonic_image_links.json echo " \"date\": \"${BUILD_INNO_TS}\"" >> sonic_image_links.json echo " }," >> sonic_image_links.json echo "\"sonic-innovium-dbg.bin\": {" >> sonic_image_links.json echo " \"url\": \"$(echo "${ARTF_INNO}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-innovium-dbg.bin/')\"," >> sonic_image_links.json echo " \"build-url\": \"https://dev.azure.com/mssonic/build/_build/results?buildId=${BUILD_INNO}&view=results\"," >> sonic_image_links.json + echo " \"diff\": \"https://github.com/Azure/sonic-buildimage/compare/"${COMMIT_INNO_2}"..."${COMMIT_INNO_1}"\"," >> sonic_image_links.json echo " \"build\": \"${BUILD_INNO}\"," >> sonic_image_links.json echo " \"date\": \"${BUILD_INNO_TS}\"" >> sonic_image_links.json echo " }," >> sonic_image_links.json echo "\"sonic-barefoot.bin\": {" >> sonic_image_links.json echo " \"url\": \"$(echo "${ARTF_BFT}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-barefoot.bin/')\"," >> sonic_image_links.json echo " \"build-url\": \"https://dev.azure.com/mssonic/build/_build/results?buildId=${BUILD_BFT}&view=results\"," >> sonic_image_links.json + echo " \"diff\": \"https://github.com/Azure/sonic-buildimage/compare/"${COMMIT_BFT_2}"..."${COMMIT_BFT_1}"\"," >> sonic_image_links.json echo " \"build\": \"${BUILD_BFT}\"," >> sonic_image_links.json echo " \"date\": \"${BUILD_BFT_TS}\"" >> sonic_image_links.json echo " }," >> sonic_image_links.json echo "\"sonic-centec.bin\": {" >> sonic_image_links.json echo " \"url\": \"$(echo "${ARTF_CTC}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-centec.bin/')\"," >> sonic_image_links.json echo " \"build-url\": \"https://dev.azure.com/mssonic/build/_build/results?buildId=${BUILD_CTC}&view=results\"," >> sonic_image_links.json + echo " \"diff\": \"https://github.com/Azure/sonic-buildimage/compare/"${COMMIT_CTC_2}"..."${COMMIT_CTC_1}"\"," >> sonic_image_links.json echo " \"build\": \"${BUILD_CTC}\"," >> sonic_image_links.json echo " \"date\": \"${BUILD_CTC_TS}\"" >> sonic_image_links.json echo " }," >> sonic_image_links.json echo "\"sonic-centec-arm64.bin\": {" >> sonic_image_links.json echo " \"url\": \"$(echo "${ARTF_CTC64}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-centec-arm64.bin/')\"," >> sonic_image_links.json echo " \"build-url\": \"https://dev.azure.com/mssonic/build/_build/results?buildId=${BUILD_CTC64}&view=results\"," >> sonic_image_links.json + echo " \"diff\": \"https://github.com/Azure/sonic-buildimage/compare/"${COMMIT_CTC64_2}"..."${COMMIT_CTC64_1}"\"," >> sonic_image_links.json echo " \"build\": \"${BUILD_CTC64}\"," >> sonic_image_links.json echo " \"date\": \"${BUILD_CTC64_TS}\"" >> sonic_image_links.json echo " }," >> sonic_image_links.json echo "\"sonic-generic.bin\": {" >> sonic_image_links.json echo " \"url\": \"$(echo "${ARTF_GRC}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-generic.bin/')\"," >> sonic_image_links.json echo " \"build-url\": \"https://dev.azure.com/mssonic/build/_build/results?buildId=${BUILD_GRC}&view=results\"," >> sonic_image_links.json + echo " \"diff\": \"https://github.com/Azure/sonic-buildimage/compare/"${COMMIT_GRC_2}"..."${COMMIT_GRC_1}"\"," >> sonic_image_links.json echo " \"build\": \"${BUILD_GRC}\"," >> sonic_image_links.json echo " \"date\": \"${BUILD_GRC_TS}\"" >> sonic_image_links.json echo " }," >> sonic_image_links.json echo "\"sonic-generic-dbg.bin\": {" >> sonic_image_links.json echo " \"url\": \"$(echo "${ARTF_GRC}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-generic-dbg.bin/')\"," >> sonic_image_links.json echo " \"build-url\": \"https://dev.azure.com/mssonic/build/_build/results?buildId=${BUILD_GRC}&view=results\"," >> sonic_image_links.json + echo " \"diff\": \"https://github.com/Azure/sonic-buildimage/compare/"${COMMIT_GRC_2}"..."${COMMIT_GRC_1}"\"," >> sonic_image_links.json echo " \"build\": \"${BUILD_GRC}\"," >> sonic_image_links.json echo " \"date\": \"${BUILD_GRC_TS}\"" >> sonic_image_links.json echo " }," >> sonic_image_links.json echo "\"sonic-marvell-armhf.bin\": {" >> sonic_image_links.json echo " \"url\": \"$(echo "${ARTF_MRV}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-marvell-armhf.bin/')\"," >> sonic_image_links.json echo " \"build-url\": \"https://dev.azure.com/mssonic/build/_build/results?buildId=${BUILD_MRV}&view=results\"," >> sonic_image_links.json + echo " \"diff\": \"https://github.com/Azure/sonic-buildimage/compare/"${COMMIT_MRV_2}"..."${COMMIT_MRV_1}"\"," >> sonic_image_links.json echo " \"build\": \"${BUILD_MRV}\"," >> sonic_image_links.json echo " \"date\": \"${BUILD_MRV_TS}\"" >> sonic_image_links.json echo " }," >> sonic_image_links.json echo "\"sonic-nephos.bin\": {" >> sonic_image_links.json echo " \"url\": \"$(echo "${ARTF_NPH}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-nephos.bin/')\"," >> sonic_image_links.json echo " \"build-url\": \"https://dev.azure.com/mssonic/build/_build/results?buildId=${BUILD_NPH}&view=results\"," >> sonic_image_links.json + echo " \"diff\": \"https://github.com/Azure/sonic-buildimage/compare/"${COMMIT_NPH_2}"..."${COMMIT_NPH_1}"\"," >> sonic_image_links.json echo " \"build\": \"${BUILD_NPH}\"," >> sonic_image_links.json echo " \"date\": \"${BUILD_NPH_TS}\"" >> sonic_image_links.json echo " }" >> sonic_image_links.json @@ -153,3 +192,4 @@ echo "\n}" >> sonic_image_links.json git add sonic_image_links.json git commit -m "latest links for sonic images in dedicated branch sonic_latest_images_links" git push -f --set-upstream origin sonic_latest_images_links + diff --git a/images/pfc_wd/image.png b/images/pfc_wd/image.png new file mode 100644 index 0000000000..966e3eb0e1 Binary files /dev/null and b/images/pfc_wd/image.png differ diff --git a/index.html b/index.html index e4efca9291..75f120a000 100644 --- a/index.html +++ b/index.html @@ -60,7 +60,7 @@

- +

@@ -107,6 +107,7 @@
  • Workgroups
  • How To Contribute
  • Governance
  • +
  • SONiC Foundation Technical Charter
  • Security Process
  • License & Logo
  • @@ -152,7 +153,7 @@

    Software for Open Networking in the        GitHub        - OCP + Linux Foundation

    @@ -228,25 +229,31 @@

    Rapidly Growing Ecosystem

    -

    Upcoming OCP Events

    +

    Past SONiC Events

    -
    img
    +
    +
    -
    +
    + +




    +      +


    -

               OCP Global Summit - Gone Virtual - 12-15 May 2020   
    -              Join

    -




    +




        




    -
    -

    SONiC Video OCP Virtual Summit 2020

    -
    +
    + +

    Past SONiC Events

    +
    +
    +
    @@ -263,85 +270,29 @@

    Rapidly Growing Ecosystem

    @@ -351,20 +302,32 @@

    Presentations

    + + +
    +
    +
    +

    SONiC Fund Members

    + +
    +

    The SONiC Fund supports the activities of the SONiC Foundation. For information or to join the SONiC Fund, please click here.

    +
    img
    + +
    +
    +
    +
    -
    - -
    -

    Our Partners

    + +

    Contributing Organizations

    - img -
    -
    +
    img
    +
    @@ -408,7 +371,7 @@

    @@ -478,9 +441,6 @@

    diff --git a/menu.html b/menu.html index 609e460b15..36dfeb92c8 100644 --- a/menu.html +++ b/menu.html @@ -11,8 +11,7 @@ - - +
    diff --git a/newsletters.html b/newsletters.html index 9b3dff3f59..05a5162ea9 100755 --- a/newsletters.html +++ b/newsletters.html @@ -87,10 +87,13 @@

    SONiC Newsletters

    + +

    2021 December Newsletter

    +

    2021 June Newsletter

    2021 March Newsletter

    2020 December Newsletter

    -

    2020 September Newsletter

    -

    2020 June Newsletter

    +

    2020 September Newsletter

    +

    2020 June Newsletter

    2019 December Newsletter

    2019 October Newsletter

    2019 August Newsletter

    diff --git a/pdf/newsletters/SONiC_newsletter_2021_12.html b/pdf/newsletters/SONiC_newsletter_2021_12.html new file mode 100644 index 0000000000..fe937e0234 --- /dev/null +++ b/pdf/newsletters/SONiC_newsletter_2021_12.html @@ -0,0 +1,355 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +


    + + +

    +

       +

    + + + + + +

    +

    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
    + SONiC Newsletter - December 2021 +
    + RECENT EVENTS + SONiC COMMUNITY NEWS +
    + +

    + OCP Global Summit - Nov 9,10 - 2021 +

    +

    + + + + +   + + + +

    + +

    + SONiC 2021 Update and Beyond - Video + +
    +
    +

    +

    + Large Scale Deployments Made Easy - Video + +
    +
    +

    +

    + Deploying SONiC in the Enterprise - Video + +
    +
    +

    + +
    +

    It has been a wonderful year 2021 for the SONiC community with more and more features and contributions ! Appreciate all the community members for the excellent achievement for making two releases in the year amidst the abnormal routines.
    +

    50+ new features have been added with increase in number of Pull Requests from 650+ active contributors in the year 2021. 10+ new platforms have been added to the SONiC portfolio & 13 new partners have joined hands with the SONiC community. Number of test cases have doubled in sonic-mgmt repo with increased stability and predictablity in test outcomes.Community members have also participated in various webinars and demonstrated the SONiC capabilities to the world.

    +

    3 new workgroups have been created for focused feature specific community discussions and contributions !

    +

    Wishing all our community members a wonderful New year 2022 & looking forward for another successful year ahead ! +

    More Community News: +

    SONiC opens more opportunities for network innovation +

    Broadcom Strengthens its Commitment to Open Compute Project Showcasing Leading-Edge and Wide Range of Initiatives at this Year Global Summit +

    SONiC + Asterfusion An Article let you know about Our enterprise SONiC distribution AsterNOS +

    Open networking agility and control for a new era of connectivity +

    More Videos from OCP Summit: +

    Migration to SONiC from 3-tiered legacy network +

    An Auto generated test framework for improving SAI interoperability +

    FBOSS Experience of Migrating Massive Scale Networking Systems to SAI +

    SAI Challenger The SONiC-Based Framework for SAI Testing and Integration +

    SAI pipeline enhancements with Pre-Ingress ACL and MyMAC Station Stages +

    SAI For DPU + + + + +

    + SONiC RELEASE UPDATES

    +

    SONiC 202111 Release:
    Thanks to all the contributors in making one more successful release 202111. A branch has been created with the completed features given below.
    ACL orch redesign, App extension CLI generation tool, Automatic tech support & core dump creation, Better route scalability with multiple next-hops, Class-Based Forwarding, CLI level authorization, DHCP support IPv6, Dynamic Policy Based Hashing, Dynamic port breakout, EXP to TC QoS maps, EVPN VXLAN for platforms using P2MP tunnel, Handle port config change on fly, Host interface trap counter, L2 functional & performance enhancements, Debian11, Debug dump utility, Overlay ECMP, PDK - Platform Development Environment, PINS (P4 Integrated Network Stack), Reclaim reserved buffer for unused ports, Routed sub-interface naming convention, SONiC for MPLS Dataplane, SRv6 support (Cntd), Support for passing IS-IS, LDP & MicroBFD packets to CPU, Upgrade SONiC init flow & VXLAN src port configuration. The list of features and the related pull requests are tracked in the Release Tracking page. +

    +

    SONiC 202205 Release:
    Roadmap page contains the list of features that are planned for the 202205 release. Welcoming more and more contributors for design meetings and for reviewing the design and code for yet another sucessful release ! +

    +
    +NEW PLATFORMS + SONiC DESIGN DISCUSSIONS +
    + +
      +
    • Alpha networks SNJ60D0-320F
    • +
    • Mellanox SN2201
    • +
    • Accton AS4630-54NPE
    • +
    • Cisco - 8000
    • +
    • Dell S5212F
    • +
    • Dell S5224F
    • +
    • Dell N3248PXE
    • +
    • Dell N3248TE
    • +
    +
    +
    13 July +

    + + SONiC 202111 Roadmap Discussion +

    +
    20 July +

    + + DHCPv6 Relay agent +

    +
    27 July +

    + + SONiC 202111 feature Discussion +

    +
    03 Aug +

    + + Class Based Forwarding HLD +

    +
    10 Aug +

    + + SONiC_SFP_refactoring HLD +

    +
    17 Aug +

    + + PINS HLD +

    +
    24 Aug +

    + + SAG - Static Anycast Gateway +

    +
    31 Aug +

    + + Show Running Command Enhancement +

    +
    07 Sep +

    + + Handle port config change on fly in xcvrd & Reclaim reserved buffer for unused ports +

    +
    14 Sep +

    + + ECMP Overlay BFD support +

    +
    21 Sep +

    + + SONiC TACACS per command authorization and accounting & MPLS EXP to TC maps +

    +
    28 Sep +

    + + Host Interface counters & Guidelines for reference proprietary code +

    +
    05 Oct +

    + + CMIS Diagnostics & System Ready Enhancements +

    +
    12 Oct +

    + + NVGRE & Dynamic Policy Based Hashing +

    +
    19 Oct +

    + + 202111 Release Tracking +

    +
    26 Oct +

    + + 202111 Release Tracking +

    +
    02 Nov +

    + + The SONiC-Based Framework for SAI Testing and Integration +

    +
    16 Nov +

    + + 202111 Release Tracking +

    +
    29 Nov +

    + + 202111 Release Tracking +

    +
        +
    + + + \ No newline at end of file diff --git a/previous_presentations.html b/previous_presentations.html index 1a4b32beaa..2a1b136675 100644 --- a/previous_presentations.html +++ b/previous_presentations.html @@ -95,6 +95,13 @@

    PREVIOUS PRESENTATIONS

    SONiC - Enabling Fast Evolution in the Networks

    OCP Summit 2018 and SONiC/SAI Workshop Slides

    OCP Summit 2016 SONiC Presentation Slides

    +

    OCP 2020 Virtual Summit - Panel Discussion - Open Networking and SONiC

    +

    SONiC Video From OCP Summit 2019

    +

    OCP Amsterdam 2019 Regional Summit - Going SONiC Together

    +

    OCP Amsterdam 2019 Regional Summit - SONiC – Reliability, Manageability and Extensibility

    +

    OCP Amsterdam 2019 Regional Summit - SONiC Ansible Test Automation

    +

    OCP Amsterdam 2019 Regional Summit - Enabling PIM card hot swapping in SONiC for Minipack

    +
    diff --git a/sonic_latest_images.html b/sonic_latest_images.html index 5636a5f36f..ddae784c35 100644 --- a/sonic_latest_images.html +++ b/sonic_latest_images.html @@ -1,3 +1,4 @@ + @@ -33,7 +34,7 @@
    - SONiC logo + SONiC logo
    @@ -67,7 +68,6 @@

    Latest Successful Builds

    - NOTE: The 5 digit number given in the cells specifies the build Id of the images.

    click here for previous builds
    @@ -80,7 +80,7 @@

    Latest Successful Builds

    - + \ No newline at end of file diff --git a/supported_devices_platforms_md.sh b/supported_devices_platforms_md.sh index fa3d0f76e0..b9c4efb779 100644 --- a/supported_devices_platforms_md.sh +++ b/supported_devices_platforms_md.sh @@ -106,7 +106,7 @@ echo "| 34 | Barefoot | Wedge 100BF-32 | Barefoot | Tofino echo "| 35 | Barefoot | Wedge 100BF-65X | Barefoot | Tofino | 32x100G | [SONiC-ONIE-Barefoot]($(echo "${ARTF_BFT}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-barefoot.bin/')) |" >> supported_devices_platforms.md echo "| 36 | Celestica | DX010 | Broadcom | Tomahawk | 32x100G | [SONiC-ONIE-Broadcom]($(echo "${ARTF_BRCM}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-broadcom.bin/')) |" >> supported_devices_platforms.md echo "| 37 | Celestica | E1031 | Broadcom | Helix4 | 48x1G + 4x10G | [SONiC-ONIE-Broadcom]($(echo "${ARTF_BRCM}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-broadcom.bin/')) |" >> supported_devices_platforms.md -echo "| 38 | Celestica | midstone-200i | Innovium | Teralynx 7 | 128x100G |[SONiC-ONIE-Innovium]($(echo "${ARTF_INNO}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-innovium-dbg.bin/')) |" >> supported_devices_platforms.md +echo "| 38 | Celestica | midstone-200i | Marvell | Teralynx 7 | 128x100G |[SONiC-ONIE-Innovium]($(echo "${ARTF_INNO}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-innovium-dbg.bin/')) |" >> supported_devices_platforms.md echo "| 39 | Celestica | Silverstone | Broadcom | Tomahawk 3 | 32x400G | [SONiC-ONIE-Broadcom]($(echo "${ARTF_BRCM}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-broadcom.bin/')) |" >> supported_devices_platforms.md echo "| 40 | Celestica | Seastone_2 | Broadcom | Trident 3 | 32x100G | [SONiC-ONIE-Broadcom]($(echo "${ARTF_BRCM}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-broadcom.bin/')) |" >> supported_devices_platforms.md echo "| 41 | Centec | E582-48X2Q | Centec | Goldengate | 48x10G + 2x40G + 4x100G | [SONiC-ONIE-Centec]($(echo "${ARTF_CTC}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-centec.bin/')) |" >> supported_devices_platforms.md @@ -131,7 +131,7 @@ echo "| 59 | Delta | AG5648 | Broadcom | Tomahawk | echo "| 60 | Delta | AG9032V1 | Broadcom | Tomahawk | 32x100G | [SONiC-ONIE-Broadcom]($(echo "${ARTF_BRCM}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-broadcom.bin/')) |" >> supported_devices_platforms.md echo "| 61 | Delta | AG9032V2A | Broadcom | Trident 3 | 32x100G + 1x10G | [SONiC-ONIE-Broadcom]($(echo "${ARTF_BRCM}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-broadcom.bin/')) |" >> supported_devices_platforms.md echo "| 62 | Delta | AG9064 | Broadcom | Tomahawk 2 | 64x100G | [SONiC-ONIE-Broadcom]($(echo "${ARTF_BRCM}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-broadcom.bin/')) |" >> supported_devices_platforms.md -echo "| 63 | Delta | et-c032if | Innovium | Teralynx 7 | 32x400G |[SONiC-ONIE-Innovium]($(echo "${ARTF_INNO}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-innovium-dbg.bin/')) |" >> supported_devices_platforms.md +echo "| 63 | Delta | et-c032if | Marvell | Teralynx 7 | 32x400G |[SONiC-ONIE-Innovium]($(echo "${ARTF_INNO}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-innovium-dbg.bin/')) |" >> supported_devices_platforms.md echo "| 64 | Delta | ET-6448M | Marvell | Prestera 98DX3255 | 48xGE + 4x10G | [SONiC-ONIE-Marvell]($(echo "${ARTF_MRV}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-marvell-armhf.bin/')) |" >> supported_devices_platforms.md echo "| 65 | Delta | agc032 | Broadcom | Tomahawk3 | 32x400G + 2x10G | [SONiC-ONIE-Marvell]($(echo "${ARTF_MRV}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-marvell-armhf.bin/')) |" >> supported_devices_platforms.md echo "| 66 | Embedway | ES6220 (48x10G) | Centec | Goldengate | 48x10G + 2x40G + 4x100G | [SONiC-ONIE-Centec]($(echo "${ARTF_CTC}" | sed 's/format=zip/format=file\&subpath=\/target\/sonic-centec.bin/')) |" >> supported_devices_platforms.md diff --git a/workgroups.html b/workgroups.html index 267c5aeee2..97a7d82f9b 100644 --- a/workgroups.html +++ b/workgroups.html @@ -349,6 +349,18 @@

    SONiC-Documentation-Workgroup Ch

    +
    +

    SONiC-PINS Subgroup

    +

    Join the mailing list sonic-pins-subgroup@googlegroups.com

    +

    Workgroup SONiC-PINS Subgroup +

    Current Status : Active

    +

    SONiC-PINS Subgroup Charter

    +

    +

      +
    1. This subgroup is for PINS which extends SONiC with an Software-Defined Networking (SDN) interface and P4 programmable pipeline.
    2. +
    +

    +