• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java MatchUtils类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中net.floodlightcontroller.util.MatchUtils的典型用法代码示例。如果您正苦于以下问题:Java MatchUtils类的具体用法?Java MatchUtils怎么用?Java MatchUtils使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



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

示例1: addFlow

import net.floodlightcontroller.util.MatchUtils; //导入依赖的package包/类
public void addFlow(String dpid,Match match,List<OFAction> actions,boolean doflush){
	DatapathId swId=DatapathId.of(dpid);
	IOFSwitch sw=switchService.getSwitch(swId);
	OFFlowMod.Builder fmb = sw.getOFFactory().buildFlowModify();
	Match.Builder mb = MatchUtils.createRetentiveBuilder(match);
	fmb.setMatch(mb.build())
	.setActions(actions)
	.setIdleTimeout(FLOWMOD_DEFAULT_IDLE_TIMEOUT)
	.setHardTimeout(FLOWMOD_DEFAULT_HARD_TIMEOUT)
	.setBufferId(OFBufferId.NO_BUFFER)
	.setPriority(FLOWMOD_DEFAULT_PRIORITY);
	if(doflush){
		sw.flush();
		sw.write(fmb.build());
		sw.flush();
	}
	else{
		sw.write(fmb.build());
	}
}
 
开发者ID:DaiDongLiang,项目名称:DSC,代码行数:21,代码来源:Forward.java


示例2: checkActions

import net.floodlightcontroller.util.MatchUtils; //导入依赖的package包/类
/**
 * Validates actions/instructions
 * 
 * -1 --> IPv4/IPv6 conflict
 * 0 --> no IPv4 or IPv6 actions
 * 1 --> IPv4 only actions
 * 2 --> IPv6 only actions
 * 
 * @param Map containing the fields of the flow
 * @return state indicating whether a flow is valid or not
 */
public static int checkActions(Map<String, Object> entry) {

	boolean ip6 = false;
	boolean ip4 = false;
	String actions = null;

	if (entry.containsKey(StaticFlowEntryPusher.COLUMN_ACTIONS) || 
			entry.containsKey(StaticFlowEntryPusher.COLUMN_INSTR_APPLY_ACTIONS) ||
			entry.containsKey(StaticFlowEntryPusher.COLUMN_INSTR_WRITE_ACTIONS)) {
		if (entry.containsKey(StaticFlowEntryPusher.COLUMN_ACTIONS)) {
			actions = (String) entry.get(StaticFlowEntryPusher.COLUMN_ACTIONS);
		}
		else if (entry.containsKey(StaticFlowEntryPusher.COLUMN_INSTR_APPLY_ACTIONS)) {
			actions = (String) entry.get(StaticFlowEntryPusher.COLUMN_INSTR_APPLY_ACTIONS);
		}
		else if (entry.containsKey(StaticFlowEntryPusher.COLUMN_INSTR_WRITE_ACTIONS)) {
			actions = (String) entry.get(StaticFlowEntryPusher.COLUMN_INSTR_WRITE_ACTIONS);
		}

		if (actions.contains(MatchUtils.STR_ICMPV6_CODE) || actions.contains(MatchUtils.STR_ICMPV6_TYPE) ||
				actions.contains(MatchUtils.STR_IPV6_DST) || actions.contains(MatchUtils.STR_IPV6_SRC) || 
				actions.contains(MatchUtils.STR_IPV6_FLOW_LABEL) || actions.contains(MatchUtils.STR_IPV6_ND_SSL) ||
				actions.contains(MatchUtils.STR_IPV6_ND_TARGET) || actions.contains(MatchUtils.STR_IPV6_ND_TTL)) {
			ip6 = true;
		}
		if (actions.contains(MatchUtils.STR_NW_SRC) || actions.contains(MatchUtils.STR_NW_DST) || 
				actions.contains(MatchUtils.STR_ARP_OPCODE) || actions.contains(MatchUtils.STR_ARP_SHA) || 
				actions.contains(MatchUtils.STR_ARP_DHA) || actions.contains(MatchUtils.STR_ARP_SPA) || 
				actions.contains(MatchUtils.STR_ARP_DPA) || actions.contains(MatchUtils.STR_ICMP_CODE) || 
				actions.contains(MatchUtils.STR_ICMP_TYPE)) {
			ip4 = true;
		}
	}

	if (ip6 == false && ip4 == false) {
		return 0; // no actions involving ipv4 or ipv6
	} else if (ip6 == false && ip4 == true) {
		return 1; //ipv4
	} else if (ip6 == true && ip4 == false) {
		return 2; //ipv6
	} else {
		return -1; // conflict of ipv4 and ipv6 actions
	}
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:56,代码来源:StaticFlowEntryPusherResource.java


示例3: checkActions

import net.floodlightcontroller.util.MatchUtils; //导入依赖的package包/类
/**
 * Validates actions/instructions
 *
 * -1 --> IPv4/IPv6 conflict
 * 0 --> no IPv4 or IPv6 actions
 * 1 --> IPv4 only actions
 * 2 --> IPv6 only actions
 *
 * @param Map containing the fields of the flow
 * @return state indicating whether a flow is valid or not
 */
public static int checkActions(Map<String, Object> entry) {

	boolean ip6 = false;
	boolean ip4 = false;
	String actions = null;

	if (entry.containsKey(StaticFlowEntryPusher.COLUMN_ACTIONS) ||
			entry.containsKey(StaticFlowEntryPusher.COLUMN_INSTR_APPLY_ACTIONS) ||
			entry.containsKey(StaticFlowEntryPusher.COLUMN_INSTR_WRITE_ACTIONS)) {
		if (entry.containsKey(StaticFlowEntryPusher.COLUMN_ACTIONS)) {
			actions = (String) entry.get(StaticFlowEntryPusher.COLUMN_ACTIONS);
		}
		else if (entry.containsKey(StaticFlowEntryPusher.COLUMN_INSTR_APPLY_ACTIONS)) {
			actions = (String) entry.get(StaticFlowEntryPusher.COLUMN_INSTR_APPLY_ACTIONS);
		}
		else if (entry.containsKey(StaticFlowEntryPusher.COLUMN_INSTR_WRITE_ACTIONS)) {
			actions = (String) entry.get(StaticFlowEntryPusher.COLUMN_INSTR_WRITE_ACTIONS);
		}

		if (actions.contains(MatchUtils.STR_ICMPV6_CODE) || actions.contains(MatchUtils.STR_ICMPV6_TYPE) ||
				actions.contains(MatchUtils.STR_IPV6_DST) || actions.contains(MatchUtils.STR_IPV6_SRC) ||
				actions.contains(MatchUtils.STR_IPV6_FLOW_LABEL) || actions.contains(MatchUtils.STR_IPV6_ND_SSL) ||
				actions.contains(MatchUtils.STR_IPV6_ND_TARGET) || actions.contains(MatchUtils.STR_IPV6_ND_TTL)) {
			ip6 = true;
		}
		if (actions.contains(MatchUtils.STR_NW_SRC) || actions.contains(MatchUtils.STR_NW_DST) ||
				actions.contains(MatchUtils.STR_ARP_OPCODE) || actions.contains(MatchUtils.STR_ARP_SHA) ||
				actions.contains(MatchUtils.STR_ARP_DHA) || actions.contains(MatchUtils.STR_ARP_SPA) ||
				actions.contains(MatchUtils.STR_ARP_DPA) || actions.contains(MatchUtils.STR_ICMP_CODE) ||
				actions.contains(MatchUtils.STR_ICMP_TYPE)) {
			ip4 = true;
		}
	}

	if (ip6 == false && ip4 == false) {
		return 0; // no actions involving ipv4 or ipv6
	} else if (ip6 == false && ip4 == true) {
		return 1; //ipv4
	} else if (ip6 == true && ip4 == false) {
		return 2; //ipv6
	} else {
		return -1; // conflict of ipv4 and ipv6 actions
	}
}
 
开发者ID:zhenshengcai,项目名称:floodlight-hardware,代码行数:56,代码来源:StaticFlowEntryPusherResource.java


示例4: checkActions

import net.floodlightcontroller.util.MatchUtils; //导入依赖的package包/类
public static int checkActions(Map<String, Object> entry) {

		boolean ip6 = false;
		boolean ip4 = false;
		String actions = null;

		if (entry.containsKey(StaticFlowEntryPusher.COLUMN_ACTIONS) || 
				entry.containsKey(StaticFlowEntryPusher.COLUMN_INSTR_APPLY_ACTIONS) ||
				entry.containsKey(StaticFlowEntryPusher.COLUMN_INSTR_WRITE_ACTIONS)) {
			if (entry.containsKey(StaticFlowEntryPusher.COLUMN_ACTIONS)) {
				actions = (String) entry.get(StaticFlowEntryPusher.COLUMN_ACTIONS);
			}
			else if (entry.containsKey(StaticFlowEntryPusher.COLUMN_INSTR_APPLY_ACTIONS)) {
				actions = (String) entry.get(StaticFlowEntryPusher.COLUMN_INSTR_APPLY_ACTIONS);
			}
			else if (entry.containsKey(StaticFlowEntryPusher.COLUMN_INSTR_WRITE_ACTIONS)) {
				actions = (String) entry.get(StaticFlowEntryPusher.COLUMN_INSTR_WRITE_ACTIONS);
			}

			if (actions.contains(MatchUtils.STR_ICMPV6_CODE) || actions.contains(MatchUtils.STR_ICMPV6_TYPE) ||
					actions.contains(MatchUtils.STR_IPV6_DST) || actions.contains(MatchUtils.STR_IPV6_SRC) || 
					actions.contains(MatchUtils.STR_IPV6_FLOW_LABEL) || actions.contains(MatchUtils.STR_IPV6_ND_SSL) ||
					actions.contains(MatchUtils.STR_IPV6_ND_TARGET) || actions.contains(MatchUtils.STR_IPV6_ND_TTL)) {
				ip6 = true;
			}
			if (actions.contains(MatchUtils.STR_NW_SRC) || actions.contains(MatchUtils.STR_NW_DST) || 
					actions.contains(MatchUtils.STR_ARP_OPCODE) || actions.contains(MatchUtils.STR_ARP_SHA) || 
					actions.contains(MatchUtils.STR_ARP_DHA) || actions.contains(MatchUtils.STR_ARP_SPA) || 
					actions.contains(MatchUtils.STR_ARP_DPA) || actions.contains(MatchUtils.STR_ICMP_CODE) || 
					actions.contains(MatchUtils.STR_ICMP_TYPE)) {
				ip4 = true;
			}
		}

		if (ip6 == false && ip4 == false) {
			return 0; // no actions involving ipv4 or ipv6
		} else if (ip6 == false && ip4 == true) {
			return 1; //ipv4
		} else if (ip6 == true && ip4 == false) {
			return 2; //ipv6
		} else {
			return -1; // conflict of ipv4 and ipv6 actions
		}
	}
 
开发者ID:DaiDongLiang,项目名称:DSC,代码行数:45,代码来源:FlowEntryPushUtil.java



注:本文中的net.floodlightcontroller.util.MatchUtils类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java PostUpdateEvent类代码示例发布时间:2022-05-22
下一篇:
Java ResultContext类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap