├── .gitignore ├── LICENSE ├── Makefile ├── README.md ├── agent ├── launch.sh ├── mantis_ctl.c ├── pi_setup.py └── run.sh ├── compile_p4r.sh ├── examples ├── dos.p4r ├── failover_tstamp.p4r ├── field_arg.p4r ├── figure1.p4r ├── figure4.p4r ├── figure5.p4r ├── figure6.p4r ├── mbl_table.p4r └── table_add_del_mod.p4r ├── frontend.l ├── frontend.y ├── include ├── ast_nodes.h ├── ast_nodes_p4.h ├── ast_nodes_p4r.h ├── compile.h ├── find_nodes.h └── helper.h ├── src ├── ast │ ├── ast_nodes_p4.cpp │ └── ast_nodes_p4r.cpp └── compile │ ├── compile.cpp │ ├── compile_c.cpp │ ├── compile_c.h │ ├── compile_const.h │ ├── compile_p4.cpp │ ├── compile_p4.h │ └── find_nodes.cpp ├── tutorial.md └── util ├── benign.dpdk ├── malicious.dpdk └── p4_14_compile.sh /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/README.md -------------------------------------------------------------------------------- /agent/launch.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/agent/launch.sh -------------------------------------------------------------------------------- /agent/mantis_ctl.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/agent/mantis_ctl.c -------------------------------------------------------------------------------- /agent/pi_setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/agent/pi_setup.py -------------------------------------------------------------------------------- /agent/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/agent/run.sh -------------------------------------------------------------------------------- /compile_p4r.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/compile_p4r.sh -------------------------------------------------------------------------------- /examples/dos.p4r: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/examples/dos.p4r -------------------------------------------------------------------------------- /examples/failover_tstamp.p4r: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/examples/failover_tstamp.p4r -------------------------------------------------------------------------------- /examples/field_arg.p4r: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/examples/field_arg.p4r -------------------------------------------------------------------------------- /examples/figure1.p4r: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/examples/figure1.p4r -------------------------------------------------------------------------------- /examples/figure4.p4r: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/examples/figure4.p4r -------------------------------------------------------------------------------- /examples/figure5.p4r: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/examples/figure5.p4r -------------------------------------------------------------------------------- /examples/figure6.p4r: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/examples/figure6.p4r -------------------------------------------------------------------------------- /examples/mbl_table.p4r: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/examples/mbl_table.p4r -------------------------------------------------------------------------------- /examples/table_add_del_mod.p4r: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/examples/table_add_del_mod.p4r -------------------------------------------------------------------------------- /frontend.l: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/frontend.l -------------------------------------------------------------------------------- /frontend.y: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/frontend.y -------------------------------------------------------------------------------- /include/ast_nodes.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/include/ast_nodes.h -------------------------------------------------------------------------------- /include/ast_nodes_p4.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/include/ast_nodes_p4.h -------------------------------------------------------------------------------- /include/ast_nodes_p4r.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/include/ast_nodes_p4r.h -------------------------------------------------------------------------------- /include/compile.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/include/compile.h -------------------------------------------------------------------------------- /include/find_nodes.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/include/find_nodes.h -------------------------------------------------------------------------------- /include/helper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/include/helper.h -------------------------------------------------------------------------------- /src/ast/ast_nodes_p4.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/src/ast/ast_nodes_p4.cpp -------------------------------------------------------------------------------- /src/ast/ast_nodes_p4r.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/src/ast/ast_nodes_p4r.cpp -------------------------------------------------------------------------------- /src/compile/compile.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/src/compile/compile.cpp -------------------------------------------------------------------------------- /src/compile/compile_c.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/src/compile/compile_c.cpp -------------------------------------------------------------------------------- /src/compile/compile_c.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/src/compile/compile_c.h -------------------------------------------------------------------------------- /src/compile/compile_const.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/src/compile/compile_const.h -------------------------------------------------------------------------------- /src/compile/compile_p4.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/src/compile/compile_p4.cpp -------------------------------------------------------------------------------- /src/compile/compile_p4.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/src/compile/compile_p4.h -------------------------------------------------------------------------------- /src/compile/find_nodes.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/src/compile/find_nodes.cpp -------------------------------------------------------------------------------- /tutorial.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/tutorial.md -------------------------------------------------------------------------------- /util/benign.dpdk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/util/benign.dpdk -------------------------------------------------------------------------------- /util/malicious.dpdk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/util/malicious.dpdk -------------------------------------------------------------------------------- /util/p4_14_compile.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eniac/Mantis/HEAD/util/p4_14_compile.sh --------------------------------------------------------------------------------