libuinet
libuinet copied to clipboard
Enabling TCP Vegas in libuinet
I would like to use Vegas congestion control in libuinet. I have added cc_vegas.c and h_ertt.c to the libuinet Makefile and managed to compile it. However, the vegas module fails to load and the e_rtt khelp module reports some error as well.
uinet starting: cpus=1, nmbclusters=131072 callwheelsize=524288 callwheelsize=524288 link_elf_lookup_symbol: missing symbol hash table link_elf_lookup_symbol: missing symbol hash table UINET multiprocessor subsystem configured with 1 CPUs WARNING: VIMAGE (virtualized network stack) is a highly experimental feature. Timecounters tick every 10.000 msec vegas_mod_init: h_ertt module not found module_register_init: MOD_LOAD (vegas, 0x485581, 0x6c78a0) error 2 khelp_init: Failed to add hooks for helper "ertt" (0x6c7ac0) to vnet 0xb85440.
This is my first time working with the FreeBSD kernel code but it looks like the modules are being loaded in the wrong order. The VNET should be initialized first, e_rtt loaded followed by vegas.
Any pointers to fix the issue or at least help me understand what would need to be fixed?