aboutsummaryrefslogtreecommitdiffstats
path: root/extras/packetforge
AgeCommit message (Collapse)AuthorFilesLines
2023-07-04packetforge: fix has_key invalid in python3Ting Xu2-5/+5
Python Dict attribute "has_key" was removed in Python3. Use "in" operation instead. Type: fix Signed-off-by: Ting Xu <ting.xu@intel.com> Change-Id: I7b63b0689e9970ca798921368c5616875f7d5682
2023-05-15packetforge: add option to show spec and mask onlyTing Xu4-40/+141
In some cases with Generic FLow, it is only required to show the pattern of spec and mask, but no need to add the flow. Therefore, add an option in packetforge so that users can show spec and mask only. Type: improvement Signed-off-by: Ting Xu <ting.xu@intel.com> Change-Id: I7b3040689eb82d0b58924712ee6fc9cfa0a42fa1
2023-02-07packetforge: fix lack of edge for ipv6 after gtppscTing Xu1-0/+5
Add one new edge for ipv6 after gtppsc so that packetforge can parse this protocol combination. Type: fix Signed-off-by: Ting Xu <ting.xu@intel.com> Change-Id: I1bae1ec617c4867de2e0b3de27eda77b89e5580c
2023-02-02packetforge: fix order of dst/src address of macTing Xu1-2/+2
In the defination of mac node, the order of dst and src address is reversed. Swap their order in this patch. Type: fix Signed-off-by: Ting Xu <ting.xu@intel.com> Change-Id: I039accc0a881eef12f13c75c5becf8b7df97d525
2022-10-25packetforge: fix GTP-Extension header field dataTing Xu2-2/+6
Fix the incorrect fields data of GTP-Extension header. Type: fix Signed-off-by: Ting Xu <ting.xu@intel.com> Change-Id: Iafc5e852910649afcf0e583a5513b1ab33f5b5e8
2022-09-20packetforge: add packetforge for generic flow to extrasTing Xu97-0/+4325
Add a new tool packetforge to extras. This tool is to support generic flow. Packetforge is a library to translate naming or json profile format flow pattern to the required input of generic flow, i.e. spec and mask. Using python script flow_create.py, it can add and enable a new flow rule for an interface via flow VAPI, and can delete an existed flow rule as well. Command examples are shown below. Json profile examples can be found in ./parsegraph/samples. Naming format input: python flow_create.py --add -p "mac()/ipv4(src=1.1.1.1,dst=2.2.2.2)/udp()" -a "redirect-to-queue 3" -i 1 python flow_create.py --del -i 1 -I 0 Json profile format input: python flow_create.py -f "./flow_rule_examples/mac_ipv4.json" -i 1 With this command, flow rule can be added or deleted, and the flow entry can be listed with "show flow entry" command in VPP CLI. Packetforge is based on a parsegraph. The parsegraph can be built by users. A Spec can be found in ./parsegraph as guidance. More details about packetforge are in README file. Type: feature Signed-off-by: Ting Xu <ting.xu@intel.com> Change-Id: Ia9f539741c5dca27ff236f2bcc493c5dd48c0df1