
Guy Roberts wrote:
I like the idea of creating an explicit service call switchingMatrix (for circuits) or forwardingEngine (for packets).
I think we all agree on having an explicit service for switchMatrix. (If not, this is a good time to speak up).
[...] as soon as an switchingMatrix/forwardingEngine is instantiated in a node, all of the ports in the switchingMatrix/forwardingEngine are inherited by the node.
So, we both have a preference of option #3 in my first mail (Transitivity from Service to Node), not what we discussed in the call (Transitivity from Node Service). I think your suggestion to have a distinction between switchingMatrix and forwardingEngine may be good. I would say that both spawn from the same base class. If their properties are sufficiently different, it makes sense to make subclasses instead of just different attributes in the base class. If others agree, we can provisionally put these subclasses in the schema.
Things could get ugly if you try and model spanning tree forwarding rules! ... but fortunately I think (hope) this is not necessary.
I hope we don't need to model spanning tree. But I do think we will have to define packet switched networks: VLANs are a weird technology that I tend to model as packet Ethernet on top of VLAN circuits on top of packet Ethernet on top of something else (I think this is an ugly model, but don't see another way to model an Ethernet interface in a TDM switch; I'll save that discussion for another mail). Regards, Freek