Subject: [NSIS] NATFW state machine draft

From: Matthias Friedrich <[email-masked]>
Date: Wed, 24 May 2006 11:07:02 +0200

Hi,

I've got a few questions about version 02 of the NATFW state machine
draft.

 * Section 7 ("State machines for the NAT/FW NF"), state IDLE:
   What's the tx_CREATE in the last action good for?

 * Section 7 ("State machines for the NAT/FW NF"), state NONEDGE_REA:
   Is there a rx_RESPONSE(SUCCESS, REA) condition missing? The response
   could be coming from an upstream NF and should be passed on. The
   state would stay NONEDGE_REA.

 * Section 7 ("State machines for the NAT/FW NF"), state EDGE_REA:
   The first condition looks like a copy and paste mistake. I think
   a tx_RESPONSE(SUCCESS, REA) should be sent and the state should
   stay EDGE_REA. An edge NF shouldn't send REAs any further.

   I also wonder where the tx_RESPONSE(ERROR, REA) in the second
   condition could be coming from. The node is on the edge of the
   network after all.

 * Section 8 ("State machine for the NAT/FW NR"), state SESSION:
   The tg_TEARDOWN looks unnecessary to me, the session should be
   terminated by a rx_CREATE && CREATE(Lifetime) > 0 condition.

 * What about changing all those rx_CREATE && CREATE(Lifetime) > 0
   style conditions to a more concise syntax, maybe like
   rx_CREATE(lifetime > 0)? Or, maybe I should stop drawing with
   a pencil.

Since CREATE and REA sessions are different things (as I learned
recently), it would IMHO make sense to split the NF and NR state
machines into CREATE and REA parts. That way they'll be easier to
understand and look nicer on paper (I tested it), especially when more
conditions will be added later.

The NR would be split into NR and NR-REA (or NI+) parts. The NR would
consist of IDLE and SESSION states, while the NR-REA would consist of
IDLE, WAITRESP (formerly REA_WAITRESP), and REA.

The NF would consist of IDLE, WAITRESP, and SESSION states, while
NF-REA consists of IDLE, EDGE_REA, and NONEDGE_REA.

Thanks,
	Matthias, who hopes he didn't overlook something :-)

_______________________________________________
nsis mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/nsis