当前位置: 首页>>代码示例>>Java>>正文


Java OFActionOutput.MINIMUM_LENGTH属性代码示例

本文整理汇总了Java中org.openflow.protocol.action.OFActionOutput.MINIMUM_LENGTH属性的典型用法代码示例。如果您正苦于以下问题:Java OFActionOutput.MINIMUM_LENGTH属性的具体用法?Java OFActionOutput.MINIMUM_LENGTH怎么用?Java OFActionOutput.MINIMUM_LENGTH使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在org.openflow.protocol.action.OFActionOutput的用法示例。


在下文中一共展示了OFActionOutput.MINIMUM_LENGTH属性的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: writePacketOutForPacketIn

/**
 * Writes an OFPacketOut message to a switch.
 * @param sw The switch to write the PacketOut to.
 * @param packetInMessage The corresponding PacketIn.
 * @param egressPort The switchport to output the PacketOut.
 */
private void writePacketOutForPacketIn(IOFSwitch sw,
                                      OFPacketIn packetInMessage,
                                      short egressPort) {
    // from openflow 1.0 spec - need to set these on a struct ofp_packet_out:
    // uint32_t buffer_id; /* ID assigned by datapath (-1 if none). */
    // uint16_t in_port; /* Packet's input port (OFPP_NONE if none). */
    // uint16_t actions_len; /* Size of action array in bytes. */
    // struct ofp_action_header actions[0]; /* Actions. */
    /* uint8_t data[0]; */ /* Packet data. The length is inferred
                              from the length field in the header.
                              (Only meaningful if buffer_id == -1.) */

    OFPacketOut packetOutMessage = (OFPacketOut) floodlightProvider.getOFMessageFactory().getMessage(OFType.PACKET_OUT);
    short packetOutLength = (short)OFPacketOut.MINIMUM_LENGTH; // starting length

    // Set buffer_id, in_port, actions_len
    packetOutMessage.setBufferId(packetInMessage.getBufferId());
    packetOutMessage.setInPort(packetInMessage.getInPort());
    packetOutMessage.setActionsLength((short)OFActionOutput.MINIMUM_LENGTH);
    packetOutLength += OFActionOutput.MINIMUM_LENGTH;

    // set actions
    List<OFAction> actions = new ArrayList<OFAction>(1);
    actions.add(new OFActionOutput(egressPort, (short) 0));
    packetOutMessage.setActions(actions);

    // set data - only if buffer_id == -1
    if (packetInMessage.getBufferId() == OFPacketOut.BUFFER_ID_NONE) {
        byte[] packetData = packetInMessage.getPacketData();
        packetOutMessage.setPacketData(packetData);
        packetOutLength += (short)packetData.length;
    }

    // finally, set the total length
    packetOutMessage.setLength(packetOutLength);

    // and write it out
    try {
        counterStore.updatePktOutFMCounterStoreLocal(sw, packetOutMessage);
        sw.write(packetOutMessage, null);
    } catch (IOException e) {
        log.error("Failed to write {} to switch {}: {}", new Object[]{ packetOutMessage, sw, e });
    }
}
 
开发者ID:JianqingJiang,项目名称:QoS-floodlight,代码行数:50,代码来源:LearningSwitch.java

示例2: decode_output

private static SubActionStruct decode_output(String subaction, Logger log) {
    SubActionStruct sa = null;
    Matcher n;
    
    n = Pattern.compile("output=(?:((?:0x)?\\d+)|(all)|(controller)|(local)|(ingress-port)|(normal)|(flood))").matcher(subaction);
    if (n.matches()) {
        OFActionOutput action = new OFActionOutput();
        action.setMaxLength(Short.MAX_VALUE);
        short port = OFPort.OFPP_NONE.getValue();
        if (n.group(1) != null) {
            try {
                port = get_short(n.group(1));
            }
            catch (NumberFormatException e) {
                log.debug("Invalid port in: '{}' (error ignored)", subaction);
                return null;
            }
        }
        else if (n.group(2) != null)
            port = OFPort.OFPP_ALL.getValue();
        else if (n.group(3) != null)
            port = OFPort.OFPP_CONTROLLER.getValue();
        else if (n.group(4) != null)
            port = OFPort.OFPP_LOCAL.getValue();
        else if (n.group(5) != null)
            port = OFPort.OFPP_IN_PORT.getValue();
        else if (n.group(6) != null)
            port = OFPort.OFPP_NORMAL.getValue();
        else if (n.group(7) != null)
            port = OFPort.OFPP_FLOOD.getValue();
        action.setPort(port);
        log.debug("action {}", action);
        
        sa = new SubActionStruct();
        sa.action = action;
        sa.len = OFActionOutput.MINIMUM_LENGTH;
    }
    else {
        log.error("Invalid subaction: '{}'", subaction);
        return null;
    }
    
    return sa;
}
 
开发者ID:JianqingJiang,项目名称:QoS-floodlight,代码行数:44,代码来源:LoadBalancer.java

示例3: decode_output

@LogMessageDoc(level="ERROR",
        message="Invalid subaction: '{subaction}'",
        explanation="A static flow entry contained an invalid subaction",
        recommendation=LogMessageDoc.REPORT_CONTROLLER_BUG)
private static SubActionStruct decode_output(String subaction, Logger log) {
    SubActionStruct sa = null;
    Matcher n;
    
    n = Pattern.compile("output=(?:((?:0x)?\\d+)|(all)|(controller)|(local)|(ingress-port)|(normal)|(flood))").matcher(subaction);
    if (n.matches()) {
        OFActionOutput action = new OFActionOutput();
        action.setMaxLength(Short.MAX_VALUE);
        short port = OFPort.OFPP_NONE.getValue();
        if (n.group(1) != null) {
            try {
                port = get_short(n.group(1));
            }
            catch (NumberFormatException e) {
                log.debug("Invalid port in: '{}' (error ignored)", subaction);
                return null;
            }
        }
        else if (n.group(2) != null)
            port = OFPort.OFPP_ALL.getValue();
        else if (n.group(3) != null)
            port = OFPort.OFPP_CONTROLLER.getValue();
        else if (n.group(4) != null)
            port = OFPort.OFPP_LOCAL.getValue();
        else if (n.group(5) != null)
            port = OFPort.OFPP_IN_PORT.getValue();
        else if (n.group(6) != null)
            port = OFPort.OFPP_NORMAL.getValue();
        else if (n.group(7) != null)
            port = OFPort.OFPP_FLOOD.getValue();
        action.setPort(port);
        log.debug("action {}", action);
        
        sa = new SubActionStruct();
        sa.action = action;
        sa.len = OFActionOutput.MINIMUM_LENGTH;
    }
    else {
        log.error("Invalid subaction: '{}'", subaction);
        return null;
    }
    
    return sa;
}
 
开发者ID:JianqingJiang,项目名称:QoS-floodlight,代码行数:48,代码来源:StaticFlowEntries.java

示例4: writePacketOutForPacketIn

/**
 * Writes an OFPacketOut message to a switch.
 * @param sw The switch to write the PacketOut to.
 * @param packetInMessage The corresponding PacketIn.
 * @param egressPort The switchport to output the PacketOut.
 */
private void writePacketOutForPacketIn(IOFSwitch sw, 
                                      OFPacketIn packetInMessage, 
                                      short egressPort) {
    // from openflow 1.0 spec - need to set these on a struct ofp_packet_out:
    // uint32_t buffer_id; /* ID assigned by datapath (-1 if none). */
    // uint16_t in_port; /* Packet's input port (OFPP_NONE if none). */
    // uint16_t actions_len; /* Size of action array in bytes. */
    // struct ofp_action_header actions[0]; /* Actions. */
    /* uint8_t data[0]; */ /* Packet data. The length is inferred
                              from the length field in the header.
                              (Only meaningful if buffer_id == -1.) */
    
    OFPacketOut packetOutMessage = (OFPacketOut) floodlightProvider.getOFMessageFactory().getMessage(OFType.PACKET_OUT);
    short packetOutLength = (short)OFPacketOut.MINIMUM_LENGTH; // starting length

    // Set buffer_id, in_port, actions_len
    packetOutMessage.setBufferId(packetInMessage.getBufferId());
    packetOutMessage.setInPort(packetInMessage.getInPort());
    packetOutMessage.setActionsLength((short)OFActionOutput.MINIMUM_LENGTH);
    packetOutLength += OFActionOutput.MINIMUM_LENGTH;
    
    // set actions
    List<OFAction> actions = new ArrayList<OFAction>(1);      
    actions.add(new OFActionOutput(egressPort, (short) 0));
    packetOutMessage.setActions(actions);

    // set data - only if buffer_id == -1
    if (packetInMessage.getBufferId() == OFPacketOut.BUFFER_ID_NONE) {
        byte[] packetData = packetInMessage.getPacketData();
        packetOutMessage.setPacketData(packetData); 
        packetOutLength += (short)packetData.length;
    }
    
    // finally, set the total length
    packetOutMessage.setLength(packetOutLength);              
        
    // and write it out
    try {
    	counterStore.updatePktOutFMCounterStore(sw, packetOutMessage);
        sw.write(packetOutMessage, null);
    } catch (IOException e) {
        log.error("Failed to write {} to switch {}: {}", new Object[]{ packetOutMessage, sw, e });
    }
}
 
开发者ID:vishalshubham,项目名称:Multipath-Hedera-system-in-Floodlight-controller,代码行数:50,代码来源:LearningSwitch.java

示例5: decode_output

@LogMessageDoc(level="ERROR",
        message="Invalid subaction: '{subaction}'",
        explanation="A static flow entry contained an invalid subaction",
        recommendation=LogMessageDoc.REPORT_CONTROLLER_BUG)
private static SubActionStruct decode_output(String subaction, Logger log) {
    SubActionStruct sa = null;
    Matcher n;
    
    n = Pattern.compile("output=(?:((?:0x)?\\d+)|(all)|(controller)|(local)|(ingress-port)|(normal)|(flood))").matcher(subaction);
    if (n.matches()) {
        OFActionOutput action = new OFActionOutput();
        action.setMaxLength((short) Short.MAX_VALUE);
        short port = OFPort.OFPP_NONE.getValue();
        if (n.group(1) != null) {
            try {
                port = get_short(n.group(1));
            }
            catch (NumberFormatException e) {
                log.debug("Invalid port in: '{}' (error ignored)", subaction);
                return null;
            }
        }
        else if (n.group(2) != null)
            port = OFPort.OFPP_ALL.getValue();
        else if (n.group(3) != null)
            port = OFPort.OFPP_CONTROLLER.getValue();
        else if (n.group(4) != null)
            port = OFPort.OFPP_LOCAL.getValue();
        else if (n.group(5) != null)
            port = OFPort.OFPP_IN_PORT.getValue();
        else if (n.group(6) != null)
            port = OFPort.OFPP_NORMAL.getValue();
        else if (n.group(7) != null)
            port = OFPort.OFPP_FLOOD.getValue();
        action.setPort(port);
        log.debug("action {}", action);
        
        sa = new SubActionStruct();
        sa.action = action;
        sa.len = OFActionOutput.MINIMUM_LENGTH;
    }
    else {
        log.error("Invalid subaction: '{}'", subaction);
        return null;
    }
    
    return sa;
}
 
开发者ID:vishalshubham,项目名称:Multipath-Hedera-system-in-Floodlight-controller,代码行数:48,代码来源:StaticFlowEntries.java

示例6: writePacketOutForPacketIn

/**
 * Writes an OFPacketOut message to a switch.
 * @param sw The switch to write the PacketOut to.
 * @param packetInMessage The corresponding PacketIn.
 * @param egressPort The switchport to output the PacketOut.
 */
private void writePacketOutForPacketIn(IOFSwitch sw, 
                                      OFPacketIn packetInMessage, 
                                      short egressPort) {
    // from openflow 1.0 spec - need to set these on a struct ofp_packet_out:
    // uint32_t buffer_id; /* ID assigned by datapath (-1 if none). */
    // uint16_t in_port; /* Packet's input port (OFPP_NONE if none). */
    // uint16_t actions_len; /* Size of action array in bytes. */
    // struct ofp_action_header actions[0]; /* Actions. */
    /* uint8_t data[0]; */ /* Packet data. The length is inferred
                              from the length field in the header.
                              (Only meaningful if buffer_id == -1.) */
    
    OFPacketOut packetOutMessage = (OFPacketOut) controllerProvider.getOFMessageFactory().getMessage(OFType.PACKET_OUT);
    short packetOutLength = (short)OFPacketOut.MINIMUM_LENGTH; // starting length

    // Set buffer_id, in_port, actions_len
    packetOutMessage.setBufferId(packetInMessage.getBufferId());
    packetOutMessage.setInPort(packetInMessage.getInPort());
    packetOutMessage.setActionsLength((short)OFActionOutput.MINIMUM_LENGTH);
    packetOutLength += OFActionOutput.MINIMUM_LENGTH;
    
    // set actions
    List<OFAction> actions = new ArrayList<OFAction>(1);      
    actions.add(new OFActionOutput(egressPort, (short) 0));
    packetOutMessage.setActions(actions);

    // set data - only if buffer_id == -1
    if (packetInMessage.getBufferId() == OFPacketOut.BUFFER_ID_NONE) {
        byte[] packetData = packetInMessage.getPacketData();
        packetOutMessage.setPacketData(packetData); 
        packetOutLength += (short)packetData.length;
    }
    
    // finally, set the total length
    packetOutMessage.setLength(packetOutLength);              
        
    // and write it out
    try {
    	counterStore.updatePktOutFMCounterStore(sw, packetOutMessage);
        sw.write(packetOutMessage, null);
    } catch (IOException e) {
        log.error("Failed to write {} to switch {}: {}", new Object[]{ packetOutMessage, sw, e });
    }
}
 
开发者ID:opendaylight,项目名称:archived-net-virt-platform,代码行数:50,代码来源:LearningSwitch.java

示例7: decode_output

private static SubActionStruct decode_output(String subaction, Logger log) {
    SubActionStruct sa = null;
    Matcher n;
    
    n = Pattern.compile("output=(?:((?:0x)?\\d+)|(all)|(controller)|(local)|(ingress-port)|(normal)|(flood))").matcher(subaction);
    if (n.matches()) {
        OFActionOutput action = new OFActionOutput();
        action.setMaxLength((short) Short.MAX_VALUE);
        short port = OFPort.OFPP_NONE.getValue();
        if (n.group(1) != null) {
            try {
                port = get_short(n.group(1));
            }
            catch (NumberFormatException e) {
                log.debug("Invalid port in: '{}' (error ignored)", subaction);
                return null;
            }
        }
        else if (n.group(2) != null)
            port = OFPort.OFPP_ALL.getValue();
        else if (n.group(3) != null)
            port = OFPort.OFPP_CONTROLLER.getValue();
        else if (n.group(4) != null)
            port = OFPort.OFPP_LOCAL.getValue();
        else if (n.group(5) != null)
            port = OFPort.OFPP_IN_PORT.getValue();
        else if (n.group(6) != null)
            port = OFPort.OFPP_NORMAL.getValue();
        else if (n.group(7) != null)
            port = OFPort.OFPP_FLOOD.getValue();
        action.setPort(port);
        log.debug("action {}", action);
        
        sa = new SubActionStruct();
        sa.action = action;
        sa.len = OFActionOutput.MINIMUM_LENGTH;
    }
    else {
        log.error("Invalid subaction: '{}'", subaction);
        return null;
    }
    
    return sa;
}
 
开发者ID:opendaylight,项目名称:archived-net-virt-platform,代码行数:44,代码来源:LoadBalancer.java


注:本文中的org.openflow.protocol.action.OFActionOutput.MINIMUM_LENGTH属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。