Developer
Wei Dai
daiweix@meta.com
Performance
YoY:+509%Key patterns and highlights from this developer's activity.
Breakdown of growth, maintenance, and fixes effort over time.
Bugs introduced vs. fixed over time.
Reclassifies engineering effort based on bug attribution. Commits that introduced bugs are retrospectively counted as poor investments.
Investment Quality reclassifies engineering effort based on bug attribution data. Commits identified as buggy origins (those that introduced bugs later fixed by someone) have their grow and maintenance time moved into the Wasted Time category. Their waste (fix commits) remains counted as productive. All other commits retain their standard classification: grow is productive, maintenance is maintenance, and waste (fixes) is productive.
The standard model classifies commits as Growth, Maintenance, or Fixes. Investment Quality adds a quality lens: a commit that introduced a bug is retrospectively counted as a poor investment — the engineering time spent on it was wasted because it ultimately required additional fix work. Fix commits (Fixes in the standard model) are reframed as productive, because fixing bugs is valuable work.
Currently computed client-side from commit and bug attribution data. Ideal server-side endpoint:
POST /v1/organizations/{orgId}/investment-quality
Content-Type: application/json
Request:
{
"startTime": "2025-01-01T00:00:00Z",
"endTime": "2025-12-31T23:59:59Z",
"bucketSize": "BUCKET_SIZE_MONTH",
"groupBy": ["repository_id" | "deliverer_email"]
}
Response:
{
"productivePct": 74,
"maintenancePct": 18,
"wastedPct": 8,
"buckets": [
{
"bucketStart": "2025-01-01T00:00:00Z",
"productive": 4.2,
"maintenance": 1.8,
"wasted": 0.6
}
]
}Latest analyzed commits from this developer.
| Hash | Message | Date | Files | Effort |
|---|---|---|---|---|
| 1e01e53 | This commit **enhances the robustness and reliability of multinode tests** within the `fboss/agent/test/agent_multinode_tests` suite. It **improves the `verifyDsfCluster` utility** by increasing its retry count from 10 to 100, providing more time for **DSF cluster verification** to converge. Concurrently, the **`verifyHyperPortMemberCableLengthForSwitch` function** is made more accurate and informative by adding a check that returns `false` if a hyper port member's `operState` is not `UP`, preventing erroneous cable length checks on inactive ports. Furthermore, **successful cable length measurements are now logged**, significantly improving observability and debugging capabilities for **hyper port configurations**. These **test enhancements** will lead to more stable and informative test results for **DSF and hyper port functionalities**. | Mar 27 | 1 | maint |
| f71a4ef | This commit **enhances the multi-NPU test framework** by converting the `reachDiscard` test in `AgentFabricSwitchTests.cpp` to operate on a **per-NPU basis**. It replaces the `for (auto switchId : getFabricSwitchIdsWithPorts())` loop with `getCurrentSwitchIdForTesting()`, making the test more granular and aligned with the multi-NPU testing paradigm. Additionally, this change **fixes a pre-existing bug** in hardware statistics collection where `getHwSwitchStats()` was incorrectly called with `switchId` instead of `switchIndex`. This bug previously caused stats fetching to fail for secondary NPUs on platforms where `switchId` and `switchIndex` differ, ensuring **reliable statistics reporting** for multi-NPU setups by correctly using `getSwitchIndexFromSwitchId()`. | Mar 27 | 1 | maint |
| 3236662 | This commit **fixes a bug** in the **FBOSS agent multi-node tests** by modifying the `verifyHyperPortMemberCableLengthForSwitch` function. Previously, this test incorrectly attempted to verify cable length for hyper port members that were in a 'DOWN' operational state, leading to test failures and 60-second timeouts because cable length data is only collected for active ports. The change in `AgentMultiNodeDsfUtils.cpp` now **skips cable length verification for down hyper port members**, aligning the test's behavior with the agent's data collection logic. This **improves test reliability** and stability by preventing spurious failures caused by transient port states. | Mar 27 | 1 | maint |
| 7b4cca5 | This commit **fixes a bug** in the **SAI port management** logic by **correcting the application of global flow control mode** for **HyperPort Members**. Specifically, the `attributesFromSwPort` function in `fboss/agent/hw/sai/switch/npu/SaiPortManager.cpp` is updated to **skip setting `SAI_PORT_ATTR_GLOBAL_FLOW_CONTROL_MODE` on HyperPort Members**, as their flow control should be inherited from the parent **HyperPort**. This change aligns with the SAI attributes proposal, ensuring **compliant NPU configuration** and preventing potential misconfigurations for **HyperPort** setups. Additionally, it introduces a check for unsupported pause configurations, enhancing the overall robustness of the **port configuration process**. | Mar 27 | 1 | waste |
| db6d67e | This commit **fixes** the handling of **Priority Flow Control (PFC) attributes** for **hyper port member ports** within the FBOSS agent's SAI layer. It **prevents PFC attributes from being set directly on member ports** during port creation (`attributesFromSwPort`) and guards against runtime PFC programming (`programPfc`) for them. This **compliance update** ensures that PFC configuration for hyper port members is correctly determined by their parent hyper port, aligning with the hyperport SAI attributes proposal and maintaining **configuration consistency** across the `SaiPortManager`. | Mar 26 | 2 | waste |
| 6f1e36d | This commit **fixes** an issue in the **SAI port management** by **preventing the incorrect application of PRBS (Pseudo-Random Binary Sequence) attributes to aggregate HyperPorts**. Previously, PRBS attributes were configured for all port types supporting the `SAI_PRBS` feature, but per the SAI attributes proposal, these physical layer diagnostics are only relevant for individual member ports or normal ports. The change in `fboss/agent/hw/sai/switch/npu/SaiPortManager.cpp` within the `attributesFromSwPort` function ensures that `SAI_PORT_ATTR_PRBS_POLYNOMIAL` and `SAI_PORT_ATTR_PRBS_CONFIG` are now correctly skipped for HyperPorts, **improving compliance** with the SAI specification and **ensuring proper diagnostic behavior** for physical layer ports. | Mar 26 | 1 | waste |
| 41787e7 | This commit **refines the configuration logic for Telemetry And Monitoring (TAM) objects** within the **SaiPortManager**, specifically addressing **HyperPort** functionality. It introduces port-type guards in the `setTamObject()` and `resetTamObject()` functions in `SaiPortManager.cpp` to prevent TAM object programming on **HyperPort Member** ports. This change is a **compliance update** aligning with the SAI attributes proposal, which specifies that `SAI_PORT_ATTR_TAM_OBJECT` should only be applied to logical aggregate HyperPorts. By ensuring TAM for mirror-on-drop operates exclusively at the aggregate port level, this **improves the correctness and efficiency of TAM operations** by avoiding unnecessary or incorrect configurations on individual member lanes. | Mar 26 | 1 | waste |
| a67cad5 | This commit **enhances the multinode testing framework** by introducing a new test case, `AgentMultiNodeHyperPortTest`, to **verify cable length reporting for hyper port members on EDSWs**. It adds robust logic to query aggregate port information and confirm that `cableLengthMeters` is correctly populated (>= 0) for each hyper port member, utilizing retry mechanisms to account for periodic stats collection. This **new test capability** also resolves a previous TODO, integrating cable length verification into the existing `verifyPortsForEdsws()` function as part of the broader **DSF cluster validation**, ensuring critical physical link properties are accurately reported. | Mar 25 | 1 | maint |
| a6e614c | This commit introduces a **stability improvement** to the **FBOSS agent's Link Aggregation Manager** by adding a crucial null check. Specifically, it **fixes a potential segfault** within the `updateHyperPortState` function in `LinkAggregationManager.cpp`. Previously, the result of `getNodeIf()` was immediately dereferenced without validation, which could lead to a crash if a hyper port was concurrently removed due to a **race condition**. The change now gracefully handles this scenario by checking for `nullptr`, logging a warning, and returning an empty state, thereby preventing agent crashes and enhancing overall system robustness. | Mar 25 | 1 | waste |
| 8be0ce7 | This commit **enhances network diagnostics** by **enabling FEC error detection (FDR)** for **HYPER_PORT_MEMBER** ports within the **FBOSS SAI port management** layer. Previously, FDR was only active for `INTERFACE_PORT` types, but `HYPER_PORT_MEMBER` ports are the actual physical interfaces carrying traffic where FEC errors occur. By modifying the `attributesFromSwPort` function in `SaiPortManager.cpp`, this change ensures that `SAI_PORT_ATTR_FDR_ENABLE` is correctly applied to these critical physical ports. This **feature enhancement** and **fix** allows for the proper collection of FEC codeword statistics, significantly improving **error monitoring and visibility** on high-speed network links. | Mar 25 | 1 | waste |
| 3dfdad6 | This commit **implements hyper port verification** within the `verifyDsfCluster()` utility, specifically for **DSF cluster multi-node tests**. It adds checks to ensure hyper port members are operationally up with correct LACP forwarding, and that the aggregate hyper port is enabled and up. This **enhances the test coverage and reliability** of the DSF cluster by validating critical hyper port states using `getAggregatePortTable` and `getPortIdToPortInfo` Thrift APIs. This is a **new capability** for the testing framework, addressing previously unimplemented TODOs in `fboss/agent/test/agent_multinode_tests/AgentMultiNodeDsfUtils.cpp`. | Mar 25 | 1 | maint |
| 974855b | This commit **fixes a bug** where transmit (TX) settings were incorrectly reported as zero in the `fboss2 show interface ethXXX phy` CLI output. It **enhances the `SaiSwitch` component** within the **FBOSS agent's hardware abstraction layer** by modifying `SaiSwitch::updatePmdInfo()` to correctly populate `txSettings` information. A new helper function, `SaiPortManager::getTxSettings`, was introduced to retrieve these settings directly from **SAI attributes** for PMD lanes. This ensures that the **physical interface diagnostic information** is accurate and complete, providing network operators with **correct and complete interface statistics**. | Mar 25 | 3 | grow |
| 8d63df1 | This commit **fixes a critical bug** in the **FBOSS agent's fabric overdrain monitoring**, specifically for **VOQ switches with hyper ports**. Previously, the `computeFabricOverdrainPct` function in `fboss/agent/PortUpdateHandler.cpp` incorrectly excluded `HYPER_PORT` types from its Network Interface (NIF) bandwidth calculation, leading to a misleading 0% overdrain report and masking actual fabric capacity issues. By **including `HYPER_PORT` in the bandwidth accounting**, this change ensures **accurate reporting of fabric utilization**, providing operators with correct telemetry for capacity planning and problem detection. `HYPER_PORT_MEMBER` types are deliberately omitted to prevent double-counting, as the hyper port's speed already represents its aggregate members. | Mar 21 | 1 | waste |
| b486990 | This commit introduces a **defensive programming improvement** within the **FBOSS agent's Link Aggregation Manager**. It **initializes** the `newPortState` variable to `cfg::PortState::DISABLED` in the `updateHyperPortState()` function. This change **prevents the potential reading of an uninitialized variable**, enhancing the **robustness** and **stability** of port state management. Although current logic guards against immediate issues, this **pre-emptive bug fix** mitigates future fragility and potential errors in **hyper-port state updates**. | Mar 21 | 1 | waste |
| f2463aa | This commit **fixes a critical bug** in the **FBOSS CLI `port details` command** where the `_convert_bps` method would crash with an `AssertionError` when processing port speeds of 1 Tbps or higher. The **port speed conversion logic** within `fboss/py/fboss/cli/commands/port.py` has been enhanced to correctly handle **Tbps (terabits per second)** by adding it to the unit conversion table. Furthermore, the problematic assertion has been replaced with a graceful fallback, ensuring the CLI command now **displays all port speeds accurately and robustly**, preventing crashes and improving user experience for high-speed network interfaces. | Mar 21 | 1 | waste |
| 9bd0289 | This commit **enhances the `fboss2 show aggregate-port` CLI command** by providing a clearer distinction between the physical link status and LACP forwarding state for aggregate port members. Previously, only a single "Up" field represented LACP forwarding; now, a dedicated "Link" field (Up/Down) is displayed alongside a renamed "Fwding" field (True/False). This **usability improvement** involves **updating the CLI's internal Thrift model** to include an `isLinkUp` field and **correcting test data** to reflect realistic port states. The change significantly **improves network troubleshooting capabilities** by offering more granular diagnostic information for aggregate ports. | Mar 21 | 3 | grow |
| fae43f7 | This commit performs a **configuration alignment and feature enablement** for the **Jericho4 simulator (J4SIM)**, bringing its behavior closer to the MERU800BIA platform. It **enables Virtual Output Queueing (VOQ) support** for J4SIM by moving the feature out of a simulator-excluded block in `Jericho4Asic.cpp`, ensuring consistent VOQ configuration. Additionally, it **adjusts Control Plane Policing (CoPP) configurations** by removing DHCP and DHCPv6 Rx reason traps for Jericho4 in `CoppTestUtils.cpp`, anticipating a future ACL-based handling for these packets. Finally, support for the `PORT_MTU_ERROR_TRAP` feature is **temporarily disabled** for J4SIM due to current recycle port limitations. | Mar 20 | 3 | grow |
| 9bec8ba | This commit **updates the configuration** for the **`j4sim` agent**, specifically within the `fboss/oss/hw_test_configs/j4sim.agent.materialized_JSON` file. It introduces two new vendor-specific parameters, `rif_id_max` set to `0x2000` and `AI23_mode` set to `4`, into the `vendor_config` section. This **configuration update** is essential for the proper simulation and operation of the **J4 hardware platform**, enabling necessary settings for its functionality. | Mar 20 | 1 | grow |
| c546c3a | This commit introduces a **new capability** to the **FBOSS agent's Thrift API** by adding `flushNeighborEntries`. This new method allows for the **bulk flushing of multiple neighbor entries** in a single API call, addressing performance issues and rate limiting encountered when flushing many entries individually. It impacts the **neighbor management subsystem** by providing a more efficient mechanism for clearing neighbor states. The change includes updates to `ctrl.thrift` for API definition, `ThriftHandler.cpp` for implementation, and comprehensive tests in `ThriftTest.cpp`. | Mar 20 | 4 | maint |
| edd4a6d | This commit **refactors** the `setPrbsOnAllInterfaces` function within the **AgentEnsemblePrbsTest** to enhance the efficiency of PRBS configuration. It now leverages the new `setInterfacesPrbs` bulk API, which groups **ASIC ports** by polynomial and sets their PRBS in a single RPC call per group, replacing the previous loop of individual calls. This **optimization** significantly streamlines the PRBS setup for ASIC interfaces, while **non-ASIC (transceiver) ports** continue to be handled individually via `QsfpService`. The change primarily impacts the **PRBS testing framework**, making the test setup for ASIC interfaces more performant and reducing RPC overhead. | Mar 20 | 1 | maint |
This commit **enhances the robustness and reliability of multinode tests** within the `fboss/agent/test/agent_multinode_tests` suite. It **improves the `verifyDsfCluster` utility** by increasing its retry count from 10 to 100, providing more time for **DSF cluster verification** to converge. Concurrently, the **`verifyHyperPortMemberCableLengthForSwitch` function** is made more accurate and informative by adding a check that returns `false` if a hyper port member's `operState` is not `UP`, preventing erroneous cable length checks on inactive ports. Furthermore, **successful cable length measurements are now logged**, significantly improving observability and debugging capabilities for **hyper port configurations**. These **test enhancements** will lead to more stable and informative test results for **DSF and hyper port functionalities**.
This commit **enhances the multi-NPU test framework** by converting the `reachDiscard` test in `AgentFabricSwitchTests.cpp` to operate on a **per-NPU basis**. It replaces the `for (auto switchId : getFabricSwitchIdsWithPorts())` loop with `getCurrentSwitchIdForTesting()`, making the test more granular and aligned with the multi-NPU testing paradigm. Additionally, this change **fixes a pre-existing bug** in hardware statistics collection where `getHwSwitchStats()` was incorrectly called with `switchId` instead of `switchIndex`. This bug previously caused stats fetching to fail for secondary NPUs on platforms where `switchId` and `switchIndex` differ, ensuring **reliable statistics reporting** for multi-NPU setups by correctly using `getSwitchIndexFromSwitchId()`.
This commit **fixes a bug** in the **FBOSS agent multi-node tests** by modifying the `verifyHyperPortMemberCableLengthForSwitch` function. Previously, this test incorrectly attempted to verify cable length for hyper port members that were in a 'DOWN' operational state, leading to test failures and 60-second timeouts because cable length data is only collected for active ports. The change in `AgentMultiNodeDsfUtils.cpp` now **skips cable length verification for down hyper port members**, aligning the test's behavior with the agent's data collection logic. This **improves test reliability** and stability by preventing spurious failures caused by transient port states.
This commit **fixes a bug** in the **SAI port management** logic by **correcting the application of global flow control mode** for **HyperPort Members**. Specifically, the `attributesFromSwPort` function in `fboss/agent/hw/sai/switch/npu/SaiPortManager.cpp` is updated to **skip setting `SAI_PORT_ATTR_GLOBAL_FLOW_CONTROL_MODE` on HyperPort Members**, as their flow control should be inherited from the parent **HyperPort**. This change aligns with the SAI attributes proposal, ensuring **compliant NPU configuration** and preventing potential misconfigurations for **HyperPort** setups. Additionally, it introduces a check for unsupported pause configurations, enhancing the overall robustness of the **port configuration process**.
This commit **fixes** the handling of **Priority Flow Control (PFC) attributes** for **hyper port member ports** within the FBOSS agent's SAI layer. It **prevents PFC attributes from being set directly on member ports** during port creation (`attributesFromSwPort`) and guards against runtime PFC programming (`programPfc`) for them. This **compliance update** ensures that PFC configuration for hyper port members is correctly determined by their parent hyper port, aligning with the hyperport SAI attributes proposal and maintaining **configuration consistency** across the `SaiPortManager`.
This commit **fixes** an issue in the **SAI port management** by **preventing the incorrect application of PRBS (Pseudo-Random Binary Sequence) attributes to aggregate HyperPorts**. Previously, PRBS attributes were configured for all port types supporting the `SAI_PRBS` feature, but per the SAI attributes proposal, these physical layer diagnostics are only relevant for individual member ports or normal ports. The change in `fboss/agent/hw/sai/switch/npu/SaiPortManager.cpp` within the `attributesFromSwPort` function ensures that `SAI_PORT_ATTR_PRBS_POLYNOMIAL` and `SAI_PORT_ATTR_PRBS_CONFIG` are now correctly skipped for HyperPorts, **improving compliance** with the SAI specification and **ensuring proper diagnostic behavior** for physical layer ports.
This commit **refines the configuration logic for Telemetry And Monitoring (TAM) objects** within the **SaiPortManager**, specifically addressing **HyperPort** functionality. It introduces port-type guards in the `setTamObject()` and `resetTamObject()` functions in `SaiPortManager.cpp` to prevent TAM object programming on **HyperPort Member** ports. This change is a **compliance update** aligning with the SAI attributes proposal, which specifies that `SAI_PORT_ATTR_TAM_OBJECT` should only be applied to logical aggregate HyperPorts. By ensuring TAM for mirror-on-drop operates exclusively at the aggregate port level, this **improves the correctness and efficiency of TAM operations** by avoiding unnecessary or incorrect configurations on individual member lanes.
This commit **enhances the multinode testing framework** by introducing a new test case, `AgentMultiNodeHyperPortTest`, to **verify cable length reporting for hyper port members on EDSWs**. It adds robust logic to query aggregate port information and confirm that `cableLengthMeters` is correctly populated (>= 0) for each hyper port member, utilizing retry mechanisms to account for periodic stats collection. This **new test capability** also resolves a previous TODO, integrating cable length verification into the existing `verifyPortsForEdsws()` function as part of the broader **DSF cluster validation**, ensuring critical physical link properties are accurately reported.
This commit introduces a **stability improvement** to the **FBOSS agent's Link Aggregation Manager** by adding a crucial null check. Specifically, it **fixes a potential segfault** within the `updateHyperPortState` function in `LinkAggregationManager.cpp`. Previously, the result of `getNodeIf()` was immediately dereferenced without validation, which could lead to a crash if a hyper port was concurrently removed due to a **race condition**. The change now gracefully handles this scenario by checking for `nullptr`, logging a warning, and returning an empty state, thereby preventing agent crashes and enhancing overall system robustness.
This commit **enhances network diagnostics** by **enabling FEC error detection (FDR)** for **HYPER_PORT_MEMBER** ports within the **FBOSS SAI port management** layer. Previously, FDR was only active for `INTERFACE_PORT` types, but `HYPER_PORT_MEMBER` ports are the actual physical interfaces carrying traffic where FEC errors occur. By modifying the `attributesFromSwPort` function in `SaiPortManager.cpp`, this change ensures that `SAI_PORT_ATTR_FDR_ENABLE` is correctly applied to these critical physical ports. This **feature enhancement** and **fix** allows for the proper collection of FEC codeword statistics, significantly improving **error monitoring and visibility** on high-speed network links.
This commit **implements hyper port verification** within the `verifyDsfCluster()` utility, specifically for **DSF cluster multi-node tests**. It adds checks to ensure hyper port members are operationally up with correct LACP forwarding, and that the aggregate hyper port is enabled and up. This **enhances the test coverage and reliability** of the DSF cluster by validating critical hyper port states using `getAggregatePortTable` and `getPortIdToPortInfo` Thrift APIs. This is a **new capability** for the testing framework, addressing previously unimplemented TODOs in `fboss/agent/test/agent_multinode_tests/AgentMultiNodeDsfUtils.cpp`.
This commit **fixes a bug** where transmit (TX) settings were incorrectly reported as zero in the `fboss2 show interface ethXXX phy` CLI output. It **enhances the `SaiSwitch` component** within the **FBOSS agent's hardware abstraction layer** by modifying `SaiSwitch::updatePmdInfo()` to correctly populate `txSettings` information. A new helper function, `SaiPortManager::getTxSettings`, was introduced to retrieve these settings directly from **SAI attributes** for PMD lanes. This ensures that the **physical interface diagnostic information** is accurate and complete, providing network operators with **correct and complete interface statistics**.
This commit **fixes a critical bug** in the **FBOSS agent's fabric overdrain monitoring**, specifically for **VOQ switches with hyper ports**. Previously, the `computeFabricOverdrainPct` function in `fboss/agent/PortUpdateHandler.cpp` incorrectly excluded `HYPER_PORT` types from its Network Interface (NIF) bandwidth calculation, leading to a misleading 0% overdrain report and masking actual fabric capacity issues. By **including `HYPER_PORT` in the bandwidth accounting**, this change ensures **accurate reporting of fabric utilization**, providing operators with correct telemetry for capacity planning and problem detection. `HYPER_PORT_MEMBER` types are deliberately omitted to prevent double-counting, as the hyper port's speed already represents its aggregate members.
This commit introduces a **defensive programming improvement** within the **FBOSS agent's Link Aggregation Manager**. It **initializes** the `newPortState` variable to `cfg::PortState::DISABLED` in the `updateHyperPortState()` function. This change **prevents the potential reading of an uninitialized variable**, enhancing the **robustness** and **stability** of port state management. Although current logic guards against immediate issues, this **pre-emptive bug fix** mitigates future fragility and potential errors in **hyper-port state updates**.
This commit **fixes a critical bug** in the **FBOSS CLI `port details` command** where the `_convert_bps` method would crash with an `AssertionError` when processing port speeds of 1 Tbps or higher. The **port speed conversion logic** within `fboss/py/fboss/cli/commands/port.py` has been enhanced to correctly handle **Tbps (terabits per second)** by adding it to the unit conversion table. Furthermore, the problematic assertion has been replaced with a graceful fallback, ensuring the CLI command now **displays all port speeds accurately and robustly**, preventing crashes and improving user experience for high-speed network interfaces.
This commit **enhances the `fboss2 show aggregate-port` CLI command** by providing a clearer distinction between the physical link status and LACP forwarding state for aggregate port members. Previously, only a single "Up" field represented LACP forwarding; now, a dedicated "Link" field (Up/Down) is displayed alongside a renamed "Fwding" field (True/False). This **usability improvement** involves **updating the CLI's internal Thrift model** to include an `isLinkUp` field and **correcting test data** to reflect realistic port states. The change significantly **improves network troubleshooting capabilities** by offering more granular diagnostic information for aggregate ports.
This commit performs a **configuration alignment and feature enablement** for the **Jericho4 simulator (J4SIM)**, bringing its behavior closer to the MERU800BIA platform. It **enables Virtual Output Queueing (VOQ) support** for J4SIM by moving the feature out of a simulator-excluded block in `Jericho4Asic.cpp`, ensuring consistent VOQ configuration. Additionally, it **adjusts Control Plane Policing (CoPP) configurations** by removing DHCP and DHCPv6 Rx reason traps for Jericho4 in `CoppTestUtils.cpp`, anticipating a future ACL-based handling for these packets. Finally, support for the `PORT_MTU_ERROR_TRAP` feature is **temporarily disabled** for J4SIM due to current recycle port limitations.
This commit **updates the configuration** for the **`j4sim` agent**, specifically within the `fboss/oss/hw_test_configs/j4sim.agent.materialized_JSON` file. It introduces two new vendor-specific parameters, `rif_id_max` set to `0x2000` and `AI23_mode` set to `4`, into the `vendor_config` section. This **configuration update** is essential for the proper simulation and operation of the **J4 hardware platform**, enabling necessary settings for its functionality.
This commit introduces a **new capability** to the **FBOSS agent's Thrift API** by adding `flushNeighborEntries`. This new method allows for the **bulk flushing of multiple neighbor entries** in a single API call, addressing performance issues and rate limiting encountered when flushing many entries individually. It impacts the **neighbor management subsystem** by providing a more efficient mechanism for clearing neighbor states. The change includes updates to `ctrl.thrift` for API definition, `ThriftHandler.cpp` for implementation, and comprehensive tests in `ThriftTest.cpp`.
This commit **refactors** the `setPrbsOnAllInterfaces` function within the **AgentEnsemblePrbsTest** to enhance the efficiency of PRBS configuration. It now leverages the new `setInterfacesPrbs` bulk API, which groups **ASIC ports** by polynomial and sets their PRBS in a single RPC call per group, replacing the previous loop of individual calls. This **optimization** significantly streamlines the PRBS setup for ASIC interfaces, while **non-ASIC (transceiver) ports** continue to be handled individually via `QsfpService`. The change primarily impacts the **PRBS testing framework**, making the test setup for ASIC interfaces more performant and reducing RPC overhead.
Commit activity distribution by hour and day of week. Shows when this developer is most active.
Developers who frequently work on the same files and symbols. Higher score means stronger code collaboration.