2 * Copyright (c) 2014 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.util;
\r
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PortConfigV10;
\r
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PortFeaturesV10;
\r
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PortStateV10;
\r
16 * Used for common structures translation / conversion
\r
18 * @author michal.polkorab
\r
20 public abstract class OpenflowUtils {
\r
23 * Creates PortState (OF v1.0) from input
\r
24 * @param input value read from buffer
\r
25 * @return port state
\r
27 public static PortStateV10 createPortState(long input){
\r
28 final Boolean _linkDown = ((input) & (1<<0)) != 0;
\r
29 final Boolean _blocked = ((input) & (1<<1)) != 0;
\r
30 final Boolean _live = ((input) & (1<<2)) != 0;
\r
31 final Boolean _stpListen = ((input) & (1<<8)) == 0;
\r
32 final Boolean _stpLearn = ((input) & (1<<8)) != 0;
\r
33 final Boolean _stpForward = ((input) & (1<<9)) != 0; // equals 2 << 8
\r
34 final Boolean _stpBlock = (((input) & (1<<9)) != 0) && (((input) & (1<<8)) != 0); // equals 3 << 8
\r
35 final Boolean _stpMask = ((input) & (1<<10)) != 0; // equals 4 << 8
\r
36 return new PortStateV10(_blocked, _linkDown, _live, _stpBlock, _stpForward, _stpLearn, _stpListen, _stpMask);
\r
40 * Creates PortConfig (OF v1.0) from input
\r
41 * @param input value read from buffer
\r
42 * @return port state
\r
44 public static PortConfigV10 createPortConfig(long input){
\r
45 final Boolean _portDown = ((input) & (1<<0)) != 0;
\r
46 final Boolean _noStp = ((input) & (1<<1)) != 0;
\r
47 final Boolean _noRecv = ((input) & (1<<2)) != 0;
\r
48 final Boolean _noRecvStp = ((input) & (1<<3)) != 0;
\r
49 final Boolean _noFlood = ((input) & (1<<4)) != 0;
\r
50 final Boolean _noFwd = ((input) & (1<<5)) != 0;
\r
51 final Boolean _noPacketIn = ((input) & (1<<6)) != 0;
\r
52 return new PortConfigV10(_noFlood, _noFwd, _noPacketIn, _noRecv, _noRecvStp, _noStp, _portDown);
\r
56 * Creates PortFeatures (OF v1.0) from input
\r
57 * @param input value read from buffer
\r
58 * @return port state
\r
60 public static PortFeaturesV10 createPortFeatures(long input){
\r
61 final Boolean _10mbHd = ((input) & (1<<0)) != 0;
\r
62 final Boolean _10mbFd = ((input) & (1<<1)) != 0;
\r
63 final Boolean _100mbHd = ((input) & (1<<2)) != 0;
\r
64 final Boolean _100mbFd = ((input) & (1<<3)) != 0;
\r
65 final Boolean _1gbHd = ((input) & (1<<4)) != 0;
\r
66 final Boolean _1gbFd = ((input) & (1<<5)) != 0;
\r
67 final Boolean _10gbFd = ((input) & (1<<6)) != 0;
\r
68 final Boolean _copper = ((input) & (1<<7)) != 0;
\r
69 final Boolean _fiber = ((input) & (1<<8)) != 0;
\r
70 final Boolean _autoneg = ((input) & (1<<9)) != 0;
\r
71 final Boolean _pause = ((input) & (1<<10)) != 0;
\r
72 final Boolean _pauseAsym = ((input) & (1<<11)) != 0;
\r
73 return new PortFeaturesV10(_100mbFd, _100mbHd, _10gbFd, _10mbFd, _10mbHd,
\r
74 _1gbFd, _1gbHd, _autoneg, _copper, _fiber, _pause, _pauseAsym);
\r