import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ActionName;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ClassifierName;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ClauseName;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ContextId;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ContractId;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.EndpointGroupId;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.L2BridgeDomainId;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.endpoint.rev140421.endpoints.EndpointBuilder;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.ofoverlay.rev140528.OfOverlayContext;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.ofoverlay.rev140528.OfOverlayContextBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.ofoverlay.rev140528.Segmentation;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.ofoverlay.rev140528.SegmentationBuilder;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.HasDirection.Direction;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.has.action.refs.ActionRefBuilder;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.has.classifier.refs.ClassifierRef;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.has.classifier.refs.ClassifierRefBuilder;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.subject.feature.instance.ParameterValueBuilder;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.TenantBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.ContractBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.EndpointGroupBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.L2BridgeDomainBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.L2FloodDomainBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.L3ContextBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.SubjectFeatureInstancesBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.SubnetBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.contract.ClauseBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.contract.Subject;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.contract.SubjectBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.contract.subject.Rule;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.contract.subject.RuleBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.endpoint.group.ConsumerNamedSelectorBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.endpoint.group.ProviderNamedSelectorBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.subject.feature.instances.ActionInstanceBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.subject.feature.instances.ClassifierInstanceBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.ForwardingContextBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.PolicyBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.forwarding.context.L2BridgeDomainBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.forwarding.context.L2FloodDomain;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.forwarding.context.L2FloodDomainBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.forwarding.context.L3ContextBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.forwarding.context.Subnet;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.forwarding.context.SubnetBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.policy.ContractBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.policy.EndpointGroupBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.policy.SubjectFeatureInstancesBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.policy.contract.ClauseBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.policy.contract.Subject;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.policy.contract.SubjectBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.policy.contract.subject.Rule;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.policy.contract.subject.RuleBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.policy.endpoint.group.ConsumerNamedSelectorBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.policy.endpoint.group.ProviderNamedSelectorBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.policy.subject.feature.instances.ActionInstanceBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.policy.subject.feature.instances.ClassifierInstanceBuilder;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorId;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;\r
\r
L3ContextId l3c = new L3ContextId("2cf51ee4-e996-467e-a277-2d380334a91d");\r
L2BridgeDomainId bd = new L2BridgeDomainId("c95182ba-7807-43f8-98f7-6c7c720b7639");\r
L2FloodDomainId fd = new L2FloodDomainId("98e1439e-52d2-46f8-bd69-5136e6088771");\r
+ L2FloodDomainId ext_fd = new L2FloodDomainId("d8024f7a-b83e-11e5-9912-ba0be0483c18");\r
SubnetId sub = new SubnetId("4fcf8dfc-53b5-4aef-84d3-6b5586992fcb");\r
SubnetId sub2 = new SubnetId("c285a59f-fcb8-42e6-bf29-87ea522fd626");\r
SubnetId sub3 = new SubnetId("a0380d52-2a25-48ef-882c-a4d4cd9e00ec");\r
+ SubnetId ext_sub = new SubnetId("8da17ad9-3261-4dc9-bcff-928a2f73cce7");\r
TenantId tid = new TenantId("1118c691-8520-47ad-80b8-4cf5e3fe3302");\r
EndpointGroupId eg = new EndpointGroupId("36dec84a-08c7-497b-80b6-a0035af72a12");\r
EndpointGroupId eg2 = new EndpointGroupId("632e5e11-7988-4eb5-8fe6-6c182d890276");\r
}\r
\r
protected TenantBuilder baseTenant() {\r
- return new TenantBuilder()\r
- .setId(tid)\r
- .setEndpointGroup(ImmutableList.of(new EndpointGroupBuilder()\r
- .setId(eg)\r
- .setNetworkDomain(sub)\r
- .setConsumerNamedSelector(ImmutableList.of(new ConsumerNamedSelectorBuilder()\r
- .setName(new SelectorName("cns1"))\r
- .setContract(ImmutableList.of(cid))\r
- .build()))\r
- .build(),\r
- new EndpointGroupBuilder()\r
- .setId(eg2)\r
- .setNetworkDomain(sub2)\r
- .setProviderNamedSelector(ImmutableList.of(new ProviderNamedSelectorBuilder()\r
- .setName(new SelectorName("pns1"))\r
- .setContract(ImmutableList.of(cid))\r
- .build()))\r
- .build()))\r
- .setL3Context(ImmutableList.of(new L3ContextBuilder()\r
- .setId(l3c)\r
- .build()))\r
- .setL2BridgeDomain(ImmutableList.of(new L2BridgeDomainBuilder()\r
- .setId(bd)\r
- .setParent(l3c)\r
- .build()))\r
- .setL2FloodDomain(ImmutableList.of(new L2FloodDomainBuilder()\r
- .setId(fd)\r
- .setParent(bd)\r
- .build()))\r
- .setSubnet(ImmutableList.of(new SubnetBuilder()\r
- .setId(sub2)\r
- .setParent(fd)\r
- .setIpPrefix(new IpPrefix(new Ipv4Prefix("10.0.1.0/24")))\r
- .setVirtualRouterIp(new IpAddress(new Ipv4Address("10.0.1.1")))\r
- .build(),\r
- new SubnetBuilder()\r
- .setId(sub)\r
- .setParent(fd)\r
- .setIpPrefix(new IpPrefix(new Ipv4Prefix("10.0.0.0/24")))\r
- .setVirtualRouterIp(new IpAddress(new Ipv4Address("10.0.0.1")))\r
- .build(),\r
- new SubnetBuilder()\r
- .setId(sub3)\r
- .setParent(bd)\r
- .setIpPrefix(new IpPrefix(new Ipv4Prefix("10.0.2.0/24")))\r
- .setVirtualRouterIp(new IpAddress(new Ipv4Address("10.0.2.1")))\r
- .build()))\r
- .setSubjectFeatureInstances(new SubjectFeatureInstancesBuilder()\r
- .setClassifierInstance(ImmutableList.of(new ClassifierInstanceBuilder()\r
- .setName(new ClassifierName("tcp_dst_80"))\r
- .setClassifierDefinitionId(L4ClassifierDefinition.DEFINITION.getId())\r
- .setParameterValue(ImmutableList.of(new ParameterValueBuilder()\r
- .setName(new ParameterName("destport"))\r
- .setIntValue(Long.valueOf(80))\r
- .build(),\r
- new ParameterValueBuilder()\r
- .setName(new ParameterName("proto"))\r
- .setIntValue(Long.valueOf(6))\r
- .build()))\r
- .build(),\r
- new ClassifierInstanceBuilder()\r
- .setName(new ClassifierName("tcp_src_80"))\r
- .setClassifierDefinitionId(Classifier.L4_CL.getId())\r
- .setParameterValue(ImmutableList.of(new ParameterValueBuilder()\r
- .setName(new ParameterName("sourceport"))\r
- .setIntValue(Long.valueOf(80))\r
- .build(),\r
- new ParameterValueBuilder()\r
- .setName(new ParameterName("proto"))\r
- .setIntValue(Long.valueOf(6))\r
- .build()))\r
- .build(),\r
- new ClassifierInstanceBuilder()\r
- .setName(new ClassifierName("ether_type"))\r
- .setClassifierDefinitionId(Classifier.ETHER_TYPE_CL.getId())\r
- .setParameterValue(ImmutableList.of(new ParameterValueBuilder()\r
- .setName(new ParameterName("ethertype"))\r
- .setIntValue(Long.valueOf(FlowUtils.IPv4))\r
- .build()))\r
- .build()))\r
- .setActionInstance(ImmutableList.of(new ActionInstanceBuilder()\r
- .setName(new ActionName("allow"))\r
- .setActionDefinitionId(new AllowAction().getId())\r
- .build()))\r
- .build());\r
+ return new TenantBuilder().setId(tid)\r
+ .setPolicy(new PolicyBuilder()\r
+ .setEndpointGroup(ImmutableList.of(\r
+ new EndpointGroupBuilder().setId(eg)\r
+ .setNetworkDomain(sub)\r
+ .setConsumerNamedSelector(ImmutableList.of(new ConsumerNamedSelectorBuilder()\r
+ .setName(new SelectorName("cns1")).setContract(ImmutableList.of(cid)).build()))\r
+ .build(),\r
+ new EndpointGroupBuilder().setId(eg2)\r
+ .setNetworkDomain(sub2)\r
+ .setProviderNamedSelector(ImmutableList.of(new ProviderNamedSelectorBuilder()\r
+ .setName(new SelectorName("pns1")).setContract(ImmutableList.of(cid)).build()))\r
+ .build()))\r
+ .setSubjectFeatureInstances(\r
+ new SubjectFeatureInstancesBuilder()\r
+ .setClassifierInstance(\r
+ ImmutableList\r
+ .of(new ClassifierInstanceBuilder().setName(new ClassifierName("tcp_dst_80"))\r
+ .setClassifierDefinitionId(L4ClassifierDefinition.DEFINITION.getId())\r
+ .setParameterValue(ImmutableList.of(\r
+ new ParameterValueBuilder().setName(new ParameterName("destport"))\r
+ .setIntValue(Long.valueOf(80))\r
+ .build(),\r
+ new ParameterValueBuilder().setName(new ParameterName("proto"))\r
+ .setIntValue(Long.valueOf(6))\r
+ .build()))\r
+ .build(), new ClassifierInstanceBuilder()\r
+ .setName(new ClassifierName("tcp_src_80"))\r
+ .setClassifierDefinitionId(Classifier.L4_CL.getId())\r
+ .setParameterValue(ImmutableList.of(\r
+ new ParameterValueBuilder()\r
+ .setName(new ParameterName("sourceport"))\r
+ .setIntValue(Long.valueOf(80))\r
+ .build(),\r
+ new ParameterValueBuilder().setName(new ParameterName("proto"))\r
+ .setIntValue(Long.valueOf(6))\r
+ .build()))\r
+ .build(),\r
+ new ClassifierInstanceBuilder()\r
+ .setName(new ClassifierName("ether_type"))\r
+ .setClassifierDefinitionId(Classifier.ETHER_TYPE_CL.getId())\r
+ .setParameterValue(ImmutableList.of(new ParameterValueBuilder()\r
+ .setName(new ParameterName("ethertype"))\r
+ .setIntValue(Long.valueOf(FlowUtils.IPv4))\r
+ .build()))\r
+ .build()))\r
+ .setActionInstance(\r
+ ImmutableList.of(new ActionInstanceBuilder().setName(new ActionName("allow"))\r
+ .setActionDefinitionId(new AllowAction().getId())\r
+ .build()))\r
+ .build())\r
+ .build())\r
+ .setForwardingContext(\r
+ new ForwardingContextBuilder()\r
+ .setL3Context(ImmutableList.of(new L3ContextBuilder().setId(l3c).build()))\r
+ .setL2BridgeDomain(\r
+ ImmutableList.of(new L2BridgeDomainBuilder().setId(bd).setParent(l3c).build()))\r
+ .setL2FloodDomain(ImmutableList.of(\r
+ new L2FloodDomainBuilder()\r
+ .setId(fd)\r
+ .setParent(bd)\r
+ .addAugmentation(Segmentation.class,\r
+ new SegmentationBuilder()\r
+ .setSegmentationId(Integer.valueOf(216))\r
+ .build())\r
+ .build(),\r
+ new L2FloodDomainBuilder()\r
+ .setId(ext_fd)\r
+ .addAugmentation(Segmentation.class,\r
+ new SegmentationBuilder()\r
+ .setSegmentationId(Integer.valueOf(2016))\r
+ .build())\r
+ .build()))\r
+ .setSubnet(ImmutableList.of(\r
+ new SubnetBuilder().setId(sub2)\r
+ .setParent(fd)\r
+ .setIpPrefix(new IpPrefix(new Ipv4Prefix("10.0.1.0/24")))\r
+ .setVirtualRouterIp(new IpAddress(new Ipv4Address("10.0.1.1")))\r
+ .build(),\r
+ new SubnetBuilder().setId(sub)\r
+ .setParent(fd)\r
+ .setIpPrefix(new IpPrefix(new Ipv4Prefix("10.0.0.0/24")))\r
+ .setVirtualRouterIp(new IpAddress(new Ipv4Address("10.0.0.1")))\r
+ .build(),\r
+ new SubnetBuilder().setId(sub3)\r
+ .setParent(bd)\r
+ .setIpPrefix(new IpPrefix(new Ipv4Prefix("10.0.2.0/24")))\r
+ .setVirtualRouterIp(new IpAddress(new Ipv4Address("10.0.2.1")))\r
+ .build(),\r
+ new SubnetBuilder()\r
+ .setId(ext_sub)\r
+ .setIpPrefix(new IpPrefix(new Ipv4Prefix("192.168.111.0/24")))\r
+ .setParent(ext_fd)\r
+ .build()))\r
+ .build());\r
}\r
\r
protected ContractBuilder baseContract(List<Subject> subjects) {\r