| --- |
| # Copyright 2018-present Open Networking Foundation |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| {{- if $.Values.bng.external.enabled }} |
| tosca_definitions_version: tosca_simple_yaml_1_0 |
| imports: |
| - custom_types/switch.yaml |
| - custom_types/onosapp.yaml |
| - custom_types/switchport.yaml |
| - custom_types/portinterface.yaml |
| - custom_types/bngportmapping.yaml |
| - custom_types/serviceinstanceattribute.yaml |
| |
| description: Configures the Ponsim SEBA POD fabric |
| |
| topology_template: |
| node_templates: |
| # Fabric configuration |
| switch#leaf_1: |
| type: tosca.nodes.Switch |
| properties: |
| {{- if not $.Values.fabric.stratum.enabled }} |
| driver: "ofdpa-ovs" |
| ofId: of:0000000000000001 |
| {{- else }} |
| driver: "stratum-bmv2" |
| pipeconf: 'org.onosproject.pipelines.fabric' |
| managementAddress: "grpc://mininet-stratum:50001?device_id=1" |
| ofId: device:agg1 |
| {{- end }} |
| ipv4Loopback: 192.168.0.201 |
| ipv4NodeSid: 17 |
| isEdgeRouter: True |
| name: leaf_1 |
| routerMac: 00:00:02:01:06:01 |
| |
| # Setup the OLT switch ports |
| {{- range $i, $junk := until (.Values.numOlts|int) }} |
| |
| port#olt{{ $i }}_port: |
| type: tosca.nodes.SwitchPort |
| properties: |
| portId: {{ add 2 $i }} |
| host_learning: false |
| requirements: |
| - switch: |
| node: switch#leaf_1 |
| relationship: tosca.relationships.BelongsToOne |
| {{- end }} |
| |
| # Port connected to the BNG |
| port#bng_port: |
| type: tosca.nodes.SwitchPort |
| properties: |
| portId: 1 |
| requirements: |
| - switch: |
| node: switch#leaf_1 |
| relationship: tosca.relationships.BelongsToOne |
| |
| # Setup the fabric switch port where the external |
| # router is connected to |
| bngmapping: |
| type: tosca.nodes.BNGPortMapping |
| properties: |
| s_tag: "any" |
| switch_port: 1 |
| |
| onos_app#dhcpl2relay: |
| type: tosca.nodes.ONOSApp |
| properties: |
| name: dhcpl2relay |
| must-exist: true |
| |
| # DHCP L2 Relay config |
| dhcpl2relay-config-attr: |
| type: tosca.nodes.ServiceInstanceAttribute |
| properties: |
| name: /onos/v1/network/configuration/apps/org.opencord.dhcpl2relay |
| value: > |
| { |
| "dhcpl2relay" : { |
| "useOltUplinkForServerPktInOut" : false, |
| {{- if not $.Values.fabric.stratum.enabled }} |
| "dhcpServerConnectPoints" : [ "of:0000000000000001/1" ] |
| {{- else }} |
| "dhcpServerConnectPoints" : [ "device:agg1/1" ] |
| {{- end }} |
| } |
| } |
| requirements: |
| - service_instance: |
| node: onos_app#dhcpl2relay |
| relationship: tosca.relationships.BelongsToOne |
| {{- end }} |
| |
| {{- if $.Values.bng.embedded.enabled }} |
| tosca_definitions_version: tosca_simple_yaml_1_0 |
| imports: |
| - custom_types/switch.yaml |
| - custom_types/onosapp.yaml |
| - custom_types/switchport.yaml |
| - custom_types/portinterface.yaml |
| - custom_types/vrouterserviceinstance.yaml |
| - custom_types/vrouterstaticroute.yaml |
| - custom_types/fabricipaddress.yaml |
| - custom_types/serviceinstanceattribute.yaml |
| |
| description: Configures the Ponsim SEBA POD fabric |
| |
| topology_template: |
| node_templates: |
| # Fabric configuration |
| switch#agg_sw: |
| type: tosca.nodes.Switch |
| properties: |
| driver: "stratum-bmv2" |
| pipeconf: 'org.onosproject.pipelines.fabric-bng' |
| managementAddress: "grpc://mininet-stratum:50001?device_id=1" |
| ipv4Loopback: 192.168.0.201 |
| ipv4NodeSid: 17 |
| isEdgeRouter: True |
| ofId: device:agg1 |
| name: AGG SWITCH |
| routerMac: 00:00:02:01:06:01 |
| |
| # Setup the OLT switch ports |
| {{- range $i, $junk := until (.Values.numOlts|int) }} |
| |
| port#olt{{ $i }}_port: |
| type: tosca.nodes.SwitchPort |
| properties: |
| portId: {{ add 3 $i }} |
| host_learning: false |
| requirements: |
| - switch: |
| node: switch#agg_sw |
| relationship: tosca.relationships.BelongsToOne |
| |
| interface#access_interface_{{ $i }}: |
| type: tosca.nodes.PortInterface |
| properties: |
| name: access |
| requirements: |
| - port: |
| node: port#olt{{ $i }}_port |
| relationship: tosca.relationships.BelongsToOne |
| |
| ip#access_ip_{{ $i }}: |
| type: tosca.nodes.FabricIpAddress |
| properties: |
| ip: "10.255.255.{{ $i }}/24" |
| description: access_ip_{{ $i }} |
| requirements: |
| - interface: |
| node: interface#access_interface_{{ $i }} |
| relationship: tosca.relationships.BelongsToOne |
| {{- end }} |
| |
| # Port connected to the PPPoE Server |
| port#pppoe_server_port: |
| type: tosca.nodes.SwitchPort |
| properties: |
| portId: 1 |
| requirements: |
| - switch: |
| node: switch#agg_sw |
| relationship: tosca.relationships.BelongsToOne |
| |
| interface#ppoe_server_interface_1: |
| type: tosca.nodes.PortInterface |
| properties: |
| vlanUntagged: 100 |
| name: pppoe_server |
| requirements: |
| - port: |
| node: port#pppoe_server_port |
| relationship: tosca.relationships.BelongsToOne |
| |
| # Port connected to the Upstream router |
| port#upstream_port: |
| type: tosca.nodes.SwitchPort |
| properties: |
| portId: 2 |
| requirements: |
| - switch: |
| node: switch#agg_sw |
| relationship: tosca.relationships.BelongsToOne |
| |
| interface#upstream_interface_1: |
| type: tosca.nodes.PortInterface |
| properties: |
| vlanUntagged: 200 |
| name: upstream |
| requirements: |
| - port: |
| node: port#upstream_port |
| relationship: tosca.relationships.BelongsToOne |
| |
| ip#upstream_ip_1: |
| type: tosca.nodes.FabricIpAddress |
| properties: |
| ip: "10.10.10.254/24" |
| description: upstream_ip_1 |
| requirements: |
| - interface: |
| node: interface#upstream_interface_1 |
| relationship: tosca.relationships.BelongsToOne |
| |
| # Upstream host configuration |
| upstream-host-config: |
| type: tosca.nodes.ServiceInstanceAttribute |
| properties: |
| name: /onos/v1/network/configuration |
| value: > |
| { |
| "hosts": { |
| "00:66:77:88:99:AA/None": { |
| "basic": { |
| "name": "Upstream", |
| "ips": [ |
| "10.10.10.1" |
| ], |
| "locations": [ |
| "device:agg1/2" |
| ] |
| } |
| } |
| } |
| } |
| requirements: |
| - service_instance: |
| node: ip#upstream_ip_1 |
| relationship: tosca.relationships.BelongsToOne |
| |
| onos_app#segmentrouting: |
| type: tosca.nodes.ONOSApp |
| properties: |
| name: org.onosproject.segmentrouting |
| must-exist: true |
| |
| segmentrouting-config-attr: |
| type: tosca.nodes.ServiceInstanceAttribute |
| properties: |
| name: /onos/v1/configuration/org.onosproject.segmentrouting.SegmentRoutingManager?preset=true |
| value: > |
| { |
| "routeSimplification": "false", |
| "routeDoubleTaggedHosts": "true", |
| "respondToUnknownHosts": "true", |
| "defaultInternalVlan": "4094", |
| "pwTransportVlan": "4090", |
| "activeProbing": "true", |
| "singleHomedDown": "false", |
| "symmetricProbing": "false" |
| } |
| requirements: |
| - service_instance: |
| node: onos_app#segmentrouting |
| relationship: tosca.relationships.BelongsToOne |
| |
| # VRouter and default route. |
| vrouter#my_vrouter: |
| type: tosca.nodes.VRouterServiceInstance |
| properties: |
| name: my_vrouter |
| |
| route#default_route: |
| type: tosca.nodes.VRouterStaticRoute |
| properties: |
| prefix: "0.0.0.0/0" |
| next_hop: "10.10.10.1" |
| requirements: |
| - vrouter: |
| node: vrouter#my_vrouter |
| relationship: tosca.relationships.BelongsToOne |
| |
| # BNG App and its configuration for the PPPoE server relay. |
| onos_app#bng: |
| type: tosca.nodes.ONOSApp |
| properties: |
| name: org.opencord.bng |
| must-exist: true |
| |
| bng-config-attr: |
| type: tosca.nodes.ServiceInstanceAttribute |
| properties: |
| name: /onos/v1/network/configuration/apps/org.opencord.bng |
| value: > |
| { |
| "pppoerelay": { |
| "oltConnectPoint": "device:agg1/3", |
| "pppoeServerConnectPoint": "device:agg1/1" |
| }, |
| "bng": { |
| "bnguDeviceId": "device:agg1" |
| } |
| } |
| requirements: |
| - service_instance: |
| node: onos_app#bng |
| relationship: tosca.relationships.BelongsToOne |
| {{- end }} |