floodlight make the VMs can not getDHCP IP address

博客讨论了在使用Floodlight作为OpenStack的OpenFlow控制器时,配置OVSBridge导致VM无法获取DHCP IP地址的问题,并提供了详细的操作前后的对比分析。

https://answers.launchpad.net/neutron/+question/242170

这个问题我也遇到了,但是没人回答。

floodlight make the VMs can not getDHCP IP address

Asked by  wherego2000  on 2014-01-14
 

I used the floodlight as the openflow controller in openstack. in the compute node ,I use the command "set-controller IP:port" to set the floodlight address as the ovs bridge br-int's controller. but when I typed the command,I found the OVS flow tables were flushed,the flow rules were deleted . So when I created a VM,the VM could not get the DHCP IP address,my Openstack is Grizzly vlan mode,I found the DHCP reply from network node could not recived by VM.
 Does you have the same problem? Does floodlight can be used in OPENSTACk as the openvswitch's controller? I used the floodlight to get the virtual network topology.

before I set the controller ,the OVS flow table is like this:
[root@node8 ~]# ovs-ofctl dump-flows br-int
NXST_FLOW reply (xid=0x4):
 cookie=0x0, duration=52.074s, table=0, n_packets=11, n_bytes=1430, idle_age=15, priority=3,in_port=29,dl_vlan=1000 actions=mod_vlan_vid:8,NORMAL
 cookie=0x0, duration=307.365s, table=0, n_packets=8123, n_bytes=728475, idle_age=0, priority=0 actions=NORMAL

[root@node8 ~]# ovs-vsctl show
3fa12857-c008-451f-a6f3-70cf30d1b92e
    Bridge br-int
        Port "qvoab109943-af"
            tag: 8
            Interface "qvoab109943-af"
        Port br-int
            Interface br-int
                type: internal
        Port "int-br-eth1"
            Interface "int-br-eth1"
    Bridge "br-eth1"
        Port "eth1"
            Interface "eth1"
        Port "phy-br-eth1"
            Interface "phy-br-eth1"
        Port "br-eth1"
            Interface "br-eth1"
                type: internal
    ovs_version: "1.7.1"

but after I set the controller,the flow tables is like this:

[root@node8 ~]# ovs-ofctl dump-flows br-int
NXST_FLOW reply (xid=0x4):

[root@node8 ~]# ovs-vsctl show
3fa12857-c008-451f-a6f3-70cf30d1b92e
    Bridge br-int
        Controller "tcp:10.0.0.7"
            is_connected: true
        Port "qvoab109943-af"
            tag: 8
            Interface "qvoab109943-af"
        Port br-int
            Interface br-int
                type: internal
        Port "int-br-eth1"
            Interface "int-br-eth1"
    Bridge "br-eth1"
        Port "eth1"
            Interface "eth1"
        Port "phy-br-eth1"
            Interface "phy-br-eth1"
        Port "br-eth1"
            Interface "br-eth1"
                type: internal
    ovs_version: "1.7.1"

转载于:https://www.cnblogs.com/duanguyuan/p/3530102.html

FloodLight是一个开放源码的SDN控制器,它允许你在网络设备上配置流量规则。关于FloodLight中使用`curl`命令添加流表项,通常涉及到控制器API的交互。假设你想要通过RESTful API在控制器上操作,你可以按照以下步骤: 1. **首先,确定API端点**:FloodLight的默认API端点可能是`http://<controller-ip>:8080/of:`,其中`<controller-ip>`是你的FloodLight服务器的IP地址。 2. **准备数据**:你需要一个JSON格式的请求体,描述你要添加的流表项。例如,一个基本的规则可能包括表ID、匹配条件(如源IP、目的IP等)、行动(如转发到某个出端口)等内容。这个例子看起来像这样: ```json { "cookie": <cookie_value>, "table_id": <table_number>, "priority": <priority>, "instructions": [ { "action": { "type": "OUTPUT", "port": <output_port> } } ], "match": { "dl_dst": "<destination_ip>" } } ``` 3. **发送`curl`命令**:将上述JSON插入`curl`命令中,并指定相应的HTTP方法(通常是POST),因为我们需要创建一个新的规则: ``` curl -X POST \ -H 'Content-Type: application/json' \ -d '{"...your_json_here..."}' \ http://<controller-ip>:8080/of/flowentry ``` 将`...your_json_here...`替换为你之前准备好的JSON。 4. **验证结果**:执行命令后,检查返回的状态码和内容,确认是否成功创建了流表项。 **相关问题--:** 1. FloodLight支持哪些其他RESTful API操作? 2. 如何查看FloodLight当前的流表项列表? 3. 如果遇到权限问题,如何解决访问控制器API的问题?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值