1
0
mirror of https://github.com/rtbrick/bngblaster.git synced 2024-05-06 15:54:57 +00:00

fix L2TP traffic flow tracking and loss count

This commit is contained in:
Christian Giese
2021-12-06 14:27:38 +01:00
parent aae3fc71f7
commit 01ce67e1b1

View File

@ -899,6 +899,7 @@ bbl_l2tp_data_rx(bbl_ethernet_header_t *eth, bbl_l2tp_t *l2tp, bbl_interface_s *
struct timespec delay;
uint64_t delay_nsec;
uint64_t loss;
UNUSED(ctx);
UNUSED(eth);
@ -1056,10 +1057,12 @@ bbl_l2tp_data_rx(bbl_ethernet_header_t *eth, bbl_l2tp_t *l2tp, bbl_interface_s *
if(!pppoe_session->network_ipv4_rx_first_seq) {
pppoe_session->network_ipv4_rx_first_seq = bbl->flow_seq;
interface->ctx->stats.session_traffic_flows_verified++;
pppoe_session->session_traffic_flows_verified++;
} else {
if(pppoe_session->network_ipv4_rx_last_seq +1 != bbl->flow_seq) {
interface->stats.session_ipv4_loss++;
pppoe_session->stats.network_ipv4_loss++;
if((pppoe_session->network_ipv4_rx_last_seq +1) < bbl->flow_seq) {
loss = bbl->flow_seq - (pppoe_session->network_ipv4_rx_last_seq +1);
interface->stats.session_ipv4_loss += loss;
pppoe_session->stats.network_ipv4_loss += loss;
LOG(LOSS, "LOSS (ID: %u) flow: %lu seq: %lu last: %lu\n",
pppoe_session->session_id, bbl->flow_id, bbl->flow_seq, pppoe_session->network_ipv4_rx_last_seq);
}