pkelsey / libuinet

a library version of FreeBSD's TCP/IP stack plus extras
750 stars 198 forks source link

Enabling TCP Vegas in libuinet #41

Open joerango opened 8 years ago

joerango commented 8 years ago

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?