blob: 961890da040b6a536126db46899e5fca04f2b79d [file] [log] [blame]
Carmelo Cascone16de6db2017-08-22 00:27:57 +02001#ifndef __ACTIONS_P4__
2#define __ACTIONS_P4__
3#include "headers.p4"
4
Carmelo Cascone4f011022017-06-05 01:41:02 -04005action set_egress_port(port) {
Carmelo Cascone16de6db2017-08-22 00:27:57 +02006 modify_field(EGR_PORT_FIELD, port);
Carmelo Cascone4f011022017-06-05 01:41:02 -04007}
8
Carmelo Cascone16de6db2017-08-22 00:27:57 +02009action _drop() {
10 #ifdef __TOFINO_BUILD__
11 drop();
12 #else
Carmelo Cascone4f011022017-06-05 01:41:02 -040013 modify_field(standard_metadata.egress_spec, DROP_PORT);
Carmelo Cascone16de6db2017-08-22 00:27:57 +020014 #endif
Carmelo Cascone4f011022017-06-05 01:41:02 -040015}
16
17action send_to_cpu() {
Carmelo Cascone16de6db2017-08-22 00:27:57 +020018 #ifdef __TOFINO_BUILD__
19 modify_field(ig_intr_md_for_tm.copy_to_cpu, 1);
20 #else
Carmelo Cascone4f011022017-06-05 01:41:02 -040021 modify_field(standard_metadata.egress_spec, CPU_PORT);
Carmelo Cascone16de6db2017-08-22 00:27:57 +020022 #endif
23}
24#endif