opennetworkinglab / stratum-onos-demo

Stratum+ONOS demo @ ONF Connect 2019 & EuroP4 '19
Apache License 2.0
13 stars 7 forks source link

Use proxyarp app instead of multicast groups #41

Closed ccascone closed 5 years ago

ccascone commented 5 years ago

We did not manage to handle ARPs entirely in the data plane (without nasty workarounds), as SDKLT and hence FPM does not support a pipeline behavior where for the same packet we set a multicast group ID and we clone to the CPU, since both actions are currently mapped to the same table. The right way of doing this would be to set multicast group IDs in the L2 tables, but that's not supported yet by SDKLT.

We drop using multicast replication in the P4 program for ARPs and instead, rely on the proxyarp ONOS app to handle ARPs via packet-in/out.

TODO:

Closes #25

ccascone commented 5 years ago

@abhilashendurthi @yoooou please be aware of the changes to the P4 program and hence P4Info IDs that will require some modifications to your test vectors file. For reference, please see the diff of ptf/bcm_tests.py

ccascone commented 5 years ago

Merging this as-is as things seem to work from an app perspective. There are still issues with packet-in/out on BCM that we can track separately.