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


Java OFActionType.OUTPUT属性代码示例

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


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

示例1: pushOFDeleteGroup

protected void pushOFDeleteGroup(IOFSwitch sw) {
	
	/* Delete the queues attached to all the member ports*/
	long queueId = -1;
	OFPort ofp = null;
	ArrayList<OFBucket> ofBuckets = multicastGroup.getMemberOFBucketList(sw.getId());
	OVSDBContext ovsdbContext = mcObject.ovsdbChannelMap.get(sw.getId());
	for (OFBucket ofb : ofBuckets) {
		queueId = -1;
		ofp = null;
		for (OFAction ofa:  ofb.getActions()){
			if (ofa.getType() == OFActionType.SET_QUEUE){
				OFActionSetQueue ofas = (OFActionSetQueue) ofa;
				queueId = ofas.getQueueId();
				/* removes queue using OVSDBContext on the switch */
				
			}
			if (ofa.getType() == OFActionType.OUTPUT){
				OFActionOutput ofo = (OFActionOutput) ofa;
				ofp = ofo.getPort();
				/* removes queue using OVSDBContext on the switch */
				
			}
		}
		if (ofp != null && queueId != -1)
			ovsdbContext.deleteQueueOnPort(ofp, (int)queueId);
		else
			logger.error("pushOFDeleteGroup: unexpected actionset in group bucket");
	}
	
	/* Creates group flow with set queue option */
	OFFactory of13Factory = sw.getOFFactory();

	OFGroupDelete delGroup = of13Factory.buildGroupDelete()
			.setGroup(OFGroup.of(multicastGroup.ofGroupId))
			.setGroupType(OFGroupType.ALL)
			.build();
	sw.write(delGroup);
}
 
开发者ID:hksoni,项目名称:SDN-Multicast,代码行数:39,代码来源:MulticastTree.java

示例2: ofWireValue

public static OFActionType ofWireValue(short val) {
    switch(val) {
        case OUTPUT_VAL:
            return OFActionType.OUTPUT;
        case COPY_TTL_OUT_VAL:
            return OFActionType.COPY_TTL_OUT;
        case COPY_TTL_IN_VAL:
            return OFActionType.COPY_TTL_IN;
        case SET_MPLS_TTL_VAL:
            return OFActionType.SET_MPLS_TTL;
        case DEC_MPLS_TTL_VAL:
            return OFActionType.DEC_MPLS_TTL;
        case PUSH_VLAN_VAL:
            return OFActionType.PUSH_VLAN;
        case POP_VLAN_VAL:
            return OFActionType.POP_VLAN;
        case PUSH_MPLS_VAL:
            return OFActionType.PUSH_MPLS;
        case POP_MPLS_VAL:
            return OFActionType.POP_MPLS;
        case SET_QUEUE_VAL:
            return OFActionType.SET_QUEUE;
        case GROUP_VAL:
            return OFActionType.GROUP;
        case SET_NW_TTL_VAL:
            return OFActionType.SET_NW_TTL;
        case DEC_NW_TTL_VAL:
            return OFActionType.DEC_NW_TTL;
        case SET_FIELD_VAL:
            return OFActionType.SET_FIELD;
        case EXPERIMENTER_VAL:
            return OFActionType.EXPERIMENTER;
        default:
            throw new IllegalArgumentException("Illegal wire value for type OFActionType in version 1.2: " + val);
    }
}
 
开发者ID:o3project,项目名称:openflowj-otn,代码行数:36,代码来源:OFActionTypeSerializerVer12.java

示例3: ofWireValue

public static OFActionType ofWireValue(short val) {
    switch(val) {
        case OUTPUT_VAL:
            return OFActionType.OUTPUT;
        case COPY_TTL_OUT_VAL:
            return OFActionType.COPY_TTL_OUT;
        case COPY_TTL_IN_VAL:
            return OFActionType.COPY_TTL_IN;
        case SET_MPLS_TTL_VAL:
            return OFActionType.SET_MPLS_TTL;
        case DEC_MPLS_TTL_VAL:
            return OFActionType.DEC_MPLS_TTL;
        case PUSH_VLAN_VAL:
            return OFActionType.PUSH_VLAN;
        case POP_VLAN_VAL:
            return OFActionType.POP_VLAN;
        case PUSH_MPLS_VAL:
            return OFActionType.PUSH_MPLS;
        case POP_MPLS_VAL:
            return OFActionType.POP_MPLS;
        case SET_QUEUE_VAL:
            return OFActionType.SET_QUEUE;
        case GROUP_VAL:
            return OFActionType.GROUP;
        case SET_NW_TTL_VAL:
            return OFActionType.SET_NW_TTL;
        case DEC_NW_TTL_VAL:
            return OFActionType.DEC_NW_TTL;
        case SET_FIELD_VAL:
            return OFActionType.SET_FIELD;
        case PUSH_PBB_VAL:
            return OFActionType.PUSH_PBB;
        case POP_PBB_VAL:
            return OFActionType.POP_PBB;
        case EXPERIMENTER_VAL:
            return OFActionType.EXPERIMENTER;
        default:
            throw new IllegalArgumentException("Illegal wire value for type OFActionType in version 1.3: " + val);
    }
}
 
开发者ID:o3project,项目名称:openflowj-otn,代码行数:40,代码来源:OFActionTypeSerializerVer13.java

示例4: ofWireValue

public static OFActionType ofWireValue(short val) {
    switch(val) {
        case OUTPUT_VAL:
            return OFActionType.OUTPUT;
        case SET_VLAN_VID_VAL:
            return OFActionType.SET_VLAN_VID;
        case SET_VLAN_PCP_VAL:
            return OFActionType.SET_VLAN_PCP;
        case STRIP_VLAN_VAL:
            return OFActionType.STRIP_VLAN;
        case SET_DL_SRC_VAL:
            return OFActionType.SET_DL_SRC;
        case SET_DL_DST_VAL:
            return OFActionType.SET_DL_DST;
        case SET_NW_SRC_VAL:
            return OFActionType.SET_NW_SRC;
        case SET_NW_DST_VAL:
            return OFActionType.SET_NW_DST;
        case SET_NW_TOS_VAL:
            return OFActionType.SET_NW_TOS;
        case SET_TP_SRC_VAL:
            return OFActionType.SET_TP_SRC;
        case SET_TP_DST_VAL:
            return OFActionType.SET_TP_DST;
        case ENQUEUE_VAL:
            return OFActionType.ENQUEUE;
        case EXPERIMENTER_VAL:
            return OFActionType.EXPERIMENTER;
        default:
            throw new IllegalArgumentException("Illegal wire value for type OFActionType in version 1.0: " + val);
    }
}
 
开发者ID:o3project,项目名称:openflowj-otn,代码行数:32,代码来源:OFActionTypeSerializerVer10.java

示例5: ofWireValue

public static OFActionType ofWireValue(short val) {
    switch(val) {
        case OUTPUT_VAL:
            return OFActionType.OUTPUT;
        case COPY_TTL_OUT_VAL:
            return OFActionType.COPY_TTL_OUT;
        case COPY_TTL_IN_VAL:
            return OFActionType.COPY_TTL_IN;
        case SET_MPLS_TTL_VAL:
            return OFActionType.SET_MPLS_TTL;
        case DEC_MPLS_TTL_VAL:
            return OFActionType.DEC_MPLS_TTL;
        case PUSH_VLAN_VAL:
            return OFActionType.PUSH_VLAN;
        case POP_VLAN_VAL:
            return OFActionType.POP_VLAN;
        case PUSH_MPLS_VAL:
            return OFActionType.PUSH_MPLS;
        case POP_MPLS_VAL:
            return OFActionType.POP_MPLS;
        case SET_QUEUE_VAL:
            return OFActionType.SET_QUEUE;
        case GROUP_VAL:
            return OFActionType.GROUP;
        case SET_NW_TTL_VAL:
            return OFActionType.SET_NW_TTL;
        case DEC_NW_TTL_VAL:
            return OFActionType.DEC_NW_TTL;
        case SET_FIELD_VAL:
            return OFActionType.SET_FIELD;
        case PUSH_PBB_VAL:
            return OFActionType.PUSH_PBB;
        case POP_PBB_VAL:
            return OFActionType.POP_PBB;
        case EXPERIMENTER_VAL:
            return OFActionType.EXPERIMENTER;
        default:
            throw new IllegalArgumentException("Illegal wire value for type OFActionType in version 1.4: " + val);
    }
}
 
开发者ID:o3project,项目名称:openflowj-otn,代码行数:40,代码来源:OFActionTypeSerializerVer14.java

示例6: ofWireValue

public static OFActionType ofWireValue(short val) {
    switch(val) {
        case OUTPUT_VAL:
            return OFActionType.OUTPUT;
        case SET_VLAN_VID_VAL:
            return OFActionType.SET_VLAN_VID;
        case SET_VLAN_PCP_VAL:
            return OFActionType.SET_VLAN_PCP;
        case SET_DL_SRC_VAL:
            return OFActionType.SET_DL_SRC;
        case SET_DL_DST_VAL:
            return OFActionType.SET_DL_DST;
        case SET_NW_SRC_VAL:
            return OFActionType.SET_NW_SRC;
        case SET_NW_DST_VAL:
            return OFActionType.SET_NW_DST;
        case SET_NW_TOS_VAL:
            return OFActionType.SET_NW_TOS;
        case SET_NW_ECN_VAL:
            return OFActionType.SET_NW_ECN;
        case SET_TP_SRC_VAL:
            return OFActionType.SET_TP_SRC;
        case SET_TP_DST_VAL:
            return OFActionType.SET_TP_DST;
        case COPY_TTL_OUT_VAL:
            return OFActionType.COPY_TTL_OUT;
        case COPY_TTL_IN_VAL:
            return OFActionType.COPY_TTL_IN;
        case SET_MPLS_LABEL_VAL:
            return OFActionType.SET_MPLS_LABEL;
        case SET_MPLS_TC_VAL:
            return OFActionType.SET_MPLS_TC;
        case SET_MPLS_TTL_VAL:
            return OFActionType.SET_MPLS_TTL;
        case DEC_MPLS_TTL_VAL:
            return OFActionType.DEC_MPLS_TTL;
        case PUSH_VLAN_VAL:
            return OFActionType.PUSH_VLAN;
        case POP_VLAN_VAL:
            return OFActionType.POP_VLAN;
        case PUSH_MPLS_VAL:
            return OFActionType.PUSH_MPLS;
        case POP_MPLS_VAL:
            return OFActionType.POP_MPLS;
        case SET_QUEUE_VAL:
            return OFActionType.SET_QUEUE;
        case GROUP_VAL:
            return OFActionType.GROUP;
        case SET_NW_TTL_VAL:
            return OFActionType.SET_NW_TTL;
        case DEC_NW_TTL_VAL:
            return OFActionType.DEC_NW_TTL;
        case EXPERIMENTER_VAL:
            return OFActionType.EXPERIMENTER;
        default:
            throw new IllegalArgumentException("Illegal wire value for type OFActionType in version 1.1: " + val);
    }
}
 
开发者ID:o3project,项目名称:openflowj-otn,代码行数:58,代码来源:OFActionTypeSerializerVer11.java

示例7: flowModEntryMatchesIntent

/**
 * Tests if a FlowModEntry matches the given Intent.
 *
 * @param intent       Intent to check.
 * @param flowModEntry FlowModEntry to check.
 * @return true, if flowModEntry matches intent.
 */
private boolean flowModEntryMatchesIntent(IIntent intent, FlowModEntry flowModEntry) {
    OFFlowMod flowMod = flowModEntry.getFlowMod();
    HostToHostIntent hintent = (HostToHostIntent) intent;

    // Check if destination matches
    byte[] mac = flowMod.getMatch().get(MatchField.ETH_DST).getBytes();
    MacAddress macAddress = flowMod.getMatch().get(MatchField.ETH_DST);
    if (!hintent.getDestination().mac().equals(onosMacAddress(macAddress))) {
        return false;
    }

    // Check if module id matches
    if (intent.getModuleId() != flowModEntry.getModuleId()) {
        return false;
    }

    DeviceId deviceId = onosDeviceId(flowModEntry.getDpid());
    PortNumber outputPort = null;
    for (OFAction action : flowMod.getActions()) {
        if (action.getType() == OFActionType.OUTPUT) {
            outputPort = PortNumber.portNumber(((OFActionOutput) action).getPort().getPortNumber());
            break;
        }
    }
    PortNumber inputPort = onosPortNumber(flowMod.getMatch().get(MatchField.IN_PORT));

    // Check if flow mod lies on path through topology
    Path path = getIntentPath(intent);
    Iterator<Link> iterator = path.links().iterator();
    Link lastLink = null;
    while (iterator.hasNext()) {
        Link link = iterator.next();

        // Ignore link from source host to first switch
        if (link.src().elementId() instanceof HostId) {
            lastLink = link;
            continue;
        }
        if (link.src().deviceId().equals(deviceId)
                && link.src().port().equals(outputPort)
                && lastLink.dst().port().equals(inputPort)){
            return true;
        }
        lastLink = link;
    }
    return false;
}
 
开发者ID:fp7-netide,项目名称:Engine,代码行数:54,代码来源:IntentManager.java

示例8: ofWireValue

public static OFActionType ofWireValue(short val) {
    switch(val) {
        case OUTPUT_VAL:
            return OFActionType.OUTPUT;
        case COPY_TTL_OUT_VAL:
            return OFActionType.COPY_TTL_OUT;
        case COPY_TTL_IN_VAL:
            return OFActionType.COPY_TTL_IN;
        case SET_MPLS_TTL_VAL:
            return OFActionType.SET_MPLS_TTL;
        case DEC_MPLS_TTL_VAL:
            return OFActionType.DEC_MPLS_TTL;
        case PUSH_VLAN_VAL:
            return OFActionType.PUSH_VLAN;
        case POP_VLAN_VAL:
            return OFActionType.POP_VLAN;
        case PUSH_MPLS_VAL:
            return OFActionType.PUSH_MPLS;
        case POP_MPLS_VAL:
            return OFActionType.POP_MPLS;
        case SET_QUEUE_VAL:
            return OFActionType.SET_QUEUE;
        case GROUP_VAL:
            return OFActionType.GROUP;
        case SET_NW_TTL_VAL:
            return OFActionType.SET_NW_TTL;
        case DEC_NW_TTL_VAL:
            return OFActionType.DEC_NW_TTL;
        case SET_FIELD_VAL:
            return OFActionType.SET_FIELD;
        case PUSH_PBB_VAL:
            return OFActionType.PUSH_PBB;
        case POP_PBB_VAL:
            return OFActionType.POP_PBB;
        case COPY_FIELD_VAL:
            return OFActionType.COPY_FIELD;
        case METER_VAL:
            return OFActionType.METER;
        case EXPERIMENTER_VAL:
            return OFActionType.EXPERIMENTER;
        default:
            throw new IllegalArgumentException("Illegal wire value for type OFActionType in version 1.5: " + val);
    }
}
 
开发者ID:floodlight,项目名称:loxigen-artifacts,代码行数:44,代码来源:OFActionTypeSerializerVer15.java


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