freebsd-nq/sys/netinet/cc
Lawrence Stewart 03f0843bdb Algorithm modules can define their own private congestion signal types in the
top 8 bits of the 32 bit signal bit field space for internal use. These private
signals should not be leaked outside of a module.

Given that many algorithm modules use the NewReno hook functions to simplify
their implementation, the obvious place such a leak would show up is in the
NewReno cong_signal hook function.

- Show the full number of significant bits in the signal type definitions in
  <netinet/cc.h>.

- Add a bitmask to simplify figuring out if a given signal is in the private or
  public bit range.

- Add a sanity check in newreno_cong_signal() to ensure private signals are not
  being leaked into the hook function.

Sponsored by:	FreeBSD Foundation
Discussed with:	David Hayes <dahayes at swin edu au>
MFC after:	1 week
X-MFC with:	r215166
2011-02-01 13:32:27 +00:00
..
cc_chd.c Import an implementation of the CAIA-Hamilton-Delay (CHD) congestion control 2011-02-01 07:05:14 +00:00
cc_cubic.c
cc_cubic.h
cc_hd.c Import a clean-room implementation of the Hamilton-Delay (HD) congestion control 2011-02-01 06:42:46 +00:00
cc_htcp.c
cc_module.h
cc_newreno.c Algorithm modules can define their own private congestion signal types in the 2011-02-01 13:32:27 +00:00
cc_vegas.c Fix typo in comment: "course" -> "coarse" 2011-02-01 07:10:13 +00:00
cc.c An sbuf configured with SBUF_AUTOEXTEND will call malloc with M_WAITOK when a 2011-01-23 13:00:25 +00:00