Page MenuHomeFreeBSD

tcp: fix build for rack/bbr with various combos of INET and INET6 defined
ClosedPublic

Authored by gallatin on Jul 7 2021, 4:16 PM.

Details

Summary

I have my workstation configured to use the alternate TCP stacks (MK_EXTRA_TCP_STACKS=yes). When trying to address a report that my recent ktls commit (28d0a740dd9) broke the NOINET build, I stumbled across the fact that support for NOINET and NOINET6 has rotted in rack and bbr.

This change allows the alternate stacks to build cleanly with GENERIC, LINT-NOINET, LINT-NOINET6 and LINT-NOIP, that's all the combinations of no ip at all, ipv4 and ipv6

Diff Detail

Repository
rG FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

rrs added inline comments.
sys/netinet/tcp_stacks/rack.c
12093 ↗(On Diff #91938)

I am concerned that when you init the fsb, without inet/inet6 we still set r_fsb_inited. That may
make sense.. but I wonder if it would be better to *not* set that flag if there is no INET or INET6.

I guess you have tested this and I think such a configuration (no INET or INET6) is just plain stupid
so I guess I am being over nervous.. let those who config a stupid config get what they deserve (stupid
results) :)

This revision is now accepted and ready to land.Jul 7 2021, 4:21 PM
sys/netinet/tcp_stacks/rack.c
12093 ↗(On Diff #91938)

I guess the question is: how could this code even run with neither INET nor INET6 compiled in? There would be nothing to call it..

This revision was automatically updated to reflect the committed changes.