First stab at BNG support in fabric.p4
This implementation is derived from Deutsche Telekom contribution:
https://github.com/opencord/p4se
It supports basic upstream and downstream termination based on double
VLAN tags and PPPoE, including counters and downstream metering.
Change-Id: I940959f2338d7319654cf665f6cfe2de7200616b
diff --git a/pipelines/fabric/src/main/resources/Makefile b/pipelines/fabric/src/main/resources/Makefile
index 4daca72..7658b18 100644
--- a/pipelines/fabric/src/main/resources/Makefile
+++ b/pipelines/fabric/src/main/resources/Makefile
@@ -6,6 +6,9 @@
fabric-spgw:
@./bmv2-compile.sh "fabric-spgw" "-DWITH_SPGW"
+fabric-bng:
+ @./bmv2-compile.sh "fabric-bng" "-DWITH_BNG"
+
fabric-int:
@./bmv2-compile.sh "fabric-int" "-DWITH_INT_SOURCE -DWITH_INT_TRANSIT"
@@ -14,13 +17,14 @@
fabric-full:
@./bmv2-compile.sh "fabric-full" " -DWITH_MULTICAST -DWITH_IPV6 \
- -DWITH_SIMPLE_NEXT -DWITH_HASHED_NEXT -DWITH_SPGW \
+ -DWITH_SIMPLE_NEXT -DWITH_HASHED_NEXT -DWITH_BNG -DWITH_SPGW \
-DWITH_INT_SOURCE -DWITH_INT_TRANSIT -DWITH_INT_SINK"
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
+ docker run -v $(ONOS_ROOT):/onos -w /onos/tools/dev/bin \
+ --entrypoint ./onos-gen-p4-constants opennetworking/p4mn:stable \
+ -o /onos/pipelines/fabric/src/main/java/org/onosproject/pipelines/fabric/FabricConstants.java \
+ fabric /onos/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/p4info.txt
clean:
rm -rf p4c-out/*/bmv2