2 * Copyright (c) 2013 Pantheon Technologies s.r.o. and others. All rights reserved.
\r
4 * This program and the accompanying materials are made available under the
\r
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
\r
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
\r
9 package org.opendaylight.openflowjava.protocol.impl.deserialization;
\r
11 import org.opendaylight.openflowjava.protocol.api.extensibility.DeserializerRegistry;
\r
12 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF10EnqueueActionDeserializer;
\r
13 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF10OutputActionDeserializer;
\r
14 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF10SetDlDstActionDeserializer;
\r
15 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF10SetDlSrcActionDeserializer;
\r
16 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF10SetNwDstActionDeserializer;
\r
17 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF10SetNwSrcActionDeserializer;
\r
18 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF10SetNwTosActionDeserializer;
\r
19 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF10SetTpDstActionDeserializer;
\r
20 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF10SetTpSrcActionDeserializer;
\r
21 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF10SetVlanPcpActionDeserializer;
\r
22 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF10SetVlanVidActionDeserializer;
\r
23 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF10StripVlanActionDeserializer;
\r
24 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13CopyTtlInActionDeserializer;
\r
25 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13CopyTtlOutActionDeserializer;
\r
26 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13DecMplsTtlActionDeserializer;
\r
27 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13DecNwTtlActionDeserializer;
\r
28 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13GroupActionDeserializer;
\r
29 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13OutputActionDeserializer;
\r
30 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13PopMplsActionDeserializer;
\r
31 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13PopPbbActionDeserializer;
\r
32 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13PopVlanActionDeserializer;
\r
33 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13PushMplsActionDeserializer;
\r
34 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13PushPbbActionDeserializer;
\r
35 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13PushVlanActionDeserializer;
\r
36 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13SetFieldActionDeserializer;
\r
37 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13SetMplsTtlActionDeserializer;
\r
38 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13SetNwTtlActionDeserializer;
\r
39 import org.opendaylight.openflowjava.protocol.impl.deserialization.action.OF13SetQueueActionDeserializer;
\r
40 import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
\r
41 import org.opendaylight.openflowjava.protocol.impl.util.SimpleDeserializerRegistryHelper;
\r
42 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.Action;
\r
45 * @author michal.polkorab
\r
48 public class ActionDeserializerInitializer {
\r
51 * Registers action deserializers
\r
52 * @param registry registry to be filled with deserializers
\r
54 public static void registerDeserializers(DeserializerRegistry registry) {
\r
55 // register OF v1.0 action deserializers
\r
56 SimpleDeserializerRegistryHelper helper =
\r
57 new SimpleDeserializerRegistryHelper(EncodeConstants.OF10_VERSION_ID, registry);
\r
58 helper.registerDeserializer(0, Action.class, new OF10OutputActionDeserializer());
\r
59 helper.registerDeserializer(1, Action.class, new OF10SetVlanVidActionDeserializer());
\r
60 helper.registerDeserializer(2, Action.class, new OF10SetVlanPcpActionDeserializer());
\r
61 helper.registerDeserializer(3, Action.class, new OF10StripVlanActionDeserializer());
\r
62 helper.registerDeserializer(4, Action.class, new OF10SetDlSrcActionDeserializer());
\r
63 helper.registerDeserializer(5, Action.class, new OF10SetDlDstActionDeserializer());
\r
64 helper.registerDeserializer(6, Action.class, new OF10SetNwSrcActionDeserializer());
\r
65 helper.registerDeserializer(7, Action.class, new OF10SetNwDstActionDeserializer());
\r
66 helper.registerDeserializer(8, Action.class, new OF10SetNwTosActionDeserializer());
\r
67 helper.registerDeserializer(9, Action.class, new OF10SetTpSrcActionDeserializer());
\r
68 helper.registerDeserializer(10, Action.class, new OF10SetTpDstActionDeserializer());
\r
69 helper.registerDeserializer(11, Action.class, new OF10EnqueueActionDeserializer());
\r
70 // register OF v1.3 action deserializers
\r
71 helper = new SimpleDeserializerRegistryHelper(EncodeConstants.OF13_VERSION_ID, registry);
\r
72 helper.registerDeserializer(0, Action.class, new OF13OutputActionDeserializer());
\r
73 helper.registerDeserializer(11, Action.class, new OF13CopyTtlOutActionDeserializer());
\r
74 helper.registerDeserializer(12, Action.class, new OF13CopyTtlInActionDeserializer());
\r
75 helper.registerDeserializer(15, Action.class, new OF13SetMplsTtlActionDeserializer());
\r
76 helper.registerDeserializer(16, Action.class, new OF13DecMplsTtlActionDeserializer());
\r
77 helper.registerDeserializer(17, Action.class, new OF13PushVlanActionDeserializer());
\r
78 helper.registerDeserializer(18, Action.class, new OF13PopVlanActionDeserializer());
\r
79 helper.registerDeserializer(19, Action.class, new OF13PushMplsActionDeserializer());
\r
80 helper.registerDeserializer(20, Action.class, new OF13PopMplsActionDeserializer());
\r
81 helper.registerDeserializer(21, Action.class, new OF13SetQueueActionDeserializer());
\r
82 helper.registerDeserializer(22, Action.class, new OF13GroupActionDeserializer());
\r
83 helper.registerDeserializer(23, Action.class, new OF13SetNwTtlActionDeserializer());
\r
84 helper.registerDeserializer(24, Action.class, new OF13DecNwTtlActionDeserializer());
\r
85 helper.registerDeserializer(25, Action.class, new OF13SetFieldActionDeserializer());
\r
86 helper.registerDeserializer(26, Action.class, new OF13PushPbbActionDeserializer());
\r
87 helper.registerDeserializer(27, Action.class, new OF13PopPbbActionDeserializer());
\r