Neutron中Portbinding扩展模块详解

本文详细介绍了Neutron中的Portbinding扩展模块,包括其在Neutron机制驱动器和Nova虚拟化驱动中的作用,以及如何通过REST API指定Port绑定属性。重点探讨了SimpleAgentMechanismDriverBase、SriovNicSwitchMechanismDriver、LinuxbridgeMechanismDriver和OpenvswitchMechanismDriver的实现细节。
摘要由CSDN通过智能技术生成

目录

Extension以及Port binding简述

Port binding 的属性

Port binding 的属性在Neutron的mechanism  driver中作用

SimpleAgentMechanismDriverBase

SriovNicSwitchMechanismDriver

LinuxbridgeMechanismDriver

OpenvswitchMechanismDriver

Port binding 的属性在Nova的虚拟化virt vif driver中作用

Port binding 的属性在Ironic的



Extension以及Port binding简述

Extension 是 Neutron 项目中对基本资源实现属性扩展的手段,而 Portbinding 则是 Neutron 在早期即引入的一个扩展模块,可以实现对 Port 资源的属性扩展。该扩展模块在 neutron 及 Agent 将 port 和实际网卡资源绑定时发挥重要作用,使得管理员可以人工指定或者获取 port 的物理绑定信息,其属性的正确与否会影响到 server(虚拟机、baremeta)的能否成功启动。


Port binding 的属性

Port binding 扩展定义的属性主要包括 vnic_type、vif_type、vif_details、host_id、profile ,这些属性都可以在创建 port 的 REST API接口中可以直接指定。

一个创建 port 的 REST API body 实例如下:

POST      /v2.0/ports

{
    "port": {
        "binding:host_id": "4df8d9ff-6f6f-438f-90a1-ef660d4586ad",
        "binding:profile": {
            "local_link_information": [
                {
                    "port_id": "Ethernet3/1",
                    "switch_id": "0a:1b:2c:3d:4e:5f",
                    "switch_info": "switch1"
                }
            ]
        },
        "binding:vnic_type": "baremetal",
        "device_id": "d90a13da-be41-461f-9f99-1dbcf438fdf2",
        "device_owner": "baremetal:none",
        "dns_domain": "my-domain.org.",
        "dns_name": "myport",
        "qos_policy_id": "29d5e02e-d5ab-4929-bee4-4a9fc12e22ae"
    }
}

 关于每个属性的具体含义、类型与取值范围如下表:

Port binding 属性及说明
属性名称 类型 含义与取值
binding:host_id string 该端口位于的实际计算节点的 uuid。
binding:profile object 这是一个字典,该字典赋予特定计算节点上应用能够传递或者接受vif port信息的能力,该信息专用于该计算节点上的网络后端实现,该字段的格式由对应的后端驱动决定,API 不作规定。
binding:vif_details object 这是一个字典,记载关于该端口的一些附加信息 。至今为止这个字段包含以下key: port_filterovs_hybrid_plugport_filter 是一个布尔值用来表示当前系统的网络服务是否提供端口过滤的功能,比如安全组和/或防IP/MAC地址仿冒。 ovs_hybrid_plug 是一个布尔值的标志用来通知一个网络 API 消费者(比如 nova )是否对OVS使用混合插入(hybrid plugging)策略。
binding:vif_type string 用来处理该端口的机制类型。一个网络 API 消费者例如 nova 根据此属性可以选择一个合适的设备(比如一台虚拟机的网络接口)关联到该端口上 。当前可用的值包括: ovs, bridge, macvtap, hw_veb, hostdev_physical, vhostuser, distributed 以及 other还有一些特殊的值: unboundbinding_failed unbound 没有被任何网络后端所实现绑定。 binding_failed 则代表当一个网络后端在试图对该端口进行绑定时发生了错误。
binding:vnic_type str
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值