Bump upstreams for 2022.09 Chlorine
[openflowplugin.git] / openflowplugin-impl / src / main / java / org / opendaylight / openflowplugin / impl / util / PacketInUtil.java
1 /*
2  * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.openflowplugin.impl.util;
9
10 import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.InvalidTtl;
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.NoMatch;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketInReason;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.SendToController;
14
15 public final class PacketInUtil {
16     private PacketInUtil() {
17         // Hidden on purpose
18     }
19
20     /**
21      * Get MDSAL packet-in reason.
22      *
23      * @param reason openflow java packet in reason
24      * @return corresponding MD-SAL reason class for given OF-API reason
25      */
26     public static PacketInReason getMdSalPacketInReason(
27             org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PacketInReason reason) {
28         // FIXME: use a switch expression
29         PacketInReason resultReason = PacketInReason.VALUE;
30
31         if (reason
32                 .equals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PacketInReason
33                                 .OFPRNOMATCH)) {
34             resultReason = NoMatch.VALUE;
35         } else if (reason
36                 .equals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PacketInReason
37                                 .OFPRINVALIDTTL)) {
38             resultReason = InvalidTtl.VALUE;
39         } else if (reason
40                 .equals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PacketInReason
41                                 .OFPRACTION)) {
42             resultReason = SendToController.VALUE;
43         }
44         return resultReason;
45     }
46 }