openafs/doc/txt
Mark Vitale 55fca11421 rx: fix out-of-range value for RX_CONN_NAT_PING
Commit 496fb87372 ("rx: avoid nat ping
until connection is attached") introduced functionality to defer turning
on NAT ping for server connections until after reachability had been
established for the client.

Unfortunately, this feature could never work correctly because it
assigned an out-of-range flag value of 256 (0x100) for the u_char flags
field. Instead of calling this out as an error, both gcc and Solaris cc
elide this flag so that it is never set in
rx_SetConnSecondsUntilNatPing(), Furthermore, the test in
rxi_ConnClearAttachWait() will always fail; therefore
rxi_ScheduleNatKeepAliveEvent is never called after attach wait has
ended.

Fortunately, this bug is currently moot - not actually exposed in
OpenAFS. (It was discovered by inspection). This is because there are
currently no rx_connection objects in the tree that have both NAT ping
and checkReach (rx_SetCheckReach) enabled. I also searched git history
and found no time when this bug could ever have been exposed. This does
raise the question of why the original commit was needed; but instead of
reverting the original commit, this commit attempts to fix it.

To prevent problems if NAT ping and checkReach are ever both enabled for
an rx_connection, enlarge the rx_connection flags member so that the
RX_CONN_NAT_PING value is no longer out of range.

Change-Id: Ib667ece632f66fa5c63a76398acb3153fed6f9c3
Reviewed-on: https://gerrit.openafs.org/13041
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
2020-07-23 23:06:14 -04:00
..
examples doc: relocate notes from arch to txt 2017-08-03 20:44:28 -04:00
winnotes Windows: changelog prior to branching openafs-devel-1_7_x 2011-09-15 12:18:16 -07:00
afs_rwlocks relocate old afs docs to doc/txt 2017-07-26 19:39:43 -04:00
arch-overview.h doc: relocate notes from arch to txt 2017-08-03 20:44:28 -04:00
dafs-fsa.dot doc: relocate notes from arch to txt 2017-08-03 20:44:28 -04:00
dafs-overview.txt doc: relocate notes from arch to txt 2017-08-03 20:44:28 -04:00
dafs-vnode-fsa.dot doc: relocate notes from arch to txt 2017-08-03 20:44:28 -04:00
file-reorg Remove DUX/OSF code 2018-09-14 08:32:22 -04:00
fssync.txt doc: relocate notes from arch to txt 2017-08-03 20:44:28 -04:00
ka2heim.txt doc-heimdal-conversion-howto-20011224 2001-12-24 21:19:07 +00:00
linux-nfstrans doc: relocate notes from arch to txt 2017-08-03 20:44:28 -04:00
prdb.txt Document the prdb (ubik) file format 2013-07-12 08:06:12 -07:00
README doc: relocate notes from arch to txt 2017-08-03 20:44:28 -04:00
rx-debug.txt rx: fix out-of-range value for RX_CONN_NAT_PING 2020-07-23 23:06:14 -04:00
rx-spec.txt doc: add kolya's rx-spec to doc/txt 2017-08-03 20:46:47 -04:00
ubik.txt ubik: remove unused code 2018-09-23 20:57:31 -04:00
vldb.txt doc: document the vldb free list 2014-12-17 10:55:48 -05:00
vm-integration relocate old afs docs to doc/txt 2017-07-26 19:39:43 -04:00

- dafs-fsa.dot is a description of the finite-state machine for volume
states in the Demand Attach fileserver
- dafs-vnode-fsa.dot is a description of the finite-state machine
for vnodes in the Demand Attach fileserver.

Both diagrams are in Dot (http://www.graphviz.org) format,
and can be converted to graphics formats via an
an invocation like:

    dot -Tsvg dafs-fsa.dot > dafs-fsa.svg