# p4_data **Repository Path**: frontxiang/p4_data ## Basic Information - **Project Name**: p4_data - **Description**: Description of P4 match-action block data - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-01-06 - **Last Updated**: 2024-01-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Description of P4 match-action block data The data contains three attachments that provide information about resource usage of match-action blocks, variable access in match-action blocks, and adjacency of match-action blocks in the flow graph, with the following formats: ## attachment1.csv: Resource usage of match-action blocks The first column is the match-action block ID. Columns 2 to 5 are the usage counts of four types of resources (TCAM, HASH, ALU, QUALIFY) by each match-action block. For example, match-action block 0 uses 2 ALU resources, and match-action block 4 uses 10 ALU resources and 3 Qualify resources. ## attachment2.csv: Variable access in match-action blocks The first column is the match-action block ID. The second column contains "W" for write access and "R" for read access. The subsequent columns list the variables written or read by the match-action block. If a row has no elements from column 3 onwards, it means the match-action block with that ID does not write (or read) any variables (i.e., it merely connects other match-action blocks without computations). For example, match-action block 0 writes X0 and X1 but does not read any variables, while match-action block 1 neither writes nor reads any variables. ## attachment3.csv: Adjacency of match-action blocks in flow graph The first column is the match-action block ID. Subsequent columns list IDs of adjacent match-action blocks connected by directed edges in the flow graph. For example, the first row indicates match-action block 0 can transfer control to blocks 1 and 2 after execution. The third row shows block 2 has no outgoing edges (i.e. program terminates after block 2). This file captures execution order and transfer of control between match-action blocks, allowing construction of the block flow graph.