blob: 6d26f98f32e2d426ca2bdb10e693ce7a0f064f99 [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
Brian O'Connora6862e02017-09-08 01:17:39 -070013 modify_field(EGR_PORT_FIELD, 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 Casconef2ac7202017-09-08 00:57:44 +020018 modify_field(EGR_PORT_FIELD, CPU_PORT);
19 add_header(packet_in_hdr);
20 modify_field(packet_in_hdr.ingress_port, IGR_PORT_FIELD);
Carmelo Cascone16de6db2017-08-22 00:27:57 +020021}
22#endif