[Nml-wg] Two proposals for Adaptation

Jeroen van der Ham vdham at uva.nl
Tue May 29 05:24:02 EDT 2012


+1 from me too.

Jeroen.

On 10 May 2012, at 13:41, Jason Zurawski wrote:

> I believe this makes the most sense as a service, I will add this comment into the ticket as well.
> 
> -jason
> 
> On 5/10/12 6:05 AM, thus spake Freek Dijkstra:
>> My apologies. The XML for example #2 in my previous mail was wrong.
>> 
>> 
>> Here are two proposals how to describe adaptation (encoding of a client
>> layer Port in a server layer Port).
>> 
>> 
>> Option 1: As adaptation service. (similar to a switching service)
>> -----------------------------------------------------------------
>> egress server layer Port --(hasService)-->  adaptation Service
>> adaptation Service --(providesPort)-->  egress client layer Port*
>> 
>> ingress server layer Port --(hasService)-->  de-adaptation Service
>> de-adaptation Service --(providesPort)-->  ingress client layer Port*
>> 
>> 
>> Option 2: As Adaptation or DeAdaptation object (similar to a Link)
>> ------------------------------------------------------------------
>> egress client layer Port* --(isSource)-->  Adaptation
>> egress server layer Port --(isSink)-->  Adaptation
>> 
>> ingress server layer Port --(isSource)-->  DeAdaptation
>> ingress client layer Port* --(isSink)-->  DeAdaptation
>> 
>> 
>> *Port or PortGroup, if we decide to allow descriptions of multiple Ports
>> -eg. all VLANs- as a group for efficiency purposes.
>> 
>> Option 1 is more natural choice for dynamic adaptations, e.g. VLANs in
>> Ethernet.
>> Option 2 is more natural choice for static adaptations, e.g. Ethernet
>> over a wavelength.
>> 
>> We can even allow both: option 1 for dynamic adaptations, and option 2
>> for static adaptations. But I rather just pick one of the two.
>> 
>> Please let me know your preference, or alternative proposal.
>> Feedback can also be made at https://forge.ogf.org/sf/go/artf6514
>> 
>> 
>> XML examples follows. Sorry for the quoting, otherwise my mail client
>> would have wrapped the lines. If you like the raw XML, you can get it at
>> https://forge.ogf.org/svn/repos/nml-examples/201205-adaptation/adaptation.xml
>> and are copied below.
>> 
>> 
>> 
>> XML example option 1 (as Service)
>> ---------------------------------
>> (example taken from nml-examples/201109-switchservice/2vlans_option2.xml)
>> 
>> egress server layer Port --(hasService)-->  adaptation Service
>> adaptation Service --(providesPort)-->  egress client layer Port
>> 
>> ingress server layer Port --(hasService)-->  de-adaptation Service
>> de-adaptation Service --(providesPort)-->  ingress client layer Port
>> 
>> Adaptation type (here: 802.1Q) is described with a nml:adptationFunction
>> XML element.
>> 
>>> 
>>>   <!-- ATLA ge-6/0/0 egress server layer Port -->
>>>   <nml:Port id="urn:ogf:network:internet2.edu:rtr.atla.net:ge-6-0-0_out">
>>>     <nml:name>ge-6/0/0 out</nml:name>
>>>     <nml:capacity units="bps">10000000000</nml:capacity>
>>>     <nml:Relation type="hasService">
>>>       <nml:Service idRef="urn:ogf:network:internet2.edu:rtr.atla.net:ge-6-0-0_out_adaptation" />
>>>     </nml:Relation>
>>>   </nml:Port>
>>> 
>>>   <!-- ATLA ge-6/0/0 adaptation Service -->
>>>   <nml:Service type="adaptation" id="urn:ogf:network:internet2.edu:rtr.atla.net:ge-6-0-0_out_adaptation">
>>>     <nml:name>VLAN adaptation service</nml:name>
>>>     <nml:adptationFunction>IEEE-802.1q</nml:adptationFunction>
>>>     <nml:Relation type="providesPort">
>>>       <nml:Port idRef="urn:ogf:network:internet2.edu:rtr.atla.net:ge-6-0-0.42_out" />
>>>     </nml:Relation>
>>>   </nml:Service>
>>> 
>>>   <!-- ATLA ge-6/0/0 ingress server layer Port -->
>>>   <nml:Port id="urn:ogf:network:internet2.edu:rtr.atla.net:ge-6-0-0_in">
>>>     <nml:name>ge-6/0/0 in</nml:name>
>>>     <nml:capacity units="bps">10000000000</nml:capacity>
>>>     <nml:Relation type="hasService">
>>>       <nml:Service idRef="urn:ogf:network:internet2.edu:rtr.atla.net:ge-6-0-0_in_deadaptation" />
>>>     </nml:Relation>
>>>   </nml:Port>
>>> 
>>>   <!-- ATLA ge-6/0/0 Deaptation Service -->
>>>   <nml:Service type="deadaptation" id="urn:ogf:network:internet2.edu:rtr.atla.net:ge-6-0-0_in_deadaptation">
>>>     <nml:name>deadaptation service</nml:name>
>>>     <nml:adptationFunction>IEEE-802.1q</nml:adptationFunction>
>>>     <nml:Relation type="providesPort">
>>>       <nml:Port idRef="urn:ogf:network:internet2.edu:rtr.atla.net:ge-6-0-0.42_in" />
>>>     </nml:Relation>
>>>   </nml:Service>
>> 
>> 
>> 
>> XML example option 2 (as Adaptation object)
>> -------------------------------------------
>> egress client layer Port --(isSource)-->  Adaptation
>> egress server layer Port --(isSink)-->  Adaptation
>> 
>> ingress server layer Port --(isSource)-->  DeAdaptation
>> ingress client layer Port --(isSink)-->  DeAdaptation
>> 
>> Adaptation type (here: 802.1Q) is described with a type XML attribute.
>> 
>>>   <!-- ATLA ge-6/0/0 egress server layer Port -->
>>>   <nml:Port id="urn:ogf:network:internet2.edu:rtr.atla.net:ge-6-0-0_out">
>>>     <nml:name>ge-6/0/0 out</nml:name>
>>>     <nml:capacity units="bps">10000000000</nml:capacity>
>>>     <nml:Relation type="isSink">
>>>       <nml:Adaptation idRef="urn:ogf:network:internet2.edu:rtr.atla.net:ge-6-0-0_out_adaptation" />
>>>     </nml:Relation>
>>>   </nml:Port>
>>> 
>>>   <!-- ATLA ge-6/0/0 VLAN 42 egress client layer Port -->
>>>   <nml:Port id="urn:ogf:network:internet2.edu:rtr.atla.net:ge-6-0-0.42_out">
>>>     <nml:Relation type="isSource">
>>>       <nml:Adaptation idRef="urn:ogf:network:internet2.edu:rtr.atla.net:ge-6-0-0_out_adaptation" />
>>>     </nml:Relation>
>>>   </nml:Port>
>>> 
>>>   <!-- ATLA ge-6/0/0 adaptation Service -->
>>>   <nml:Adaptation type="IEEE-802.1q" id="urn:ogf:network:internet2.edu:rtr.atla.net:ge-6-0-0_out_adaptation">
>>>     <nml:name>VLAN adaptation service</nml:name>
>>>   </nml:Adaptation>
>>> 
>>>   <!-- ATLA ge-6/0/0 ingress server layer Port -->
>>>   <nml:Port id="urn:ogf:network:internet2.edu:rtr.atla.net:ge-6-0-0_in">
>>>     <nml:name>ge-6/0/0 in</nml:name>
>>>     <nml:capacity units="bps">10000000000</nml:capacity>
>>>     <nml:Relation type="isSource">
>>>       <nml:DeAdaptation idRef="urn:ogf:network:internet2.edu:rtr.atla.net:ge-6-0-0_in_deadaptation" />
>>>     </nml:Relation>
>>>   </nml:Port>
>>> 
>>>   <!-- ATLA ge-6/0/0 VLAN 42 ingress client layer Port -->
>>>   <nml:Port id="urn:ogf:network:internet2.edu:rtr.atla.net:ge-6-0-0.42_in">
>>>     <nml:Relation type="isSink">
>>>       <nml:DeAdaptation idRef="urn:ogf:network:internet2.edu:rtr.atla.net:ge-6-0-0_in_deadaptation" />
>>>     </nml:Relation>
>>>   </nml:Port>
>>> 
>>>   <!-- ATLA ge-6/0/0 Deaptation Service -->
>>>   <nml:DeAdaptation type="IEEE-802.1q" id="urn:ogf:network:internet2.edu:rtr.atla.net:ge-6-0-0_in_deadaptation">
>>>     <nml:name>deadaptation service</nml:name>
>>>   </nml:DeAdaptation>
>> _______________________________________________
>> nml-wg mailing list
>> nml-wg at ogf.org
>> https://www.ogf.org/mailman/listinfo/nml-wg
> _______________________________________________
> nml-wg mailing list
> nml-wg at ogf.org
> https://www.ogf.org/mailman/listinfo/nml-wg



More information about the nml-wg mailing list