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


Java DHCPOptionCode类代码示例

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


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

示例1: snoopDHCPClientName

import net.floodlightcontroller.packet.DHCP.DHCPOptionCode; //导入依赖的package包/类
/**
 * Snoop and record client-provided host name from DHCP requests
 * @param eth
 * @param srcDevice
 */
private void snoopDHCPClientName(Ethernet eth, Device srcDevice) {
	if (! (eth.getPayload() instanceof IPv4) )
		return;
	IPv4 ipv4 = (IPv4) eth.getPayload();
	if (! (ipv4.getPayload() instanceof UDP) )
		return;
	UDP udp = (UDP) ipv4.getPayload();
	if (!(udp.getPayload() instanceof DHCP))
		return;
	DHCP dhcp = (DHCP) udp.getPayload();
	byte opcode = dhcp.getOpCode();
	if (opcode == DHCP.OPCODE_REQUEST) {
		DHCPOption dhcpOption = dhcp.getOption(
				DHCPOptionCode.OptionCode_Hostname);
		if (dhcpOption != null) {
			cntDhcpClientNameSnooped.increment();
			srcDevice.dhcpClientName = new String(dhcpOption.getData());
		}
	}
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:26,代码来源:DeviceManagerImpl.java

示例2: snoopDHCPClientName

import net.floodlightcontroller.packet.DHCP.DHCPOptionCode; //导入依赖的package包/类
/**
 * Snoop and record client-provided host name from DHCP requests
 * @param eth
 * @param srcDevice
 */
private void snoopDHCPClientName(Ethernet eth, Device srcDevice) {
    if (! (eth.getPayload() instanceof IPv4) )
        return;
    IPv4 ipv4 = (IPv4) eth.getPayload();
    if (! (ipv4.getPayload() instanceof UDP) )
        return;
    UDP udp = (UDP) ipv4.getPayload();
    if (!(udp.getPayload() instanceof DHCP))
        return;
    DHCP dhcp = (DHCP) udp.getPayload();
    byte opcode = dhcp.getOpCode();
    if (opcode == DHCP.OPCODE_REQUEST) {
        DHCPOption dhcpOption = dhcp.getOption(
                DHCPOptionCode.OptionCode_Hostname);
        if (dhcpOption != null) {
            cntDhcpClientNameSnooped.updateCounterNoFlush();
            srcDevice.dhcpClientName = new String(dhcpOption.getData());
        }
    }
}
 
开发者ID:JianqingJiang,项目名称:QoS-floodlight,代码行数:26,代码来源:DeviceManagerImpl.java

示例3: snoopDHCPClientName

import net.floodlightcontroller.packet.DHCP.DHCPOptionCode; //导入依赖的package包/类
/**
 * Snoop and record client-provided host name from DHCP requests
 * @param eth
 * @param srcDevice
 */
private void snoopDHCPClientName(Ethernet eth, Device srcDevice) {
    if (! (eth.getPayload() instanceof IPv4) )
        return;
    IPv4 ipv4 = (IPv4) eth.getPayload();
    if (! (ipv4.getPayload() instanceof UDP) )
        return;
    UDP udp = (UDP) ipv4.getPayload();
    if (!(udp.getPayload() instanceof DHCP))
        return;
    DHCP dhcp = (DHCP) udp.getPayload();
    byte opcode = dhcp.getOpCode();
    if (opcode == DHCP.OPCODE_REQUEST) {
        DHCPOption dhcpOption = dhcp.getOption(
                DHCPOptionCode.OptionCode_Hostname);
        if (dhcpOption != null) {
            srcDevice.dhcpClientName = new String(dhcpOption.getData());
        }
    }
}
 
开发者ID:dana-i2cat,项目名称:floodlight-nfv,代码行数:25,代码来源:DeviceManagerImpl.java

示例4: snoopDHCPClientName

import net.floodlightcontroller.packet.DHCP.DHCPOptionCode; //导入依赖的package包/类
/**
 * Snoop and record client-provided host name from DHCP requests
 * @param eth
 * @param srcDevice
 */
private void snoopDHCPClientName(Ethernet eth, Device srcDevice) {
    if (eth.getEtherType() != Ethernet.TYPE_IPv4)
        return;
    IPv4 ipv4 = (IPv4) eth.getPayload();
    if (ipv4.getProtocol() != IPv4.PROTOCOL_UDP)
        return;
    UDP udp = (UDP) ipv4.getPayload();
    if (!(udp.getPayload() instanceof DHCP))
        return;
    DHCP dhcp = (DHCP) udp.getPayload();
    byte opcode = dhcp.getOpCode();
    if (opcode == DHCP.OPCODE_REQUEST) {
        DHCPOption dhcpOption = dhcp.getOption(
                DHCPOptionCode.OptionCode_Hostname);
        if (dhcpOption != null) {
            srcDevice.dhcpClientName = new String(dhcpOption.getData());
        }
    }
}
 
开发者ID:wallnerryan,项目名称:FL_HAND,代码行数:25,代码来源:DeviceManagerImpl.java

示例5: getRequestedParameters

import net.floodlightcontroller.packet.DHCP.DHCPOptionCode; //导入依赖的package包/类
public ArrayList<Byte> getRequestedParameters(DHCP DHCPPayload, boolean isInform) {
	ArrayList<Byte> requestOrder = new ArrayList<Byte>();
	byte[] requests = DHCPPayload.getOption(DHCPOptionCode.OptionCode_RequestedParameters).getData();
	boolean requestedLeaseTime = false;
	boolean requestedRebindTime = false;
	boolean requestedRenewTime = false;
	for (byte specificRequest : requests) {
		if (specificRequest == DHCP_REQ_PARAM_OPTION_CODE_SN) {
			requestOrder.add(DHCP_REQ_PARAM_OPTION_CODE_SN);
		} else if (specificRequest == DHCP_REQ_PARAM_OPTION_CODE_ROUTER) {
			requestOrder.add(DHCP_REQ_PARAM_OPTION_CODE_ROUTER);
		} else if (specificRequest == DHCP_REQ_PARAM_OPTION_CODE_DN) {
			requestOrder.add(DHCP_REQ_PARAM_OPTION_CODE_DN);
		} else if (specificRequest == DHCP_REQ_PARAM_OPTION_CODE_DNS) {
			requestOrder.add(DHCP_REQ_PARAM_OPTION_CODE_DNS);
		} else if (specificRequest == DHCP_REQ_PARAM_OPTION_CODE_LEASE_TIME) {
			requestOrder.add(DHCP_REQ_PARAM_OPTION_CODE_LEASE_TIME);
			requestedLeaseTime = true;
		} else if (specificRequest == DHCP_REQ_PARAM_OPTION_CODE_DHCP_SERVER) {
			requestOrder.add(DHCP_REQ_PARAM_OPTION_CODE_DHCP_SERVER);
		} else if (specificRequest == DHCP_REQ_PARAM_OPTION_CODE_BROADCAST_IP) {
			requestOrder.add(DHCP_REQ_PARAM_OPTION_CODE_BROADCAST_IP);
		} else if (specificRequest == DHCP_REQ_PARAM_OPTION_CODE_NTP_IP) {
			requestOrder.add(DHCP_REQ_PARAM_OPTION_CODE_NTP_IP);
		} else if (specificRequest == DHCP_REQ_PARAM_OPTION_CODE_REBIND_TIME) {
			requestOrder.add(DHCP_REQ_PARAM_OPTION_CODE_REBIND_TIME);
			requestedRebindTime = true;
		} else if (specificRequest == DHCP_REQ_PARAM_OPTION_CODE_RENEWAL_TIME) {
			requestOrder.add(DHCP_REQ_PARAM_OPTION_CODE_RENEWAL_TIME);
			requestedRenewTime = true;
		} else if (specificRequest == DHCP_REQ_PARAM_OPTION_CODE_IP_FORWARDING) {
			requestOrder.add(DHCP_REQ_PARAM_OPTION_CODE_IP_FORWARDING);
			log.debug("requested IP FORWARDING");
		} else {
			//log.debug("Requested option 0x" + Byte.toString(specificRequest) + " not available");
		}
	}
	
	// We need to add these in regardless if the request list includes them
	if (!isInform) {
		if (!requestedLeaseTime) {
			requestOrder.add(DHCP_REQ_PARAM_OPTION_CODE_LEASE_TIME);
			log.debug("added option LEASE TIME");
		}
		if (!requestedRenewTime) {
			requestOrder.add(DHCP_REQ_PARAM_OPTION_CODE_RENEWAL_TIME);
			log.debug("added option RENEWAL TIME");
		}
		if (!requestedRebindTime) {
			requestOrder.add(DHCP_REQ_PARAM_OPTION_CODE_REBIND_TIME);
			log.debug("added option REBIND TIME");
		}
	}
	return requestOrder;
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:56,代码来源:DHCPServer.java

示例6: getRequestedParameters

import net.floodlightcontroller.packet.DHCP.DHCPOptionCode; //导入依赖的package包/类
public ArrayList<Byte> getRequestedParameters(DHCP DHCPPayload, boolean isInform) {
	ArrayList<Byte> requestOrder = new ArrayList<Byte>();
	byte[] requests = DHCPPayload.getOption(DHCPOptionCode.OptionCode_RequestedParameters).getData();
	boolean requestedLeaseTime = false;
	boolean requestedRebindTime = false;
	boolean requestedRenewTime = false;
	for (byte specificRequest : requests) {
		if (specificRequest == DHCP_REQ_PARAM_OPTION_CODE_SN) {
			requestOrder.add(DHCP_REQ_PARAM_OPTION_CODE_SN);
		} else if (specificRequest == DHCP_REQ_PARAM_OPTION_CODE_ROUTER) {
			requestOrder.add(DHCP_REQ_PARAM_OPTION_CODE_ROUTER);
		} else if (specificRequest == DHCP_REQ_PARAM_OPTION_CODE_DN) {
			requestOrder.add(DHCP_REQ_PARAM_OPTION_CODE_DN);
		} else if (specificRequest == DHCP_REQ_PARAM_OPTION_CODE_DNS) {
			requestOrder.add(DHCP_REQ_PARAM_OPTION_CODE_DNS);
		} else if (specificRequest == DHCP_REQ_PARAM_OPTION_CODE_LEASE_TIME) {
			requestOrder.add(DHCP_REQ_PARAM_OPTION_CODE_LEASE_TIME);
			requestedLeaseTime = true;
		} else if (specificRequest == DHCP_REQ_PARAM_OPTION_CODE_DHCP_SERVER) {
			requestOrder.add(DHCP_REQ_PARAM_OPTION_CODE_DHCP_SERVER);
		} else if (specificRequest == DHCP_REQ_PARAM_OPTION_CODE_BROADCAST_IP) {
			requestOrder.add(DHCP_REQ_PARAM_OPTION_CODE_BROADCAST_IP);
		} else if (specificRequest == DHCP_REQ_PARAM_OPTION_CODE_NTP_IP) {
			requestOrder.add(DHCP_REQ_PARAM_OPTION_CODE_NTP_IP);
		} else if (specificRequest == DHCP_REQ_PARAM_OPTION_CODE_REBIND_TIME) {
			requestOrder.add(DHCP_REQ_PARAM_OPTION_CODE_REBIND_TIME);
			requestedRebindTime = true;
		} else if (specificRequest == DHCP_REQ_PARAM_OPTION_CODE_RENEWAL_TIME) {
			requestOrder.add(DHCP_REQ_PARAM_OPTION_CODE_RENEWAL_TIME);
			requestedRenewTime = true;
		} else if (specificRequest == DHCP_REQ_PARAM_OPTION_CODE_IP_FORWARDING) {
			requestOrder.add(DHCP_REQ_PARAM_OPTION_CODE_IP_FORWARDING);
			log.debug("requested IP FORWARDING");
		} else {
			//log.debug("Requested option 0x" + Byte.toString(specificRequest) + " not available");
		}
	}

	// We need to add these in regardless if the request list includes them
	if (!isInform) {
		if (!requestedLeaseTime) {
			requestOrder.add(DHCP_REQ_PARAM_OPTION_CODE_LEASE_TIME);
			log.debug("added option LEASE TIME");
		}
		if (!requestedRenewTime) {
			requestOrder.add(DHCP_REQ_PARAM_OPTION_CODE_RENEWAL_TIME);
			log.debug("added option RENEWAL TIME");
		}
		if (!requestedRebindTime) {
			requestOrder.add(DHCP_REQ_PARAM_OPTION_CODE_REBIND_TIME);
			log.debug("added option REBIND TIME");
		}
	}
	return requestOrder;
}
 
开发者ID:zhenshengcai,项目名称:floodlight-hardware,代码行数:56,代码来源:DHCPServer.java


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