Search in sources :

Example 71 with Path

use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev171025.pcupd.message.pcupd.message.updates.Path in project openflowplugin by opendaylight.

the class CtMarkConvertor method convert.

/*
     * (non-Javadoc)
     *
     * @see
     * org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava#convert
     * (org.opendaylight.yangtools.yang.binding.DataContainer,
     * org.opendaylight.openflowplugin.extension.api.path.AugmentationPath)
     */
@Override
public ExtensionAugment<? extends Augmentation<Extension>> convert(MatchEntry input, MatchPath path) {
    CtMarkCaseValue ctMarkCaseValue = ((CtMarkCaseValue) input.getMatchEntryValue());
    NxmNxCtMarkBuilder ctMarkBuilder = new NxmNxCtMarkBuilder();
    ctMarkBuilder.setCtMark(ctMarkCaseValue.getCtMarkValues().getCtMark());
    ctMarkBuilder.setMask(ctMarkCaseValue.getCtMarkValues().getMask());
    return resolveAugmentation(ctMarkBuilder.build(), path, NxmNxCtMarkKey.class);
}
Also used : CtMarkCaseValue(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.CtMarkCaseValue) NxmNxCtMarkBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.ct.mark.grouping.NxmNxCtMarkBuilder)

Example 72 with Path

use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev171025.pcupd.message.pcupd.message.updates.Path in project openflowplugin by opendaylight.

the class CtZoneConvertor method convert.

@Override
public ExtensionAugment<? extends Augmentation<Extension>> convert(MatchEntry input, MatchPath path) {
    CtZoneCaseValue ctZoneCaseValue = (CtZoneCaseValue) input.getMatchEntryValue();
    NxmNxCtZoneBuilder ctZoneBuilder = new NxmNxCtZoneBuilder();
    ctZoneBuilder.setCtZone(ctZoneCaseValue.getCtZoneValues().getCtZone());
    return resolveAugmentation(ctZoneBuilder.build(), path, NxmNxCtZoneKey.class);
}
Also used : NxmNxCtZoneBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.ct.zone.grouping.NxmNxCtZoneBuilder) CtZoneCaseValue(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.CtZoneCaseValue)

Example 73 with Path

use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev171025.pcupd.message.pcupd.message.updates.Path in project openflowplugin by opendaylight.

the class LearnConvertor method convert.

@Override
public org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action convert(final Action input, final ActionPath path) {
    NxActionLearn action = ((ActionLearn) input.getActionChoice()).getNxActionLearn();
    NxLearnBuilder builder = new NxLearnBuilder();
    LearnConvertorUtil.convertUp(action, builder);
    return resolveAction(builder.build(), path);
}
Also used : NxLearnBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.learn.grouping.NxLearnBuilder) ActionLearn(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionLearn) NxActionLearn(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.learn.grouping.NxActionLearn) NxActionLearn(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.learn.grouping.NxActionLearn)

Example 74 with Path

use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev171025.pcupd.message.pcupd.message.updates.Path in project openflowplugin by opendaylight.

the class UdpDstConvertor method convert.

@Override
public ExtensionAugment<? extends Augmentation<Extension>> convert(MatchEntry input, MatchPath path) {
    UdpDstCaseValue udpDstCaseValue = (UdpDstCaseValue) input.getMatchEntryValue();
    NxmOfUdpDstBuilder udpDstBuilder = new NxmOfUdpDstBuilder();
    udpDstBuilder.setPort(udpDstCaseValue.getUdpDstValues().getPort());
    udpDstBuilder.setMask(udpDstCaseValue.getUdpDstValues().getMask());
    return resolveAugmentation(udpDstBuilder.build(), path, NxmOfUdpDstKey.class);
}
Also used : UdpDstCaseValue(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.UdpDstCaseValue) NxmOfUdpDstBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.of.udp.dst.grouping.NxmOfUdpDstBuilder)

Example 75 with Path

use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev171025.pcupd.message.pcupd.message.updates.Path in project openflowplugin by opendaylight.

the class MatchDeserializerInjector method injectDeserializers.

/**
 * Injects deserializers into provided
 * {@link org.opendaylight.openflowjava.protocol.api.extensibility.DeserializerExtensionProvider}.
 *
 * @param provider OpenflowJava deserializer extension provider
 */
static void injectDeserializers(final DeserializerExtensionProvider provider) {
    for (MatchPath path : MatchPath.values()) {
        final MatchDeserializer deserializer = new MatchDeserializer(path);
        provider.registerDeserializer(new MessageCodeMatchKey(EncodeConstants.OF13_VERSION_ID, EncodeConstants.EMPTY_LENGTH, Match.class, path), deserializer);
        // Inject new match entry serializers here using injector created by createInjector method
        final Function<Integer, Function<Long, Function<Integer, Consumer<MatchEntryDeserializer>>>> injector = createInjector(deserializer, EncodeConstants.OF13_VERSION_ID);
        // Wrapped injector that uses OPENFLOW_BASIC_CLASS
        final Function<Integer, Consumer<MatchEntryDeserializer>> basicInjector = injector.apply(OxmMatchConstants.OPENFLOW_BASIC_CLASS).apply(null);
        // Wrapped injector that uses EXPERIMENTER_CLASS
        final Function<Long, Function<Integer, Consumer<MatchEntryDeserializer>>> experInjector = injector.apply(OxmMatchConstants.EXPERIMENTER_CLASS);
        basicInjector.apply(OxmMatchConstants.ARP_OP).accept(new ArpOpEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.ARP_SHA).accept(new ArpSourceHardwareAddressEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.ARP_THA).accept(new ArpTargetHardwareAddressEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.ARP_SPA).accept(new ArpSourceTransportAddressEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.ARP_TPA).accept(new ArpTargetTransportAddressEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.IN_PORT).accept(new InPortEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.IN_PHY_PORT).accept(new InPhyPortEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.METADATA).accept(new MetadataEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.ETH_DST).accept(new EthernetDestinationEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.ETH_SRC).accept(new EthernetSourceEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.ETH_TYPE).accept(new EthernetTypeEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.VLAN_PCP).accept(new VlanPcpEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.VLAN_VID).accept(new VlanVidEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.IP_DSCP).accept(new IpDscpEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.IP_ECN).accept(new IpEcnEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.IP_PROTO).accept(new IpProtoEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.TCP_SRC).accept(new TcpSourcePortEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.TCP_DST).accept(new TcpDestinationPortEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.UDP_SRC).accept(new UdpSourcePortEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.UDP_DST).accept(new UdpDestinationPortEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.SCTP_SRC).accept(new SctpSourcePortEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.SCTP_DST).accept(new SctpDestinationPortEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.ICMPV4_CODE).accept(new Icmpv4CodeEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.ICMPV4_TYPE).accept(new Icmpv4TypeEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.ICMPV6_CODE).accept(new Icmpv6CodeEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.ICMPV6_TYPE).accept(new Icmpv6TypeEntryDeserializer());
        // TODO: How to differentiate between Ipv4 and Tunnel when both are serialized to same format?
        basicInjector.apply(OxmMatchConstants.IPV4_SRC).accept(new Ipv4SourceEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.IPV4_DST).accept(new Ipv4DestinationEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.IPV6_SRC).accept(new Ipv6SourceEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.IPV6_DST).accept(new Ipv6DestinationEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.IPV6_EXTHDR).accept(new Ipv6ExtHeaderEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.IPV6_FLABEL).accept(new Ipv6FlabelEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.IPV6_ND_SLL).accept(new Ipv6NdSllEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.IPV6_ND_TLL).accept(new Ipv6NdTllEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.IPV6_ND_TARGET).accept(new Ipv6NdTargetEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.MPLS_LABEL).accept(new MplsLabelEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.MPLS_BOS).accept(new MplsBosEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.MPLS_TC).accept(new MplsTcEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.PBB_ISID).accept(new PbbEntryDeserializer());
        basicInjector.apply(OxmMatchConstants.TUNNEL_ID).accept(new TunnelIdEntryDeserializer());
        experInjector.apply(EncodeConstants.ONF_EXPERIMENTER_ID).apply(EncodeConstants.ONFOXM_ET_TCP_FLAGS).accept(new TcpFlagsEntryDeserializer());
    }
}
Also used : IpProtoEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.IpProtoEntryDeserializer) TunnelIdEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.TunnelIdEntryDeserializer) Icmpv4CodeEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.Icmpv4CodeEntryDeserializer) IpEcnEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.IpEcnEntryDeserializer) IpDscpEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.IpDscpEntryDeserializer) TcpSourcePortEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.TcpSourcePortEntryDeserializer) Consumer(java.util.function.Consumer) MatchDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.MatchDeserializer) InPhyPortEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.InPhyPortEntryDeserializer) SctpSourcePortEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.SctpSourcePortEntryDeserializer) MplsTcEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.MplsTcEntryDeserializer) VlanVidEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.VlanVidEntryDeserializer) MplsBosEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.MplsBosEntryDeserializer) Ipv6SourceEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.Ipv6SourceEntryDeserializer) Ipv6ExtHeaderEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.Ipv6ExtHeaderEntryDeserializer) Ipv6NdTllEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.Ipv6NdTllEntryDeserializer) Ipv6NdSllEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.Ipv6NdSllEntryDeserializer) UdpSourcePortEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.UdpSourcePortEntryDeserializer) ArpSourceTransportAddressEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.ArpSourceTransportAddressEntryDeserializer) Icmpv6TypeEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.Icmpv6TypeEntryDeserializer) Ipv4DestinationEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.Ipv4DestinationEntryDeserializer) SctpDestinationPortEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.SctpDestinationPortEntryDeserializer) TcpDestinationPortEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.TcpDestinationPortEntryDeserializer) TcpFlagsEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.TcpFlagsEntryDeserializer) ArpTargetTransportAddressEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.ArpTargetTransportAddressEntryDeserializer) MatchEntryDeserializer(org.opendaylight.openflowplugin.api.openflow.protocol.deserialization.MatchEntryDeserializer) PbbEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.PbbEntryDeserializer) Match(org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.Match) VlanPcpEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.VlanPcpEntryDeserializer) Function(java.util.function.Function) MplsLabelEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.MplsLabelEntryDeserializer) UdpDestinationPortEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.UdpDestinationPortEntryDeserializer) Ipv6DestinationEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.Ipv6DestinationEntryDeserializer) EthernetDestinationEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.EthernetDestinationEntryDeserializer) Ipv4SourceEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.Ipv4SourceEntryDeserializer) Icmpv4TypeEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.Icmpv4TypeEntryDeserializer) MatchPath(org.opendaylight.openflowplugin.extension.api.path.MatchPath) ArpOpEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.ArpOpEntryDeserializer) MetadataEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.MetadataEntryDeserializer) ArpTargetHardwareAddressEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.ArpTargetHardwareAddressEntryDeserializer) Ipv6NdTargetEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.Ipv6NdTargetEntryDeserializer) EthernetSourceEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.EthernetSourceEntryDeserializer) EthernetTypeEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.EthernetTypeEntryDeserializer) ArpSourceHardwareAddressEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.ArpSourceHardwareAddressEntryDeserializer) MessageCodeMatchKey(org.opendaylight.openflowplugin.impl.protocol.deserialization.key.MessageCodeMatchKey) InPortEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.InPortEntryDeserializer) Ipv6FlabelEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.Ipv6FlabelEntryDeserializer) Icmpv6CodeEntryDeserializer(org.opendaylight.openflowplugin.impl.protocol.deserialization.match.Icmpv6CodeEntryDeserializer)

Aggregations

Test (org.junit.Test)45 ArrayList (java.util.ArrayList)42 WriteTransaction (org.opendaylight.controller.md.sal.binding.api.WriteTransaction)22 TransportZone (org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZone)19 InstanceIdentifier (org.opendaylight.yangtools.yang.binding.InstanceIdentifier)19 Node (org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node)18 IpAddress (org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress)17 ExecutionException (java.util.concurrent.ExecutionException)16 AttributesBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev171207.path.attributes.AttributesBuilder)16 ByteBuf (io.netty.buffer.ByteBuf)15 ReadFailedException (org.opendaylight.controller.md.sal.common.api.data.ReadFailedException)15 TransportZones (org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.TransportZones)15 Update (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev171207.Update)15 List (java.util.List)14 DataBroker (org.opendaylight.controller.md.sal.binding.api.DataBroker)14 AsPathBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev171207.path.attributes.attributes.AsPathBuilder)14 Logger (org.slf4j.Logger)14 LoggerFactory (org.slf4j.LoggerFactory)14 TransportZoneKey (org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZoneKey)13 BigInteger (java.math.BigInteger)12