Why does running some Coral applications appear to cause cell/packet loss when the applications are run for a short durations?
Coral devices return their data to CoralReef in blocks of integral ATM cells (for FATM/Point cards blocks are 17545 cells and for DAG cards blocks are 16384 cells.) Normally, they do not return any data until a block fills up. When capturing one cell per packet (as crl_flow and crl_rate do), this means 17545 or 16384 cells must go by before the Coral device will give them to CoralReef. When an interval ends in realtime, CoralReef can not process the interval yet because it must assume the card is still holding a block containing packets belonging to that interval. So it waits for the card to fill up the block and give it to CoralReef. Only then can CoralReef look at the cell/packet timestamps and assign the delayed packets to the interval to which they belong. If the traffic rate is low, filling the block may take a long time, perhaps even multiple intervals. When the block finally fills, CoralReef reads it, and processes data for packets belonging to all intervals contained in the blo