Hi,
I am trying to add online load balancing control to lispd to be able to
change weights during runtime.
I am taking a closer look at
select_src_rmt_locators_from_balancing_locators_vec in lispd_output.c and
set_balancing_vector in lispd_mapping.c which seem to contain code
controlling which interface is used for transfer.
Please give some hints on how I should approach adding load balancing
control to lispd and what functions will be useful.
Regards,
Artur
/*
* Select the source and destination RLOC according to the priority and
weight.
* The destination RLOC is selected according to the AFI of the selected
source RLOC
*/
int select_src_rmt_locators_from_balancing_locators_vec (
lispd_mapping_elt *src_mapping,
lispd_mapping_elt *dst_mapping,
packet_tuple tuple,
lispd_locator_elt **src_locator,
lispd_locator_elt **dst_locator)
lispd_locator_elt **set_balancing_vector(
lispd_locator_elt **locators,
int total_weight,
int hcf,
int *locators_vec_length)