Skip to content

Commit 000ebc8

Browse files
committed
fix LAG member distribution of stream flows
1 parent 3eccc7b commit 000ebc8

2 files changed

Lines changed: 6 additions & 3 deletions

File tree

code/bngblaster/src/bbl_a10nsp.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -785,9 +785,12 @@ bbl_a10nsp_dynamic(bbl_a10nsp_interface_s *interface,
785785
session->session_id, stream->flow_id, stream->tx_a10nsp_interface->name, interface->name);
786786

787787
stream->tx_a10nsp_interface = interface;
788-
stream->io->update_streams = true;
789788
stream->update_pps = true;
790789

790+
if(stream->io) {
791+
stream->io->update_streams = true;
792+
}
793+
791794
if(stream->lag) {
792795
/* Remove stream from LAG interface */
793796
lag = stream->tx_a10nsp_interface->interface->lag;
@@ -819,7 +822,7 @@ bbl_a10nsp_dynamic(bbl_a10nsp_interface_s *interface,
819822
lag->stream_head = stream;
820823
lag->stream_count++;
821824
if(lag->active_count) {
822-
key = stream->flow_id % lag->active_count;
825+
key = rand() % lag->active_count;
823826
member = lag->active_list[key];
824827
} else {
825828
member = CIRCLEQ_FIRST(&lag->lag_member_qhead);

code/bngblaster/src/bbl_lag.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ bbl_lag_select(bbl_lag_s *lag)
166166
/* Distribute streams */
167167
stream = lag->stream_head;
168168
while(stream) {
169-
key = stream->flow_id % active_count;
169+
key = rand() % active_count;
170170
io = lag->active_list[key]->interface->io.tx;
171171
io_stream_add(io, stream);
172172
stream = stream->lag_next;

0 commit comments

Comments
 (0)