FlowDb
Flow Database for flexible tables
- FlowDb
Shortest form:
fd.Browse the flow database: the description of the flexible (“flex flow”) tables that comes with the loaded CANCUN package. It lists the available flows and their handles, the options of each flow, the flow/function/option tuples, the memory views that implement them, and the logical fields of each flow. These are the names and numbers that the SDK’s flow API (used for VXLAN and other tunnels) works with.
Keywords are case-sensitive: type them in full and in lower case, exactly as shown. Only
helpmay be in any case. Numbers may be decimal or0xhex. A wrong or missing word makes the command fail without a message.helpor no argument prints the usage.The command exists only on devices with CANCUN flex flows. Elsewhere the shell reports it as not found. Trident 3 in SONiC has them, and all the display forms work.
The command is read-only.
- FlowDb flow show
List the flows as a
FLOW TABLEwith columnsflow_nameandflow_handle. The list has the built-in flows first (CLASSIC_VXLAN1,CLASSIC_L2GRE2), then those defined by the CANCUN package, not sorted (GPE21 toVXLAN_EVPN36 with the CANCUN package of SONiC’s Trident 3 image).Hardware-validated
drivshell> flowdb flow show FLOW TABLE ================================================================================ flow_name flow_handle ================================================================================ CLASSIC_VXLAN 1 CLASSIC_L2GRE 2 SRV6_NON_CANONICAL 26 GBP 27 VXLAN_EVPN 36 GPE 21 VXLAN_GBP 22 NSH_OVER_L2 29 NSH 24 VXLAN 23 INT 30 SRV6_EVPN 32 TWAMP_OWAMP_TX 35 THIRD_VLAN_TAG 34 MPLS_EVPN 33 MPLS_OVER_GRE 28 SRV6 25 IFA 31
- FlowDb flow_info show <flow_name>
For each function of the named flow, list its options with view ID and memory (columns
OPTION_NAME,FUNCTION,VIEW_ID,MEMORY). Take the flow name fromFlowDb flow show. The built-in help leaves out<flow_name>, but the command fails without it.Hardware-validated
drivshell> flowdb flow_info show VXLAN FLOW : VXLAN ====================================================================================================================================================== OPTION_NAME FUNCTION VIEW_ID MEMORY ======================================================================================================================================================= LOOKUP_IPV4_SIP_ASSIGN_SVP MATCH 28831 MPLS_ENTRY_SINGLE LOOKUP_IPV4_SIP_DIP_ASSIGN_SVP MATCH 28833 MPLS_ENTRY_SINGLE LOOKUP_VNID_ASSIGN_VFI MATCH 28961 VLAN_XLATE_1_DOUBLE LOOKUP_IPV6_SIP_ASSIGN_SVP MATCH 28975 MPLS_ENTRY_DOUBLE LOOKUP_DVP_VFI_ASSIGN_VNID_DELETE_ITAG ENCAP 28880 EGR_VLAN_XLATE_1_DOUBLE LOOKUP_DVP_VFI_ASSIGN_VNID ENCAP 28882 EGR_VLAN_XLATE_1_DOUBLE LOOKUP_SPLIT_HORIZON_GROUPS_ASSIGN_PASS_ACTION ENCAP 28889 EGR_VLAN_XLATE_1_DOUBLE LOOKUP_VFI_ASSIGN_VNID ENCAP 28947 EGR_VLAN_XLATE_1_SINGLE LOOKUP_DVP_SVP_ASSIGN_CLASSID ENCAP 28990 EGR_VLAN_XLATE_2_SINGLE LOOKUP_DGPP_SVP_ASSIGN_CLASSID ENCAP 28996 EGR_VLAN_XLATE_2_SINGLE IPV6 TUNNEL_INITIATOR 28843 EGR_IP_TUNNEL IPV6_FLOW_LABEL_USE_ENTROPY TUNNEL_INITIATOR 28845 EGR_IP_TUNNEL LOOKUP_IPV4_DIP_OVID_TERM_TUNNEL TUNNEL_TERMINATOR 28832 MPLS_ENTRY_SINGLE LOOKUP_IPV6_DIP_TERM_TUNNEL TUNNEL_TERMINATOR 28976 MPLS_ENTRY_DOUBLE IPV6 ENCAP_SET 28946 EGR_DVP_ATTRIBUTE IPV6_MULTICAST_EVXLT_KEY_TYPE_VFI ENCAP_SET 28935 EGR_DVP_ATTRIBUTE IPV6_MULTICAST ENCAP_SET 28927 EGR_DVP_ATTRIBUTE IPV6_EVXLT_KEY_TYPE_VFI ENCAP_SET 28943 EGR_DVP_ATTRIBUTE MAC_ADDR_IPV6 EGRESS_OBJ 28864 EGR_L3_NEXT_HOP IPV6_REMOTE EGRESS_OBJ 28878 EGR_L3_NEXT_HOP IPV6_MULTICAST_EVXLT_KEY_TYPE_VFI EGRESS_LABEL 28896 EGR_MPLS_VC_AND_SWAP_LABEL_TABLE IPV6_MULTICAST EGRESS_LABEL 28898 EGR_MPLS_VC_AND_SWAP_LABEL_TABLE IPV6 EGRESS_INTF 28860 EGR_L3_INTF
- FlowDb flow_option show
List the options of each flow (
FLOW OPTION TABLE:FLOW_HANDLE,OPTION_NAME,OPTION_ID).Hardware-validated
drivshell> flowdb flow_option show FLOW OPTION TABLE ============================================================================================ FLOW_HANDLE OPTION_NAME OPTION_ID ============================================================================================ 27 DECAP_MC 31 28 MAC_ADDR 44 26 ASSIGN_SEGMENT_LIST_2_AND_1_WITHOUT_DIP 12 21 LOOKUP_SPLIT_HORIZON_GROUPS_ASSIGN_PASS_ACTION 65 22 LOOKUP_SPLIT_HORIZON_GROUPS_ASSIGN_PASS_ACTION 64 23 LOOKUP_SPLIT_HORIZON_GROUPS_ASSIGN_PASS_ACTION 63 27 DELETE_GBP_WITH_PIM_BIDIR_ENABLE 197 25 L3_ASSIGN_SEGMENT_LIST_0 98 25 L3_ASSIGN_SEGMENT_LIST_1 78 21 EVXLT_KEY_TYPE_VFI_IPV6 96 31 IFA_BASE_MD_HEADER_ASSIGN_LOOKUP 155 26 L3_ASSIGN_SEGMENT_LIST_1 79 22 EVXLT_KEY_TYPE_VFI_IPV6 100 33 LOOKUP_DVP_SVP_ASSIGN_ESI_LABEL 150 23 IPV6_EVXLT_KEY_TYPE_VFI 108 24 LOOKUP_IPV6_64_VRF_ASSIGN_SPID_SI_CLASS_ID_NHOP 88 25 L3_ASSIGN_SIP_AND_SEGMENT_LIST_2 13 24 LOOKUP_L3_OIF_ASSIGN_VNID_SFF_L2 54 24 LOOKUP_SPID_SI_VRF_ASSIGN_NHOP_CLASS_ID 184 28 NEXT_PTR 52 31 LOOKUP_LOOPBACK_SUBTYPE_ASSIGN_DISABLE_VLAN_CHECK_ACTION 147 24 LOOKUP_IPV6_128_VRF_ASSIGN_SPID_SI_CLASS_ID_NHOP 17 32 LOOKUP_PKT_ESI_ASSIGN_ESI_OBJECT 177 33 LOOKUP_PKT_ESI_ASSIGN_ESI_OBJECT 176 27 GBP_SID_DID_LOOKUP_ENABLE 198 ...
- FlowDb ffo show
List all flow/function/option tuples with their view (
FLOW FUNCTION OPTION TUPLE TABLE:FLOW_HANDLE,FUNCTION_ID,OPTION_ID,VIEW_ID).Hardware-validated
drivshell> flowdb ffo show FLOW FUNCTION OPTION TUPLE TABLE =========================================================================== FLOW_HANDLE FUNCTION_ID OPTION_ID VIEW_ID =========================================================================== 21 1 1 28826 22 1 2 28827 22 1 3 28828 21 4 4 28829 23 1 6 28831 22 4 5 28830 23 1 8 28833 23 4 7 28832 24 4 9 28834 24 4 10 28835 25 3 11 28837 26 3 12 28838 25 3 13 28839 26 3 14 28840 23 3 18 28843 22 3 19 28843 21 3 20 28843 22 7 16 28912 22 8 16 28841 22 5 19 28944 23 5 18 28946 23 3 22 28845 22 3 23 28845 21 3 24 28845 24 8 17 28842 ...
- FlowDb ffo entry <flow_handle> <function_id> <option_id>
Print the view ID of one tuple as four
NAME : valuelines. If any of the three numbers is-1, the whole tuple table is printed instead.Hardware-validated
drivshell> flowdb ffo entry 21 1 1 FLOW_HANDLE : 21 FUNCTION_ID : 1 OPTION_ID : 1 VIEW_ID : 28826
- FlowDb flow_logical_field show
List the logical fields of each flow (
FLOW LOGICAL FIELDS TABLE:FLOW_HANDLE,LOGICAL FIELD,FIELD_ID).Hardware-validated
drivshell> flowdb flow_logical_field show FLOW LOGICAL FIELDS TABLE ================================================================================ FLOW_HANDLE LOGICAL FIELD FIELD_ID ================================================================================ 31 RSVD 170808 33 ESI_LABEL_TTL 170889 24 NSH_CONTEXT_1 170846 30 DEVICE_ID 170836 32 RSVD 170808 24 NSH_CONTEXT_2 170847 31 DEVICE_ID 170836 31 IFA_FLAGS 170898 24 NSH_CONTEXT_3 170848 34 PRESERVE_OTAG 170906 21 DVP_NETWORK_GROUP 170844 22 DVP_NETWORK_GROUP 170844 23 DVP_NETWORK_GROUP 170844 33 ESI_LABEL 170886 29 MD1_SOURCE_NODE_ID 170817 29 MD2_SOURCE_NODE_ID 170826 21 SVP_NETWORK_GROUP 170845 22 SVP_NETWORK_GROUP 170845 23 SVP_NETWORK_GROUP 170845 30 EGRESS_PORT_DROP_BYTE_COUNT_UPPER_8BITS 170838 29 TENANT_ID 170913 29 MD1_SOURCE_INTF_ID 170816 29 MD2_SOURCE_INTF_ID 170825 31 OPAQUE_MD 170873 29 MD1_TENANT_ID_RSVD 170821 ...
- FlowDb view <show | entry <view_id> | field entry <view_id> <field_id>>
Show the whole view table, one view, or one field of a view. For each view the table prints the view ID, its physical memory number, the number of fields and each field’s ID and name; the whole table is several thousand lines, so prefer
view entry <view_id>.Hardware-validated — One view: its memory, key and policy fields, and the flow option that uses it
drivshell> flowdb view entry 28826 ============================VIEW INFORAMTION================================= VIEW_ID : 28826 PHY MEM : MPLS_ENTRY_SINGLE WIDTH : 105 TYPE : SOC_FLOW_DB_VIEW_TYPE_HASH FIELD TABLE ========================================================================================================= FEILD_ID FIELD_NAME FIELD_TYPE ========================================================================================================= 74933 IPV4__SIP SOC_FLOW_DB_FIELD_TYPE_KEY 80071 KEY_0 SOC_FLOW_DB_FIELD_TYPE_KEY 27185 DATA_TYPE SOC_FLOW_DB_FIELD_TYPE_CONTROL 80243 KEY_TYPE SOC_FLOW_DB_FIELD_TYPE_CONTROL 150434 SVP_ACTION_SET SOC_FLOW_DB_FIELD_TYPE_POLICY_DATA FFO TUPLE INFORMATION ======================================================== FLOW_HANDLE FUNCTION_ID OPTION_ID ======================= ================================= 21 1 1
Hardware-validated
drivshell> flowdb view show VIEW TABLE ============================================================================= VIEW ID PHY_MEM ============================================================================= 28826 26152 NFields : 6 Field_id : 4777 Field_name : BASE_VALID Field_id : 27185 Field_name : DATA_TYPE Field_id : 74933 Field_name : IPV4__SIP Field_id : 80071 Field_name : KEY_0 Field_id : 80243 Field_name : KEY_TYPE Field_id : 150434 Field_name : SVP_ACTION_SET 28827 26152 NFields : 6 Field_id : 4777 Field_name : BASE_VALID Field_id : 27185 Field_name : DATA_TYPE Field_id : 74933 Field_name : IPV4__SIP Field_id : 80071 Field_name : KEY_0 Field_id : 80243 ...
Built-in help
Parameters: [flow_info|flow|flow_option|ffo|flow_logical_field|view|help] <args...> Flow DB database for flexible tables. flow_info show - Detailed per flow information. flow show - Flow table, Displays available flows and associated flow handles. flow_option show - Flow option table, Displays avaiable options per flow ffo show - Flow function option tuple table ffo entry [<flow_id>] [<function_id>] [<option_id> - Display the associated view id for flow, function, option combination flow_logical_field show - Logical field table, displays logical fields per flow. view show - View table view entry [<view_id>] - - View information. view field entry [<view_id> <field_id>] - - Field information. help - display this usage page. arguments for each operation:Further reading