Ron He
90d · built 2026-09-08
Performance
What Ron He shipped in the selected window, measured in ETV, and how it compares with the 90 days before it.
Effective capacity
−0.2engineers
delivers like 0.8 (0.8x pre-AI)
Output (ETV)
9.1ETV
−4.8% vs 9.6 prior
Features share
43.2%
+11.5 pp vs prior window
Fixes share
13.6%
+8.7 pp vs prior window
Work mix
43.2% Features6% Maintenance34.4% Tests2.7% Docs13.6% Fixes
103 commits over 90 days, ending 2026-09-08.
Daily performance
Daily ETV, stacked by Features, Maintenance, Tests, Docs and Fixes.
Repository spread
Where this developer's commits land. Concentrated work (top1 > 80%) vs polymath spread (top1 < 30%).
Most impactful commits
Top 10 by ETV in the last 90 days.
- 0.4ETVAdd and enable the ACL entry LabelExtended attribute Summary: An ACL entry's AdapterHostKey is `TableId` + `Priority`, so two entries in a table cannot share a priority -- PBR needs exactly that. Adds `LabelExtended` as a third key element, populated from the entry name and enabled on leaba 26.5.5210 only (26.5.5211 dropped the `SAI_ACL_ENTRY_ATTR_EXT_*` block). Also adds `std::vector<sai_int8_t>` to the tracer's `listFuncMap_`, without which the replayer silently drops every s8list extension attribute. Reviewed By: shri-khare Differential Revision: D115700700 fbshipit-source-id: 62d92aa41d991200f4665a7323b0a94d585823a0github.com-facebook-fboss · 54963da1 · 2026-08-19
- 0.4ETVDon't recreate an ACL table when the qualifiers match the ASIC default Summary: An empty `qualifiers` list means "whatever the ASIC supports", but `needsAclTableRecreate` compared the raw config vector, so a config that starts publishing exactly the set `getSupportedQualifierSet()` derives tore the table down and rebuilt every entry in it for no attribute change. Compare the effective sets instead, since we are adding configeator changes that publishes `AclTable1`'s qualifiers on wedge400/wedge400c/darwin RSWs. Without it will, rebuild the whole CoPP table on an ordinary config reload. Reviewed By: jasmeetbagga Differential Revision: D118198508 fbshipit-source-id: ec35e96b7abf3519e84b89e05e7a49152c44e52dgithub.com-facebook-fboss · 1dee97a0 · 2026-09-02
- 0.3ETVAdd SAI ACL FieldNextHopGroupId extension match attribute Summary: Adds the FieldNextHopGroupId SAI extension attribute on the AclEntry trait: an OID-valued match field wired through the SaiExtensionAttribute machinery. PBR uses this to match on the SAI next-hop-group OID a packet is destined to. bcm/oss/tajo currently return nullopt (TODO to wire the real vendor extension id once exposed); the fake build resolves it to a custom-range id. Adds a concrete SaiAclEntryFieldSaiObjectIdTDefault so the extension's defaultValue() compiles for the OID wrapper type. Reviewed By: jasmeetbagga Differential Revision: D107758055 fbshipit-source-id: 61b40a35e672be4549098219ca3afe16385aad7agithub.com-facebook-fboss · 53af05b2 · 2026-06-24
- 0.3ETVAdd LabelExtended counter SAI attribute Summary: Onboard the leaba extension attribute `SAI_COUNTER_ATTR_EXT_LABEL_EXTENDED` (`sai_s8_list_t` -> `std::vector<int8_t>`) as `SaiCounterTraits::LabelExtended` so route-counter labels can exceed the 32-byte `SAI_COUNTER_ATTR_LABEL`. A `SaiS8ListDefault` default getter keeps warmboot reload tolerant of counters created without it. No behavior change yet (all call sites pass `std::nullopt`); usage is gated on `FLAGS_srv6` in a later diff. Kept as one atomic diff because the SAI replayer attribute audit requires the attribute and its tracer registration to land together. Reviewed By: shri-khare Differential Revision: D113505026 fbshipit-source-id: fdb01327d00e6acb2a276e1929f9d1797dd41ed7github.com-facebook-fboss · f3775360 · 2026-07-24
- 0.3ETVAdd SAI ACL FieldTc match attribute (table + entry) Summary: Adds the standard SAI FieldTc qualifier (SAI_ACL_TABLE_ATTR_FIELD_TC and SAI_ACL_ENTRY_ATTR_FIELD_TC) to the AclTable and AclEntry SAI traits, mirroring FieldDscp. Wires it through the fake SAI implementation, the SAI tracer attribute maps, and the api/store unit tests. This is the SAI-level match field PBR uses to qualify on traffic class. This diff is atomic by nature: adding an element to the CreateAttributes tuple changes its arity, which ripples to every positional constructor in FakeSaiAcl, AclApiTest, and AclTableStoreTest, so they must all change in lockstep. Reviewed By: jasmeetbagga Differential Revision: D107758053 fbshipit-source-id: f84dc16697f8c0f193709221967eaa140742b17agithub.com-facebook-fboss · 2f79bbf4 · 2026-06-24
- 0.3ETVInherit child SRv6 SID list in recursive next-hop resolution Summary: During recursive resolution, routes do not inherent the SRv6 SidList from recursive-resolved next hops. This is incorrect. Instead, the behavior should be 1. If parent route has SidList while recursive-resolve nexthops do not -> use parent route SidList 2. If parent route does not have SidList while recursive-resolve nexthops do -> use recursive-resolved nexthop sidlist 3. If both have SidList -> use parent route SidList Reviewed By: jasmeetbagga Differential Revision: D111350721 fbshipit-source-id: f8e6e821bf6ae43c6b9374196895744bff4ea437github.com-facebook-fboss · a9756155 · 2026-07-10
- 0.3ETVAdd WarmbootRemoteRouteReconcileTest Summary: Unit tests for SwSwitch warmboot reconciliation (D102848360): no-drift, missing route re-add, extra route delete, IP-swap, cold-boot guard, multi-prefix drift counter aggregation. Split out of D102848360 to keep that diff core-only. Part of T266175850 (S648783). Reviewed By: tanmayaudupa Differential Revision: D105277267 fbshipit-source-id: afb6fde040a6a6d8dd915c75a1d0c41c4054c97egithub.com-facebook-fboss · df9a250d · 2026-07-21
- 0.2ETVReconcile remote interface routes on warmboot Summary: Wires `auditRemoteInterfaceRoutes` into `SwSwitch::init` warmboot (after `setStateInternal(initialState)`, before `notifyStateObservers`). On drift: logs every missing/extra/duplicate prefix, bumps `warmboot_remote_intf_routes_inconsistency`, and calls `rib_->updateRemoteInterfaceRoutes` to reconcile. No-op on cold boot or when there is no drift. Mitigates the RIB/FIB drift class behind SEV S648783. Mitigates T266175850. Reviewed By: jasmeetbagga Differential Revision: D102848360 fbshipit-source-id: a00d6bad12c89b0746f600f5d15a1bdbefa36e54github.com-facebook-fboss · 07f9b5c0 · 2026-07-21
- 0.2ETVAdd HwAsic::Feature::PBR_ACL, enable on G200 Summary: Adds the PBR_ACL feature flag gating policy-based-routing ACL support and enables it on G200 (G202x), the PBR-targeted ASIC. PBR is not yet supported on the other ASICs, so they return false. The Feature switch is exhaustive (-Wswitch), so every ASIC handles the new case. Reviewed By: shri-khare Differential Revision: D107758060 fbshipit-source-id: 4f27bd56c5709531ab90c788dc01c544d863c58dgithub.com-facebook-fboss · d2c12415 · 2026-06-24
- 0.2ETVAdd ClassBasedPolicyMap and wire classBasedPolicyMaps into SwitchState Summary: Stage B of PBR. Adds the ClassBasedPolicyMap / MultiSwitchClassBasedPolicyMap thrift-cow nodes (mirroring AclMap) and wires them into SwitchState via RESOLVE_STRUCT_MEMBER plus getClassBasedPolicies() / resetClassBasedPolicies() accessors. Map node and SwitchState registration land together since the node's modify() calls resetClassBasedPolicies() and the registration references the node type. Reviewed By: shri-khare Differential Revision: D110433992 fbshipit-source-id: 486b663eca52aa51e285c1d83aea7af983ce3a05github.com-facebook-fboss · e4e36e1e · 2026-08-14