Added support for clone session on fabric.p4
Now on ACL table in fabric.p4 you can clone a packet to the CPU using the clone session.
Change-Id: Ic21f948cffe553e32e7b2fe1f7af49b6a387fffb
diff --git a/pipelines/fabric/src/main/resources/include/control/acl.p4 b/pipelines/fabric/src/main/resources/include/control/acl.p4
index dbfd22c..0ab57b5 100644
--- a/pipelines/fabric/src/main/resources/include/control/acl.p4
+++ b/pipelines/fabric/src/main/resources/include/control/acl.p4
@@ -41,9 +41,9 @@
acl_counter.count();
}
- action clone_to_cpu() {
- // FIXME: works only if pkt will be replicated via PRE multicast group.
- fabric_metadata.clone_to_cpu = _TRUE;
+ // Set clone session id for a I2E clone session
+ action set_clone_session_id(bit<32> clone_id) {
+ clone3<standard_metadata_t>(CloneType.I2E, clone_id, standard_metadata);
acl_counter.count();
}
@@ -76,7 +76,7 @@
actions = {
set_next_id_acl;
punt_to_cpu;
- clone_to_cpu;
+ set_clone_session_id;
drop;
nop_acl;
}