Hello list,

I reply to my own message since I have been spending time specifying an
implementation of this module recently on the AFTR side and I just can't
shake the thought that the YANG module organization is wrong.

_From the AFTR perspective_, identifying binding table entries by the B4
IPv6 address is the wrong thing.  It is not sufficient, it is not
necessary, and it is not appropriate.

Not sufficient: in the data plane, when encapsulating, you don't know
the B4 IPv6 address.  You identify the softwire by the IPv4+port.  You
can use this same strategy to identify the softwire in the decapsulation
direction.

Not necessary: Because you can identify the softwire by IPv4+PSID, and
because the binding table can be quite big (millions of entries), if you
can avoid duplicating this table just to allow binding table entries to
be looked up by IPv6, that would be good.  ietf-softwire seems to
require this reverse mapping; when a configuration agent gets a request
to set

   
/softwire-config/binding/br/br-instances/0/binding-table/127:10:20:30:40:50:60:128/port-set/psid

to 1, you would need a table keyed by IPv6 address.

Not appropriate: consider, say we get this "set the PSID of the softwire
127:10:20:30:40:50:60:128 to 1" request, and we actually do manage to
locate the binding entry for this softwire.  To validate that the change
is consistent, we only need to do one thing: check that this
IPv4/PSID/psid-offset/psid-length doesn't overlap with any other
softwire.  We don't need to validate anything about the IPv6 address of
the softwire.  This again hints that it's the IPv4+PSID that should be
the key, and probably that within each IPv4 address, all softwires have
the same psid-offset/psid-length.  The natural way to identify and
manage softwires from an AFTR perspective is by IPv4 and PSID.

If the YANG module remains how it is, that's fine -- it just means that
we're going to have to serialize all changes through one part of the
configuration agent so that we can keep our IPv6->softwire mapping in
precise sync with the IPv4,port->softwire map used by the data plane.

Andy

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

Reply via email to