On 11/2/2016 4:50 PM, Joel M. Halpern wrote:
I would observe that what we are discussing is really SFC definition.

That's what you're discussing ;-), but we're just trying to devise a way that a node can figure out where the next node in the service chain for a particular packet is, how to get the packet there, and how to set up the forwarding tables to achieve that.


The draft is really concerned only with the fact that the SFF passes a
packet to a "local" service function, and ultimately gets the packet
back with an NSH that contains an SPI/SI.  The question is -- what are
the possible SPI/SI values that the packet may have when the SFF gets it
back?  In order to do "fast path" forwarding, the SFF needs to create
forwarding state for this set of SPI/SI's.  If arbitrary
reclassification is possible, then any value of SPI/SI may be seen when
the packet comes back, and forwarding state needs to be created for
every valid SPI/SI value.  It's good to have some indication in advance
about which SPI/SI values one is likely to see when the packet returns;
this allows one to maintain only the set of forwarding states that one
is likely to see.  That's what the markers are for.  Of course, this is
just an optimization meant to improve performance and scaling.

Mostly, I think this is backwards. The only valid values for SPI/SI that can be given back to the SFF by the SF are those for which the SFF has forwarding state. Any other values will result in the packet being dropped. the SFF does not create this forwarding state from whole cloth. It creates this state from the information provided by the control mechanism (BGP, ForCES, NetConf, XMPP, ...) The SFF does not care what the SF will hand it. Rather, it cares what it is supposed to forward, and to where.


I don't see any difference between what you stated and what I stated. However you say it, the SFF has to have forwarding state for whatever SPI/SI values it might see in an NSH, and does not have to have forwarding state for values that it will not see.

Even when arbitrary reclassification is possible, control mechanisms need to be coordinated such that the markings the classifier wants to produce correspond to forwarding state the SFF has.

Of course, that's what I said.

You seem to be trying hard to disagree with something, but I really don't understand the content of the disagreement.

I am saying that the set of markers in the BGP draft seem to cover cases they don't need to cover, and not cover cases that they need to cover in order to handle all of the provisioning of the SFF.

I think we are having trouble following your argument here. Do you have an example of how the mechanisms in the draft will produce incorrect forwarding state?

The NSH draft only requires that the packet be dropped if its SPI/SI do
not "correspond" to a "valid" next hop.   Note that the quoted terms do
not appear to be defined. This leaves a lot of leeway for interpretation.

Eric, on this you are stretching. If you really want us to add more specific wording, we can. But as a participant it has seemed to me that the WG has understood these quite well, and that they are actually quite clear and reasonable words.

The use of undefined terms like this usually hides disagreements and differing interpretations.


If you want them clarified, we can do that. In contrast to your paragraph below, the WG has been clear that if an SFF has state for SPI X, SI Y, that does not mean that the SFF has state for any other SI value. While we allow for SFF that also look at other things (for example load balancing), the SPI/SI match is exact.


Perhaps the WG did not think of the advantages of allowing a more flexible scheme. Or to put it another way, allowing more flexibility here doesn't really seem to damage the architecture in any way. If we are wrong about that, perhaps someone will explain what goes wrong if one interprets "SI=n" to mean "whatever SI is closest to n without being greater than n".





_______________________________________________
BESS mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/bess

Reply via email to