opennetworkinglab / stratum-onos-demo

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

Investigate support for multicast replication + CPU cloning for ARP requests #25

Closed ccascone closed 5 years ago

ccascone commented 5 years ago

To enable host discovery, ONOS apps will install two entries:

  1. L2 broadcast table: match on eth dst (FF:FF:FF:FF:FF:FF) and set multicast group ID (to replicate the ARP request to all host-facing ports)
  2. ACL table: match on eth type (ARP) and generate packet-in to ONOS (clone to CPU) (for host discovery in ONOS)

The current P4 implementation for FPM maps both tables to the same stage in the BCM pipeline (ACL). Is there a way to support this behavior without modifying the ONOS apps?

Ideas:

pudelkoM commented 5 years ago

There is another way to get ARP/NDP/DHCP packets to the CPU. With the PORT_PKT_CONTROL table this can be configured for individual ports or VLANs, but only for exactly these protocols.

This option actually is configured at startup by stratum, but not configurable. I'm not sure how to model this in P4.