ONOS-7251 ONOS-7264 Support for clone to CPU action in fabric.p4

Clone to CPU is available only for packets processed via multicast
groups. Can be changed in the future when implementation for clone
session APIs is available in PI and P4 targets.

Also:
- compile "fabric-full" profile and generate constants from it
- use interpreter to map logical ports to data plane port IDs

Change-Id: I7db30c08dcf69ed9c870748cce8a797bbd5d6f78
diff --git a/pipelines/fabric/src/main/resources/Makefile b/pipelines/fabric/src/main/resources/Makefile
index 0528576..2760bf0 100644
--- a/pipelines/fabric/src/main/resources/Makefile
+++ b/pipelines/fabric/src/main/resources/Makefile
@@ -1,4 +1,4 @@
-all: fabric fabric-spgw
+all: fabric fabric-spgw fabric-full constants
 
 fabric:
 	@./bmv2-compile.sh "fabric" ""
@@ -6,5 +6,13 @@
 fabric-spgw:
 	@./bmv2-compile.sh "fabric-spgw" "-DWITH_SPGW"
 
+fabric-full:
+	@./bmv2-compile.sh "fabric-full" "-DWITH_MULTICAST -DWITH_IPV6 -DWITH_SPGW"
+
+constants:
+	onos-gen-p4-constants \
+		-o $(ONOS_ROOT)/pipelines/fabric/src/main/java/org/onosproject/pipelines/fabric/FabricConstants.java \
+		fabric p4c-out/fabric-full/bmv2/default/p4info.txt
+
 clean:
 	rm -rf p4c-out/*/bmv2