diff options
Diffstat (limited to 'VNFs/DPPD-PROX/eld.h')
-rw-r--r-- | VNFs/DPPD-PROX/eld.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/VNFs/DPPD-PROX/eld.h b/VNFs/DPPD-PROX/eld.h index b5de59d7..d3ec2f22 100644 --- a/VNFs/DPPD-PROX/eld.h +++ b/VNFs/DPPD-PROX/eld.h @@ -17,7 +17,7 @@ #ifndef _ELD_H_ #define _ELD_H_ -#define PACKET_QUEUE_BITS 14 +#define PACKET_QUEUE_BITS 20 #define PACKET_QUEUE_SIZE (1 << PACKET_QUEUE_BITS) #define PACKET_QUEUE_MASK (PACKET_QUEUE_SIZE - 1) @@ -76,7 +76,10 @@ static uint32_t early_loss_detect_add(struct early_loss_detect *eld, uint32_t pa old_queue_id = eld->entries[queue_pos]; eld->entries[queue_pos] = packet_index >> PACKET_QUEUE_BITS; - return (eld->entries[queue_pos] - old_queue_id - 1) & QUEUE_ID_MASK; + if (eld->entries[queue_pos] != old_queue_id) + return (eld->entries[queue_pos] - old_queue_id - 1) & QUEUE_ID_MASK; + else + return 0; } #endif /* _ELD_H_ */ |