一.配置好openflow交换机

  配置好交换机的管理地址,可先用串口登,使管理口地址与controller地址在同一个网络中.

  在交换机上配置controller地址:

  如:

  先用命令新建一个bridge,并加入其接口.

  [switch@shell ]# ovs-vsctl set-controller br0 tcp:192.168.1.1:6633 --->此地址为controller IP地址

二.将若干PC机与交换机接口相连,并在controller上查看floodlight的信息,可以发现有OpenFlow Switch与之相连,并能查看连接上的PC机与拓扑。进入 http://localhost:8080/ui/index.html

  8080为floodlightdefault.properties文件中所指定的端口号.可以登录floodligt的web界面.

三.通过controller控制openflow交换机

  当floodlightdefault.properties配置文件中加载了转发模块(net.floodlightcontroller.forwarding.Forwarding).则连接在交换机上的PC机是可以互相ping通 的.floodlight中没有加载此模块时,须要用使添加流表来控制流向.下面介绍一下从控制器端对openflow交换机添加与删除流表.

  添加流表:

  [controller@host ]# curl -d '{"switch": "00:00:00:00:00:00:00:01", "name":"flow-mod-1", "cookie":"0", "priority":"2232", "ingress- port":"1","active":"true", "actions":"output=2"}' http://:8080/wm/staticflowentrypusher/json

  [controller@host ]# curl -d '{"switch": "00:00:00:00:00:00:00:01", "name":"flow-mod-2", "cookie":"0", "priority":"2232", "ingress- port":"2","active":"true", "actions":"output=1"}' http://:8080/wm/staticflowentrypusher/json

  这两条流表为1号端口的流向2号接口,2号端口的流向1号接口.

  连接在这两个接口上的PC机可以互相通信.

  可变参数解析:

  "00:00:00:00:00:00:00:01"为openflow交换机与controller交互所产生的DPID.

  "flow-mod-1"为该流表的名字(索引),后可用此名字(索引)来删除该流表.

  "ingress-port":后面的参数为入接口

  "actions":后面的参数为出接口

  填入controller的IP

  读取流表:

  [controller@host ]# curl http://192.168.1.100:8080/wm/core/switch/1/flow/json

  [controller@host ]# curl http://192.168.1.100:8080/wm/staticflowentrypusher/list/all/json

  删除流表:

  1.删除所有流表

  [controller@host ]# curl http://192.168.1.208:8080/wm/staticflowentrypusher/clear//json

  2.删除单条流表

  [controller@host ]# curl -X DELETE -d '{"name":"flow-mod-1"}' http://:8080/wm/staticflowentrypusher/json

[原创]Floodlight+ovs的基本使用的更多相关文章

  1. [原创]Floodlight安装

    Floodlight安装:一.安装环境: ubuntu-12.04-64bit二.安装Floodlight: #apt-get update #apt-get install build-essent ...

  2. 利用OVS+FLOODLIGHT,为数据表添加VLAN_ID和MPLS

    话不多说,直接上拓扑: 我这里是用主机h1 (10.0.0.1)ping 主机h2(10.0.0.2) 1.添加VLAN标签 v1: sudo ovs-ofctl add-flow m1-s1 in_ ...

  3. floodlight make the VMs can not getDHCP IP address

    https://answers.launchpad.net/neutron/+question/242170 这个问题我也遇到了,但是没人回答. floodlight make the VMs can ...

  4. (原创)openvswitch实验连载1-fedora 17下安装openvswitch

    1 软件安装 1.1测试环境和网络拓朴 大部分朋友估计也没有一个真实环境来完全整个的测试,所以我也是使用了在一台PC机上使用Vmware Workstation的方式来进行实验.总体结构是在PC机上安 ...

  5. ubuntu 14.04设备OVS虚拟OpenFlow交换机配置汇总

    一.设备OVS sudo apt-get install openvswitch-controller openvswitch-switch openvswitch-datapath-source ( ...

  6. Floodlight Controller 路线原则

         SDN的出现能够使得各种复杂的路由协议从原本的Device OS中剥离出来,放在SDN Controller中.Controller用一种简单的协议来和全部的Router进行通信.就能够获得 ...

  7. Floodlight 在 ChannelPipeline 图

    我们知道,在Netty架构,一个ServerBootstrap用于生成server端的Channel的时候都须要提供一个ChannelPipelineFactory类型的參数,用于服务于建立连接的Ch ...

  8. Floodlight controller 线程池模型

         官方文档对于ThreadPool的描写叙述是:ThreadPool is a Floodlight module wrapper for a Java's ScheduledExecutor ...

  9. Floodlight 启动过程分析

      1. 在Main中先是载入模块,启动REST服务,而后构建一个实现了IFloodlightProviderService接口的实例(即Controller)并执行: 2. 接下来进入Control ...

随机推荐

  1. iOS开发 - CocoaPods安装和使用教程

    一.CocoaPods简介 1.什么是CocoaPods CocoaPods是iOS的包管理工具. 2.为什么要使用CocoaPods 在开发iOS项目时,经常会使用第三方开源库,手动引入流程复杂,并 ...

  2. JS的Dom树小结

    一[DOM树节点]  DOM节点分为三大类:元素节点.文本节点.属性节点 文本节点.属性节点,为元素节点的两个子节点:  通过getElement系列方法,可以去到元素节点.     二[查看节点] ...

  3. [Splay模版1]

    输入 第1行:1个正整数n,表示操作数量,100≤n≤200,000 第2..n+1行:可能包含下面3种规则: 1个字母'I',紧接着1个数字k,表示插入一个数字k到树中,1≤k≤1,000,000, ...

  4. Android自定义评分控件:RatingStarView

    RatingStarView Android自定义的评分控件,类似ProgressBar那样的,使用星星图标(full.half.empty)作为progress标识的评分/打分控件. 效果图 图1: ...

  5. [玩耍]C++控制台扫雷

    其实是大一还不会GUI时闲着无聊写的.都是硬编码,也不支持自定义棋盘大小,现在看看这代码惨不忍睹.下载地址:http://download.csdn.net/download/xienaoban/98 ...

  6. Memcached for windows x64 x32 安装

    Memcached for windows 一.安装Memcached 1.下载 Memcached32位:http://s3.amazonaws.com/downloads.northscale.c ...

  7. Linux系统档案与文件系统的压缩与打包

    以下文章基于centos6.5 文章引自:http://www.jb51.net/LINUXjishu/105916.html 一.Linux下常见的压缩指令 在linux的环境中,压缩文件的扩展名大 ...

  8. ThreadLocal源码解析

    主要用途 1)设计线程安全的类 2)存储无需共享的线程信息 设计思路 ThreadLocalMap原理 1)对象存储位置-->当前线程的ThreadLocalMap ThreadLocalMap ...

  9. mybatis中传入一个List集合作为查询条件的参数

    如果有一个查询参数有多个,用一个List集合传进去,这个mapper文件可以这么写 <select id="queryList04" resultType="map ...

  10. 使用Linux的alternatives命令替换选择软件的版本

    上周在安装搜索引擎Elasticsearch时,要求安装比较新的java 版本,我选择了java 1.8.0,安装java 成功后使用java -version 发现使用的版本仍旧是1.6.0, 查询 ...