Brian,

One more thing occurred to me:

On 12/2/20 12:29 PM, Paul Kyzivat wrote:

Also, the goal of negotiation isn't clear to me. I gather it must be for
the two sides to agree on a particular value for the objective. But for
that to work there must be some rules about how values can change in
each step so that the result stabililizes, rather than causing a battle
that ends with loop count exhaustion. This could be achieved by always
negotiating *down*, or always *up*. But that requires that the objective
value type have an ordering function. Given the general nature of the
objective I don't think that can be assumed.

No, it explicitly is not defined either in the protocol nor the API.
The syntax and semantics of the objective value are defined per-objective, and the objective might or might not be ordered. So there is intentionally
no answer to your question.

In most cases I'd expect that there would be an ordering but we didn't want to constrain the use cases in that way. Also note that a failed negotiation
(e.g. the loop count expires, or where one end simply rejects the other's
offer) is not a protocol failure.


ISTM that more work is needed to define the negotiation process in a way
that ensures it ends with both sides agreeing on a single value for the
objective.

As noted, that is per-objective. The most complicated case I've coded
is IP prefix assignment, and it works fine, except that if there is
no prefix available of the maximum desired length, the requester ends
up unsatisfied - as intended. There should be no condition in which
the negotiation loops indefinitely; it either succeeds or fails.

Without that the result in non-deterministic. The two sides may have conflicting goals, and then the result will only be determined by the loop count and timeout.

Alternately, implementors will establish side agreements that aren't governed by standards.

That seems like an undesirable state of affairs.

One possibility would be to define the negotiation policy on a per-objective basis. This would be required as part of the definition of the objective that is registered with IANA. It would define how the value may change from step to step of negotiation to ensure convergence.

        Thanks,
        Paul

_______________________________________________
Gen-art mailing list
Gen-art@ietf.org
https://www.ietf.org/mailman/listinfo/gen-art

Reply via email to