Skip to content

[DPU] Add CLI to trigger and dump flows#4278

Merged
lihuay merged 4 commits intosonic-net:masterfrom
vivekrnv:flow_dump_cli
Mar 5, 2026
Merged

[DPU] Add CLI to trigger and dump flows#4278
lihuay merged 4 commits intosonic-net:masterfrom
vivekrnv:flow_dump_cli

Conversation

@vivekrnv
Copy link
Copy Markdown
Contributor

@vivekrnv vivekrnv commented Feb 14, 2026

What I did

Add CLI to trigger and dump flows to stdout

sonic-dpu-flow-dump.py --help
usage: sonic-dpu-flow-dump.py [-h] [--no-flow-state] [-f] [-t TIMEOUT] [-m MAX_FLOWS] [-v]

Trigger DPU flow dump session and dump the flows to stdout

options:
  -h, --help            show this help message and exit
  --no-flow-state       Disable flow state (default: enabled)
  -f, --file-only       Print only the output file path
  -t, --timeout TIMEOUT
                        Timeout in seconds (default: 60)
  -m, --max-flows MAX_FLOWS
                        Maximum number of flows to dump (default: 1000)
  -v, --verbose         Enable verbose output

How I did it

Trigger DUMP session, wait until the status is completed and dump the flows

How to verify it

root@sonic:/home/admin# ./sonic-dpu-flow-dump.py
[
  {
    "SAI_FLOW_ENTRY_ATTR_ACTION": "SAI_FLOW_ENTRY_ACTION_SET_FLOW_ENTRY_ATTR",
    "SAI_FLOW_ENTRY_ATTR_VERSION": "1",
    "SAI_FLOW_ENTRY_ATTR_UNDERLAY0_VNET_ID": "100",
    "SAI_FLOW_ENTRY_ATTR_UNDERLAY0_SIP": "3.2.1.0",
    "SAI_FLOW_ENTRY_ATTR_UNDERLAY0_DIP": "101.1.2.3",
    "SAI_FLOW_ENTRY_ATTR_UNDERLAY0_DASH_ENCAPSULATION": "SAI_DASH_ENCAPSULATION_NVGRE",
    "SAI_FLOW_ENTRY_ATTR_DASH_DIRECTION": "SAI_DASH_DIRECTION_OUTBOUND",
    "SAI_FLOW_ENTRY_ATTR_SIP": "fd41:108:20:d107:64:ff71:a00:b",
    "SAI_FLOW_ENTRY_ATTR_DIP": "2603:10e1:100:2::3401:203",
    "SAI_FLOW_ENTRY_ATTR_DASH_FLOW_ACTION": "65",
    "SAI_FLOW_ENTRY_ATTR_IP_ADDR_FAMILY": "SAI_IP_ADDR_FAMILY_IPV4",
    "SAI_FLOW_ENTRY_ATTR_DASH_FLOW_SYNC_STATE": "SAI_DASH_FLOW_SYNC_STATE_FLOW_SYNCED",
    "SAI_FLOW_ENTRY_ATTR_UNDERLAY0_SMAC": "B0:CF:0E:0F:09:DE",
    "SAI_FLOW_ENTRY_ATTR_UNDERLAY0_DMAC": "B0:CF:0E:0F:09:00",
    "SAI_FLOW_ENTRY_ATTR_METER_CLASS": "3634",
    "SAI_FLOW_ENTRY_ATTR_IS_UNIDIRECTIONAL_FLOW": "true",
    "DST_IP": "10.2.0.100",
    "DST_PORT": 55057,
    "ENI_MAC": "F4:93:9F:EF:C4:7E",
    "EPOCH": 1771440982,
    "IP_PROTO": 17,
    "SRC_IP": "10.0.0.11",
    "SRC_PORT": 34074,
    "VNET_ID": 0
  },
  {
    "SAI_FLOW_ENTRY_ATTR_ACTION": "SAI_FLOW_ENTRY_ACTION_SET_FLOW_ENTRY_ATTR",
    "SAI_FLOW_ENTRY_ATTR_VERSION": "1",
    "SAI_FLOW_ENTRY_ATTR_UNDERLAY0_VNET_ID": "4321",
    "SAI_FLOW_ENTRY_ATTR_UNDERLAY0_SIP": "3.2.1.0",
    "SAI_FLOW_ENTRY_ATTR_UNDERLAY0_DIP": "25.1.1.1",
    "SAI_FLOW_ENTRY_ATTR_UNDERLAY0_DASH_ENCAPSULATION": "SAI_DASH_ENCAPSULATION_VXLAN",
    "SAI_FLOW_ENTRY_ATTR_DASH_DIRECTION": "SAI_DASH_DIRECTION_INBOUND",
    "SAI_FLOW_ENTRY_ATTR_SIP": "10.2.0.100",
    "SAI_FLOW_ENTRY_ATTR_DIP": "10.0.0.11",
    "SAI_FLOW_ENTRY_ATTR_DASH_FLOW_ACTION": "129",
    "SAI_FLOW_ENTRY_ATTR_IP_ADDR_FAMILY": "SAI_IP_ADDR_FAMILY_IPV6",
    "SAI_FLOW_ENTRY_ATTR_DASH_FLOW_SYNC_STATE": "SAI_DASH_FLOW_SYNC_STATE_FLOW_SYNCED",
    "SAI_FLOW_ENTRY_ATTR_UNDERLAY0_SMAC": "B0:CF:0E:0F:09:DE",
    "SAI_FLOW_ENTRY_ATTR_UNDERLAY0_DMAC": "B0:CF:0E:0F:09:00",
    "SAI_FLOW_ENTRY_ATTR_METER_CLASS": "3634",
    "SAI_FLOW_ENTRY_ATTR_IS_UNIDIRECTIONAL_FLOW": "true",
    "DST_IP": "fd41:108:20:d107:64:ff71:a00:b",
    "DST_PORT": 34074,
    "ENI_MAC": "F4:93:9F:EF:C4:7E",
    "EPOCH": 1771440982,
    "IP_PROTO": 17,
    "SRC_IP": "2603:10e1:100:2::3401:203",
    "SRC_PORT": 55057,
    "VNET_ID": 0
  }
]

root@sonic:/home/admin# ./sonic-dpu-flow-dump.py -f
/var/dump/flows/flow_dump_0x0018008000000035.jsonl.gz

Previous command output (if the output of a command-line utility has changed)

New command output (if the output of a command-line utility has changed)

@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

Signed-off-by: Vivek Reddy <[email protected]>
@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

Signed-off-by: Vivek Reddy <[email protected]>
@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

Signed-off-by: Vivek Reddy <[email protected]>
@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@lihuay lihuay merged commit 44f8c37 into sonic-net:master Mar 5, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants