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


Java OFNiciraVendorData.NX_VENDOR_ID属性代码示例

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


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

示例1: extractNiciraRoleReply

/**
 * Extract the role from an OFVendor message.
 *
 * Extract the role from an OFVendor message if the message is a
 * Nicira role reply. Otherwise return null.
 *
 * @param h The channel handler receiving the message
 * @param vendorMessage The vendor message to parse.
 * @return The role in the message if the message is a Nicira role
 * reply, null otherwise.
 * @throws SwitchStateException If the message is a Nicira role reply
 * but the numeric role value is unknown.
 * FIXME: The message parser should make sure that the Nicira role is
 * actually valid. Why do we need to take care of it ?!?
 */
protected Role extractNiciraRoleReply(OFChannelHandler h,
                                      OFVendor vendorMessage) {
    int vendor = vendorMessage.getVendor();
    if (vendor != OFNiciraVendorData.NX_VENDOR_ID)
        return null;
    if (! (vendorMessage.getVendorData() instanceof OFRoleReplyVendorData))
        return null;
    OFRoleReplyVendorData roleReplyVendorData =
            (OFRoleReplyVendorData) vendorMessage.getVendorData();
    Role role = Role.fromNxRole(roleReplyVendorData.getRole());
    if (role == null) {
        String msg = String.format("Switch: [%s], State: [%s], "
                + "received NX_ROLE_REPLY with invalid role "
                + "value %d",
                h.getSwitchInfoString(),
                this.toString(),
                roleReplyVendorData.getRole());
        throw new SwitchStateException(msg);
    }
    return role;
}
 
开发者ID:JianqingJiang,项目名称:QoS-floodlight,代码行数:36,代码来源:OFChannelHandler.java

示例2: initVendorMessages

private void initVendorMessages() {
    // Configure openflowj to be able to parse the role request/reply
    // vendor messages.
    OFBasicVendorId niciraVendorId = new OFBasicVendorId(
            OFNiciraVendorData.NX_VENDOR_ID, 4);
    OFVendorId.registerVendorId(niciraVendorId);
    OFBasicVendorDataType roleRequestVendorData =
            new OFBasicVendorDataType(
                    OFRoleRequestVendorData.NXT_ROLE_REQUEST,
                    OFRoleRequestVendorData.getInstantiable());
    niciraVendorId.registerVendorDataType(roleRequestVendorData);
    OFBasicVendorDataType roleReplyVendorData =
            new OFBasicVendorDataType(
                    OFRoleReplyVendorData.NXT_ROLE_REPLY,
                    OFRoleReplyVendorData.getInstantiable());
     niciraVendorId.registerVendorDataType(roleReplyVendorData);
}
 
开发者ID:vishalshubham,项目名称:Multipath-Hedera-system-in-Floodlight-controller,代码行数:17,代码来源:Controller.java

示例3: extractNiciraRoleRequest

/**
 * Extracts the vendor-specific (Nicira) role.
 *
 * @param chan the channel
 * @param vendorMessage the vendor message
 * @return the role
 */
private Role extractNiciraRoleRequest(Channel chan, OFVendor vendorMessage) {
    int vendor = vendorMessage.getVendor();
    if (vendor != OFNiciraVendorData.NX_VENDOR_ID) {
        return null;
    }
    if (!(vendorMessage.getVendorData() instanceof OFRoleRequestVendorData)) {
        return null;
    }
    OFRoleRequestVendorData roleRequestVendorData = (OFRoleRequestVendorData) vendorMessage
            .getVendorData();
    Role role = Role.fromNxRole(roleRequestVendorData.getRole());
    if (role == null) {
        String msg = String.format("Controller: [%s], State: [%s], "
                + "received NX_ROLE_REPLY with invalid role " + "value %d",
                chan.getRemoteAddress(), this.toString(),
                roleRequestVendorData.getRole());
        throw new ControllerStateException(msg);
    }
    return role;
}
 
开发者ID:CoVisor,项目名称:CoVisor,代码行数:27,代码来源:OVXSwitch.java

示例4: handleVendorMessage

protected boolean handleVendorMessage(OFVendor vendorMessage) {
    boolean shouldHandleMessage = false;
    int vendor = vendorMessage.getVendor();
    switch (vendor) {
        case OFNiciraVendorData.NX_VENDOR_ID:
            OFNiciraVendorData niciraVendorData =
                (OFNiciraVendorData)vendorMessage.getVendorData();
            int dataType = niciraVendorData.getDataType();
            switch (dataType) {
                case OFRoleReplyVendorData.NXT_ROLE_REPLY:
                    OFRoleReplyVendorData roleReplyVendorData =
                            (OFRoleReplyVendorData) niciraVendorData;
                    handleRoleReplyMessage(vendorMessage, 
                                           roleReplyVendorData);
                    break;
                default:
                    log.warn("Unhandled Nicira VENDOR message; " +
                             "data type = {}", dataType);
                    break;
            }
            break;
        default:
            log.warn("Unhandled VENDOR message; vendor id = {}", vendor);
            break;
    }
    
    return shouldHandleMessage;
}
 
开发者ID:vishalshubham,项目名称:Multipath-Hedera-system-in-Floodlight-controller,代码行数:28,代码来源:Controller.java

示例5: processOFVendor

@Override
void processOFVendor(final ControllerChannelHandler h,
        final OFVendor m) {
    if (m.getVendor() == OFNiciraVendorData.NX_VENDOR_ID
            && m.getVendorData() instanceof OFRoleRequestVendorData) {
        h.sw.handleRoleIO(m, h.channel);
    } else {
        this.unhandledMessageReceived(h, m);
    }
}
 
开发者ID:CoVisor,项目名称:CoVisor,代码行数:10,代码来源:ControllerChannelHandler.java

示例6: handleVendorMessage

protected boolean handleVendorMessage(OFVendor vendorMessage) {
    boolean shouldHandleMessage = false;
    int vendor = vendorMessage.getVendor();
    switch (vendor) {
        case OFNiciraVendorData.NX_VENDOR_ID:
            OFNiciraVendorData niciraVendorData =
                (OFNiciraVendorData)vendorMessage.getVendorData();
            int dataType = niciraVendorData.getDataType();
            switch (dataType) {
                case OFRoleReplyVendorData.NXT_ROLE_REPLY:
                    OFRoleReplyVendorData roleReplyVendorData =
                            (OFRoleReplyVendorData) niciraVendorData;
                    roleChanger.handleRoleReplyMessage(sw,
                            vendorMessage, roleReplyVendorData);
                    break;
                default:
                    log.warn("Unhandled Nicira VENDOR message; " +
                             "data type = {}", dataType);
                    break;
            }
            break;
        default:
            shouldHandleMessage = true;
            break;
    }

    return shouldHandleMessage;
}
 
开发者ID:opendaylight,项目名称:archived-net-virt-platform,代码行数:28,代码来源:Controller.java


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