[Nml-wg] Two proposals for Adaptation

Freek Dijkstra Freek.Dijkstra at sara.nl
Thu May 10 05:55:43 EDT 2012


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

> 
>   <!-- 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

>   <!-- 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: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 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: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: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="isSource">
>       <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 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: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:Service>


More information about the nml-wg mailing list