去掉floodlight自学习模块(没有配置流表就转发不了)

1、去掉floodlight自学习模块(没有配置流表就转发不了)

让我们来做个实验:在前面的实验中,mininet默认创建的拓扑(sudo mn)实际上执行pingall是能够互相Ping通的,这是因为Floodlight在启动的时候载入了net.floodlightcontroller.forwarding.Forwarding这个模块,这个是一个二层交换机的模块,我们去掉他,在配置文件中去掉这一项,然后再Floodlight目录下执行ant,从新整合。(当然也可以使用–cf指定配置文件)。默认的配置文件,在src/main/resources/floodlightdefault.properties,可以看看它的内容。
在这里插入图片描述删去那一行

在这里插入图片描述

随后启动Floodlight,启动mininet,创建默认拓扑,此时执行pingall发现host间就无法相互ping通了。此时怎么办呢,别着急,慢慢来。

cd floodlight
ant
java -jar target/floodlight.jar

这个时候我们启动ovs(启动之前sudo mn -c 一下)。
然后启动mininet,发现ping不通了
在这里插入图片描述

2、手动配置流表

下发流表,工作进行到这一块。

//设置s1  s
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、付费专栏及课程。

余额充值