mirror of
https://github.com/opennetworkinglab/onos.git
synced 2025-10-15 01:11:30 +02:00
The current implementation of BngProgrammable for fabric.p4 uses attachment IDs as line IDs, thus forcing apps such as bngc to be aware of such implementation detail and to manage the allocation of such IDs. Unfortunately, allocation of IDs is dependent on the device (P4 program) implementation (e.g., line counter size), and so it should not be left to apps. This patch removes the need for attachment IDs at all and instead relies on a driver-level service to dynamically allocate line IDs based on the attachment attributes (currently s-tag, c-tag, mac address). The current implementation of the allocation logic is a trivial one, i.e. non-distributed and non-optimized. Change-Id: Ie960936ee750cf565b8de41370085ecf9d49e931 (cherry picked from commit 6aa2a6ea743e8104ee3c62acb7d26acbd1452614)