首页 > 其他分享 >SDN ryu.app.ofctl_rest操作实践

SDN ryu.app.ofctl_rest操作实践

时间:2023-06-08 20:44:50浏览次数:58  
标签:stats app 8080 192.168 1.50 rest http SDN port

安装 Postman

网上自己找教程,也可用国内的对标产品 Apipost

本文采用的是 Apipost

启动 Ryu 控制器

切换到自己的 ryu 目录

cd /home/ubuntu/ryu/ryu/app
sudo ryu-manager simple_switch.py

再开一个终端

cd /home/ubuntu/ryu/ryu/app
sudo ryu-manager ofctl_rest.py

如果遇到端口报错

image

扫一下接口 kill 掉

sudo lsof -i :6633
sudo lsof -i :6653

image

启动 Mininet

切换到自己的 Mininet 目录

cd /usr/share/doc/mininet/examples/
python miniedit.py 

如果报这个错,请不要用 SSH 连接,请使用系统自带的终端

image

按图操作

image

image

image

image

image

python sd6.py

Postman 操作

打开 Postman ,GET http://192.168.1.50:8080/stats/switches 链接

image

GET http://192.168.1.50:8080/stats/flow/1

image

GET http://192.168.1.50:8080/stats/flow/2

image

终端内输入 dpctl dump-flows

image

添加 S1

POST http://192.168.1.50:8080/stats/flowentry/add body 内填下面的 json 数据

{
    "dpid": 1,
    "priority": 11111,
    "flags": 1,
    "match": {
        "in_port": 1
    },
    "actions": [
        {
            "type": "OUTPUT",
            "port": 2
        },
    ]
}

image

在终端内再次输入 dpctl dump-flows 查看流表

image

输入 pingall 查看联通情况

image

再次 POST http://192.168.1.50:8080/stats/flowentry/add

{
    "dpid": 1,
    "priority": 11111,
    "flags": 1,
    "match": {
        "in_port": 2
    },
    "actions": [
        {
            "type": "OUTPUT",
            "port": 1
        },
    ]
}

image

再次输入 dpctl dump-flows 查看流表

image

S1 共添加 2 条流表

添加 S2

再次 POST http://192.168.1.50:8080/stats/flowentry/add

{
    "dpid": 2,
    "priority": 11111,
    "flags": 1,
    "match": {
        "in_port": 1
    },
    "actions": [
        {
            "type": "OUTPUT",
            "port": 2
        },
        {
            "type": "OUTPUT",
            "port": 3
        },
    ]
}

image

再次输入 dpctl dump-flows 查看流表

image

再次 POST http://192.168.1.50:8080/stats/flowentry/add

{
    "dpid": 2,
    "priority": 11111,
    "flags": 1,
    "match": {
        "in_port": 2
    },
    "actions": [
        {
            "type": "OUTPUT",
            "port": 1
        },
        {
            "type": "OUTPUT",
            "port": 3
        },
    ]
}

image

再次 POST http://192.168.1.50:8080/stats/flowentry/add

{
    "dpid": 2,
    "priority": 11111,
    "flags": 1,
    "match": {
        "in_port": 3
    },
    "actions": [
        {
            "type": "OUTPUT",
            "port": 1
        },
        {
            "type": "OUTPUT",
            "port": 2
        },
    ]
}

image

image

S2 共添加 3 条流表

执行 pingall

image

清空 S2

清空 Body

向下面两条连接发送 delete 请求

http://192.168.1.50:8080/stats/flowentry/clear/1
http://192.168.1.50:8080/stats/flowentry/clear/2

image

输入 dpctl dump-flows 查看流表

image

标签:stats,app,8080,192.168,1.50,rest,http,SDN,port
From: https://www.cnblogs.com/huanfei/p/17467316.html

相关文章

  • 树莓派之OLED12864视频播放—BadApple
    概述本篇教程讲述了使用树莓派驱动OLED12864液晶屏,并在液晶屏上播放动画和视频.硬件平台树莓派一台—RaspberryPi_2B。OLED12864显示屏一块,SPI接口。软件平台wiringPi—开源树莓派GPIO库。EasyBMP—开源BMP图片处理库(这个库是用C++编写的,主要为了方便提取BMP图片数据,我已经做好了......
  • 使用HbuilderX3.8.3_把开发的小程序发布为Html5页面上传到_免费托管空间---uniapp_小
      找了很久,毕竟自己也是做测试,本来想买个服务器来着,由于了一下,还是给我找到了最终~自己做的小程序想部署,又不想买阿里云服务器,部署到阿贝云也不错,阿贝云会给开发者提供, 免费虚拟主机和免费的云服务器,最近我用了一段时间感觉还很不错也很稳定我测试用完全够用了,现......
  • 解决CSDN需要登录后才能复制内容
    步骤鼠标右键"检查"移除下面的内容参考文档https://blog.csdn.net/weixin_43244565/article/details/130613051......
  • 广州APP开发公司怎么选?优秀的APP开发公司必须具备这四点!
    随着移动端市场的蓬勃发展,越来越多的企业开始意识到移动应用的重要性,APP开发更是成为了一种重要的商业模式。而广州作为我国互联网的重要城市之一,在信息化与数字经济领域发展较为迅速,也涌现出了大量的APP开发公司。但在众多APP开发公司中如何选择一个靠谱的合作伙伴呢?名锐讯动教大......
  • uniapp+微信小程序+vue3 实现富文本编辑器遇到的坑
     问题一:富文本编辑器初始化实例出不来,有两个原因:找的参考代码不适用微信小程序,需要用.in(this)uni.createSelectorQuery().in(this).select("#editor").context(res=>{this.editorCtx=res?.context;}).ex......
  • streamlit app.py 如何配置一个schedule 定时任务
    streamlitapp.py如何配置一个schedule定时任务Streamlit是一个用于构建数据应用程序的Python框架,它本身不支持定时任务的调度功能。但是,可以使用Python中的第三方库schedule来实现这个功能。schedule是一个轻量级的Python库,用于在指定的时间间隔内运行重复任务。要......
  • uniapp打包所需的ios证书和证书profile文件获取的图文教程
    使用uniapp进行云打包,可以打包android和ios两种app,但是uniapp官方并不能凭空产生这两种平台所需的打包证书。那么这两种打包证书又是如何获取呢?android相对简单,使用jdk的工具生成就可以了,也可以使用香蕉云编来一键生成。但是ios证书的生成就没有这么简单,因为ios证书的生成需要......
  • SparkUI中的Peak Pool Memory Direct / Mapped (直接缓冲池和映射缓冲池)
      PeakPoolMemoryDirect/Mapped --直接缓冲池和映射缓冲池峰值内存##什么是直接缓冲池和映射缓冲池?在Java中,有两种类型的缓冲池:直接缓冲池和映射缓冲池。直接缓冲池1)从堆外内存分配,不受JVM管理2)占用内存较多3)相比从JVM复制数据到本地,性能更高 映射缓冲池1)将文......
  • Elasticsearch专题精讲—— REST APIs —— Document APIs —— Reindex API
    RESTAPIs——DocumentAPIs——ReindexAPIhttps://www.elastic.co/guide/en/elasticsearch/reference/8.8/docs-reindex.html#docs-reindexCopiesdocumentsfromasourcetoadestination.将文档从源复制到目标。Thesourcecanbeanyexist......
  • 直播源码app开发技术特效功能的实现
    网络时代的发展使得直播源码app平台日渐火爆,抖音就是这些火爆的直播源码app平台的其中之一。大家在使用抖音看直播时有没有看见过这样的情况,在某一个直播间里,正在直播的人的脸在屏幕中会变长变宽,甚至是变得扭曲,或者是那个人会带上西瓜贴纸等其他水果贴纸,又或是在屏幕上看见动漫人物......