Implemented shared buffer cells. Implemented max per_port shared buffer use
Cells: Implemented shared buffer cells. Added new parameter to the sharedBuffer model which determines the cell size. Effective buffer that each packet will use is determined by (ceil(packetSize / cellSize)) * cellSize (buffer_cell_size_bits != -1) Buffer memory can be setup to be splitted in 'cells' (e.g. as implemented in Juniper ToR QFX5100). The cell size determines the minimum space a packet can use, thus a packet can effectively use more buffer than its size.
max per port:
- (port_max_shared_buffer_use_bits) # A single outport can be limited in the amount of shared buffer it can use (e.g. as implemented in Juniper ToR QFX5100). There is a 'dynamic_threadhold' parameter that allows setting the percentage of the shared buffer a single port can use (default is 50%). See: https://gitlab.cern.ch/atlas-tdaq-networking/phase2-tor-buffer-test/-/blob/b122a28d0823716335a34e5a5ad8db5913cb0917/james_tools/dynthresh-calculator/5100.txt