Model SOCK_OPS flow lifetime independently of classify execution
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Refactoring
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- cpp
- Ambito
- networking, testing-qa
Direzione di ricerca
Start from the simulated SOCK_OPS APIs, where flow ID creation and the synchronous WFP classify call happen in one operation, and from the flowDeleteFn path for associated contexts. Split creation, classification for an existing flow ID, and deletion into separate operations, keeping the synchronous helpers as wrappers. Done means IPv4 and IPv6 tests delete a flow before, during, and after classification, with exactly one flowDeleteFn callback per associated context.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
The simulated SOCK_OPS APIs create a flow ID and synchronously invoke the WFP classify callback in one operation. The caller does not regain control until classification completes, so a test cannot publish the simulated flow as live and delete that same flow while its established callback is running.
This prevents usersim from faithfully modeling independent WFP flow creation, classification, and deletion, and leaves the original SOCK_OPS association/program-invocation race difficult to regression-test without test-only synchronization inside the program callback.
Originating review: https://github.com/microsoft/ebpf-for-windows/pull/5623#discussion_r4450724952
Desired behavior
Represent a simulated network flow separately from an optional WFP flow-context association. Tests should be able to:
- Create a flow and receive its flow ID.
- Invoke classification for that existing flow ID.
- Delete the flow before, during, or after classification.
The existing synchronous helpers can remain as compatibility wrappers over the split operations.
Acceptance criteria
- IPv4 and IPv6 SOCK_OPS flows can be created before classification begins.
- Classification accepts an existing flow ID rather than always allocating one internally.
- Flow deletion is safe before association, during classification, and after association.
- An associated context receives exactly one
flowDeleteFncallback. - Existing usersim callers retain compatible behavior.
- Tests cover the three deletion timings for both address families.
- Lingua principale
- C++
- Stelle
- 112
- Fork
- 36
- Merge medio
- 8g 10h
- PR unite (30g)
- 6
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di microsoft/usersim
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 18/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
-
Dependency DashboardApertatriaged
Difficoltà 3/5 Mezza giornata Idoneità per principianti 15/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
-
Duplicate cxplat codeAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
Tutte le issue di microsoft/usersim
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Niko1221/Strata#5560 · 2 commenti ·
I maintainer di solito rispondono entro 4 giorni
-
NVIDIA windows
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
要トリアージ 辞書
Difficoltà 1/5 1-3 ore Idoneità per principianti 86/100
yksr-melt/Meltype#1625 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
[yugabyted] xcluster set_up and add_to_replication fail for database names containing - . or (Apertakind/bug priority/medium qa_automation
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
yugabyte/yugabyte-db#37324 ·
I maintainer di solito rispondono entro 1 giorno