ovs-ofctl

2023-05-16

文章目录

    • @[toc]
  • ovs-ofctl
    • 语法
    • COMMANDS
        • OpenFlow Switch Management Commands
  • OpenFlow Switch Flow Table Commands
  • Group Table Commands
  • OpenFlow 1.3+ Switch Meter Table Commands
  • OpenFlow Switch Bundle Command
  • OpenFlow Switch Tunnel TLV Table Command
  • OpenFlow Switch Monitoring Commands
  • Other Commands

参考

ovs-ofctl

用于监控和管理OpenFlow交换机。同时可以展示OpeFlow交换机的特性、配置、表记录。它可以工作在任何OpenFlow交换机,而不仅仅是ovs

语法

ovs−ofctl [options] command [switch] [args...]

COMMANDS

OpenFlow Switch Management Commands

用于OpenFlow交换机流表和端口的管理

# 向控制台打印交换机信息,包括了流表和端口号
# show switch
ovs-ofctl show s1

# Tables
# 打印交换机使用流表的统计信息
# dump-tables switch
ovs-ofctl dump-tables s1

# 打印交换机使用流表的特性(可以看到max_entries属性,这里看到的是100000)
# 该命令需要OpenFlow协议版本大于1.3
# dump−table-features switch
ovs-ofctl dump-table-features s1 -O Openflow13

# 打印OpenFlow交换机使用流表的配置,用于OpenFlow14
# dump−table−desc switch
# 通过以下语句修改OpenFlow版本
# ovs-vsctl set bridge s1 protocols=OpenFlow14
ovs-ofctl dump-table-desc s1 -O OpenFlow14



# 配置OpenFlow流表设置
# mod-table switch table setting
# OpenFlow 1.1及1.2支持的setting(用于当流无匹配后的操作)
# drop 丢弃
# continue 给pipeline中的下个表
# controller 发送给控制器
ovs-ofctl mod-table s1 10 drop

# OpenFlow 1.3及以上
# 修改表名(这里不知道为啥无效)
ovs-ofctl mod-table s1 10 name:table-10

# OpenFlow 1.4及以上,需要加上-O 版本号
# setting支持 
# evict 根据流表中描述的算法从指定流表删除流 
ovs-ofctl mod-table s1 10 evict -O OpenFlow14
# noevict 拒绝加入新流
ovs-ofctl mod-table s1 10 noevict -O OpenFlow14
# vacancy:low,high 允许使用TABLE_STATUS消息根据高低百分比阈值向控制器发送空缺事件
ovs-ofctl mod-table s1 10 vacancy:10,20 -O OpenFlow14
# novacancy 取消按阈值发送空缺事件
ovs-ofctl mod-table s1 10 novacancy -O OpenFlow14

#------------------------------------------------------


# Ports
# 打印交换机端口的统计信息(如果指定设备,只有指定网络设备的通信信息会被打印),
# 统计信息包括收到、发送的包、字节数量,端口存活时间
# dump−ports switch [netdev]
ovs-ofctl dump-ports s1 -O OpenFlow14
ovs-ofctl dump-ports s1 s1-eth1 -O OpenFlow14

# 打印细节信息
# 细节信息包括状态、当前支持的端口速率、支持最大的端口速率等
# OpenFlow 1.5支持dump指定port,其它早先版本只能列出所有
# dump−ports−desc switch [port]
ovs-ofctl dump-ports-desc s1 -O OpenFlow14

# 修改指定交换机端口特性
# mod−port switch port action
# action 支持如下:
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
## 端口启动和关闭
# up
ovs-ofctl mod-port s1 s1-eth1 up -O OpenFlow14
# down
ovs-ofctl mod-port s1 s1-eth1 down -O OpenFlow14

## 端口stp协议支持
# stp
ovs-ofctl mod-port s1 s1-eth1 stp -O OpenFlow14
# no-stp
ovs-ofctl mod-port s1 s1-eth1 no-stp -O OpenFlow14

## 接口接收处理
## 从该接口接收的数据包(除stp)是否直接丢弃,不交给流表处理。
# receive
ovs-ofctl mod-port s1 s1-eth1 receive -O OpenFlow14
# no−receive
ovs-ofctl mod-port s1 s1-eth1 no-receive -O OpenFlow14

## 从该接口接收的stp数据包是否直接丢弃
# receive−stp
ovs-ofctl mod-port s1 s1-eth1 receive-stp -O OpenFlow14
# no−receive−stp
ovs-ofctl mod-port s1 s1-eth1 no-receive-stp -O OpenFlow14

## 接口流量转发,是否允许将流量转发给该接口
# forward
ovs-ofctl mod-port s1 s1-eth1 forward -O OpenFlow14
# no-forward
ovs-ofctl mod-port s1 s1-eth1 no-forward -O OpenFlow14

## 接口是否允许洪泛
# flood
ovs-ofctl mod-port s1 s1-eth1 flood -O OpenFlow14
# no-flood
ovs-ofctl mod-port s1 s1-eth1 no-flood -O OpenFlow14

## 控制该接口接收的数据包是否在流表匹配时产生packet-in数据包
# packet-in
ovs-ofctl mod-port s1 s1-eth2 packet-in -O OpenFlow14
# no-packet-in
ovs-ofctl mod-port s1 s1-eth2 no-packet-in -O OpenFlow14
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


# 打印交换机分段处理mod
# get−frags switch
ovs-ofctl get-frags switch 
# 分段处理mod
# normal 分段包像非分段包一样在流表中处理(TCP、UDP端口号、ICMP类型以及code 字段被设置为0)
# drop  分段包不通过流表处理,直接丢弃
# reassemble 分段包重组后交给流表处理(未实现)
# nx-match 分段包像非分段包一样在流表中处理(TCP端口、UDP端口和ICMP类型和代码字段可用于匹配偏移量为0的片段,并在非零偏移量的片段中设置为0。)


# 显示流
# dump-flows switch
ovs-ofctl dump-flows s1 -O OpenFlow14


# 向控制台打印交换机表中与流匹配的流的聚合统计信息
# dump-aggregate switch [flows]
ovs-ofctl dump-aggregate s1 -O OpenFlow14

# Queue
# 将交换机内端口上指定队列的统计信息打印到控制台
# queue-stats switch [port [queue]]
ovs-ofctl queue-stats s1 s1-eth1 -O OpenFlow14

# 将交换机端口上的队列配置打印到控制台。
# queue-get-config switch [port [queue]]
ovs-ofctl queue-get-config s1 s1-eth1 -O OpenFlow14
# ------------------------------------


# 用于ovs 2.6及以上版本
# 将交换机桥接ipfix统计信息打印到控制台
# dump−ipfix−bridge switch
ovs-ofctl dump-ipfix-bridge s1

# 将基于流的pfix统计信息打印到控制台
# dump−ipfix−flow switch
ovs-ofctl dump-ipfix-flow s1

# 在zone中flush交换机switch的连接追踪
# ct-flush-zone switch zone

OpenFlow Switch Flow Table Commands

用于流表管理。–bundle参数表明命令为单一的原子事务

测试拓扑

s1 - s2

|    |

h1  h2

端口连接情况

s1-eth1 ———— s2-eth1

s1-eth2       s2-eth2

 |          |

h1-eth0      h2-eth0

hostmacip
h100:00:00:00:00:0110.0.1.1/16
h200:00:00:00:00:0210.0.2.1/16

测试mininet脚本

#!/usr/bin/python

from mininet.net import Mininet
from mininet.node import Controller, RemoteController, OVSController
from mininet.node import CPULimitedHost, Host, Node
from mininet.node import OVSKernelSwitch, UserSwitch
from mininet.node import IVSSwitch
from mininet.cli import CLI
from mininet.log import setLogLevel, info
from mininet.link import TCLink, Intf
from subprocess import call

def myNetwork():

    net = Mininet( topo=None,
                   build=False)

    info( '*** Adding controller\n' )
    c0=net.addController(name='c0',
                      controller=RemoteController,
		      ip='192.168.40.129',
                      protocol='tcp',
                      port=6653)


    info( '*** Add switches\n')
    s1 = net.addSwitch('s1', dpid="0000000000000a1", cls=OVSKernelSwitch)
    s2 = net.addSwitch('s2', dpid="0000000000000a2", cls=OVSKernelSwitch)

    info( '*** Add hosts\n')
    
    h1 = net.addHost('h1', cls=Host, mac='00:00:00:00:00:01', ip='10.0.1.1/24', defaultRoute="h1-eth0")
    h2 = net.addHost('h2', cls=Host, mac='00:00:00:00:00:02', ip='10.0.2.1/24', defaultRoute="h2-eth0")
   

    info( '*** Add links\n')
    net.addLink(s1, s2)
    net.addLink(s1, h1)
    net.addLink(s2, h2)


    info( '*** Starting network\n')
    net.build()
    info( '*** Starting controllers\n')
    for controller in net.controllers:
        controller.start()

    info( '*** Starting switches\n')
    net.get('s2').start([c0])
    net.get('s1').start([c0])

    info( '*** Post configure switches and hosts\n')
    # net.get('s1').dpctl("")

    CLI(net)
    net.stop()

if __name__ == '__main__':
    setLogLevel( 'info' )
    myNetwork()

# Add
# [−−bundle] add−flow switch flow

# add ARP 
# s1->s2  s2->s1
sudo ovs-ofctl add-flow s1 priority=10,in_port=2,dl_type=0x0806,nw_src=10.0.1.1,nw_dst=10.0.2.1,hard_timeout=60,actions=output:1 -O OpenFlow13

sudo ovs-ofctl add-flow s2 priority=10,in_port=1,dl_type=0x0806,nw_src=10.0.1.1,nw_dst=10.0.2.1,hard_timeout=60,actions=output:2 -O OpenFlow13

sudo ovs-ofctl add-flow s2 priority=10,in_port=2,dl_type=0x0806,nw_src=10.0.2.1,nw_dst=10.0.1.1,hard_timeout=60,actions=output:1 -O OpenFlow13

sudo ovs-ofctl add-flow s1 priority=10,in_port=1,dl_type=0x0806,nw_src=10.0.2.1,nw_dst=10.0.1.1,hard_timeout=60,actions=output:2 -O OpenFlow13

# add IPv4 
sudo ovs-ofctl add-flow s1 priority=10,in_port=2,dl_type=0x0800,nw_src=10.0.1.1,nw_dst=10.0.2.1,hard_timeout=60,actions=output:1 -O OpenFlow13

sudo ovs-ofctl add-flow s2 priority=10,in_port=1,dl_type=0x0800,nw_src=10.0.1.1,nw_dst=10.0.2.1,hard_timeout=60,actions=output:2 -O OpenFlow13

sudo ovs-ofctl add-flow s2 priority=10,in_port=2,dl_type=0x0800,nw_src=10.0.2.1,nw_dst=10.0.1.1,hard_timeout=60,actions=output:1 -O OpenFlow13

sudo ovs-ofctl add-flow s1 priority=10,in_port=1,dl_type=0x0800,nw_src=10.0.2.1,nw_dst=10.0.1.1,hard_timeout=60,actions=output:2 -O OpenFlow13

# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

# [−−bundle] add−flow switch − < file
# file要以add、modify、delete等开头,后面跟流内容即可
# s1-flows.txt内容
add priority=10,in_port=2,dl_type=0x0806,nw_src=10.0.1.1,nw_dst=10.0.2.1,hard_timeout=60,actions=output:1 
add priority=10,in_port=1,dl_type=0x0806,nw_src=10.0.2.1,nw_dst=10.0.1.1,hard_timeout=60,actions=output:2
add priority=10,in_port=2,dl_type=0x0800,nw_src=10.0.1.1,nw_dst=10.0.2.1,hard_timeout=60,actions=output:1
add priority=10,in_port=1,dl_type=0x0800,nw_src=10.0.2.1,nw_dst=10.0.1.1,hard_timeout=60,actions=output:2
sudo ovs-ofctl add-flow s1 -<s1-flows.txt

# s2-flows.txt内容
add priority=10,in_port=1,dl_type=0x0800,nw_src=10.0.1.1,nw_dst=10.0.2.1,hard_timeout=60,actions=output:2
add priority=10,in_port=2,dl_type=0x0800,nw_src=10.0.2.1,nw_dst=10.0.1.1,hard_timeout=60,actions=output:1
add priority=10,in_port=1,dl_type=0x0806,nw_src=10.0.1.1,nw_dst=10.0.2.1,hard_timeout=60,actions=output:2
add priority=10,in_port=2,dl_type=0x0806,nw_src=10.0.2.1,nw_dst=10.0.1.1,hard_timeout=60,actions=output:1

sudo ovs-ofctl add-flow s2 -<s2-flows.txt 

# 这里的file应该是用的文件内容,直接用文件名不行
# [−−bundle] add−flows switch file
# --------------------------------------------------------------------

# Modify
# 修改指定交换机匹配指定流记录的动作
# −−strict 情况下匹配流时通配符不生效
# [−−bundle] [−−strict] mod−flows switch flow
sudo ovs-ofctl mod-flows s1 priority=10,in_port=2,dl_type=0x0806,nw_src=10.0.1.1,nw_dst=10.0.2.1,hard_timeout=60,actions=drop -O OpenFlow13

# [−−bundle] [−−strict] mod−flows switch − < file
# s1-mod.txt内容
priority=10,in_port=2,dl_type=0x0806,nw_src=10.0.1.1,nw_dst=10.0.2.1,hard_timeout=60,actions=drop
priority=10,in_port=1,dl_type=0x0806,nw_src=10.0.2.1,nw_dst=10.0.1.1,hard_timeout=60,actions=drop
priority=10,in_port=2,dl_type=0x0800,nw_src=10.0.1.1,nw_dst=10.0.2.1,hard_timeout=60,actions=drop
priority=10,in_port=1,dl_type=0x0800,nw_src=10.0.2.1,nw_dst=10.0.1.1,hard_timeout=60,actions=drop

sudo ovs-ofctl mod-flows s1 -< s1-mod.txt 
# --------------------------------------------------------------------


#Del
# [−−bundle] del−flows switch
sudo ovs-ofctl del-flows s1

# [−−bundle] [−−strict] del−flows switch [flow]
# 这里的delete flow不是所有的key都可以用,有些关键字不能用于删除匹配(priority,action,hard_time都不行,别的还没尝试)
sudo ovs-ofctl del-flows s1 ip,in_port=2,nw_src=10.0.1.1,nw_dst=10.0.2.1

# [−−bundle] [−−strict] del−flows switch − < file
# s1-del.txt内容
ip,in_port=2,nw_src=10.0.1.1,nw_dst=10.0.2.1
sudo ovs-ofctl del-flows s1 -< s1-del.txt 


# 从file(或者stdin,如果file是−)读取流项,并从switch查询流表。然后,它修复所有差异,添加来自switch上丢失的流的流,删除不在文件中的switch流,以及更新在switch中操作、cookie或超时在文件中不同的流。
# [−−bundle] [−−readd] replace−flows switch fil

# Dif
# 从source1 和source2读取流比较差异
# diff−flows source1 source2
# s1-dif.txt内容
priority=10,in_port=1,dl_type=0x0800,nw_src=10.0.1.1,nw_dst=10.0.2.1,hard_timeout=60,actions=output:2
priority=10,in_port=2,dl_type=0x0800,nw_src=10.0.2.1,nw_dst=10.0.1.1,hard_timeout=60,actions=output:1
priority=10,in_port=1,dl_type=0x0806,nw_src=10.0.1.1,nw_dst=10.0.2.1,hard_timeout=60,actions=output:2
priority=10,in_port=2,dl_type=0x0806,nw_src=10.0.2.1,nw_dst=10.0.1.1,hard_timeout=60,actions=output:1

sudo ovs-ofctl diff-flows s1-mod.txt s1-dif.txt


# 连接到交换机并指示它执行packet-out消息,在包出语法部分中定义。
# packet−out switch packet-out

Group Table Commands

OpenFlow 1.3+ Switch Meter Table Commands

OpenFlow Switch Bundle Command

OpenFlow Switch Tunnel TLV Table Command

OpenFlow Switch Monitoring Commands


# 连接到交换机,打印出所有接收到的OpenFlow消息(此命令可用于查看交换机及其控制器之间的OpenFlow协议活动)
# snoop switch
sudo ovs-ofctl snoop s1


# 连接到交换机,打印所有收到的OpenFlow消息
# monitor switch [miss-len] [invalid_ttl] [watch:[spec...]]

Other Commands

# 将OpenFlow连接上使用的二进制格式将文件(或stdin)读取为一系列OpenFlow消息,并将它们打印到控制台。这对于打印从TCP流捕获的OpenFlow消息非常有用。
# ofp−parse file


# read文件必须是tcpdump或wireshark等网络捕获工具使用的PCAP格式,它提取OpenFlow连接的所有TCP流,并在stdout上以人类可读的格式打印这些连接中的OpenFlow消息。OpenFlow连接由TCP端口号区分。非openflow包被忽略。默认情况下,TCP端口6633和6653上的数据被认为是OpenFlow。指定一个或多个端口参数以覆盖默认值。此命令不能有效地打印SSL加密的流量。它不理解IPv6。
# ofp−parse−pcap file [port...]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ovs-ofctl 的相关文章

  • Centos7搭建KVM虚拟化平台之基于OVS网桥

    Centos7搭建KVM虚拟化平台之基于OVS网桥 文章目录 Centos7搭建KVM虚拟化平台之基于OVS网桥一 什么是虚拟化技术 xff1f 为什么要用虚拟化技术 xff1f 二 Qemu KVM基本工作原理分析三 KVM和Qemu基于
  • ovs测试vlan

    ovs端口默认是trunk模式 xff0c 且所有的VLAN tag都可以通过 单个网桥实现vlan隔离的场景 实验拓扑如下 xff1a 1 首先创建一个网桥ovs switch xff0c 在命名空间里创建两个接口p0和p1 分别分配地址
  • openstack ovs-vswitch收包流程

    数据包从物理网卡进入虚拟机的流程 物理网卡处理 NIC 收到数据包 xff0c 会先将高低电信号转换到网卡 FIFO 存储器 NIC 首先申请 Ring buffer 的描述 xff0c 根据描述找到具体的物理地址 xff0c NIC 会使
  • Neutron系列 : Neutron OVS OpenFlow 流表 和 L2 Population(8)

    问题导读 xff1a 1 怎样使用arp responder xff1f 2 怎样搭建l2pop环境 xff1f 3 ARP Responder arp responder 的原理不复杂 Neutorn DB 中保存了所有的端口的 MAC
  • ovs-ofctl

    文章目录 64 toc ovs ofctl语法COMMANDSOpenFlow Switch Management Commands OpenFlow Switch Flow Table CommandsGroup Table Comman
  • OpenStack OVS GRE/VXLAN

    https www jianshu com p 0b52de73a4b3 OpenStack OVS GRE VXLAN网络 学习或者使用OpenStack普遍有这样的现象 xff1a 50 的时间花费在了网络部分 xff1b 30 的时间
  • 关于ovs中ovs-ofctl add-flow的“in_port”问题

    问题提出 在之前做的docker容器互联的实验中有这样一句命令 xff1a ovs ofctl add flow s1 span class token string 34 in port 61 1 actions 61 drop 34 s
  • OVS Bond lacp源码分析

    近期项目中要使用Ovs bond接口 xff0c Ovs Bond 只有三种模式 xff1a balance tcp xff0c balance slb xff0c active backup 这三种模式的工作方式如下 xff1a 1 ac
  • ovs-vswitchd dbg

    root 64 Standard PC i440FX PIIX 1996 home smoke test gdb fGNU gdb Ubuntu 8 1 1 0ubuntu1 8 1 1 Copyright 2018 Free Softwa
  • VM跨主机通信ovs配置

    如果位于不同物理主机上的两个VM需要通信 xff0c 那么底层的虚拟交换机ovs需要配置tunnel端口 OVS中支持添加隧道 Tunnel 端口 xff0c 常见隧道技术有两种gre或vxlan 隧道技术是在现有的物理网络之上构建一层虚拟
  • OVS 流表轨迹入门及典型场景举例【ovs-appctl ofproto/trace】

    OVS 流表轨迹入门及典型场景举例 一 流表轨迹入门 二 典型场景举例 三 小技巧 一 流表轨迹入门 在数据中心网络中 SDN控制器通过向OVS交换机下发OpenFlow流表 指导报文转发 在OVS中 如何观察某个特定报文在OpenFlow
  • OpenStack(Kilo) + Tenant-OVS-VXLAN(ml2) + Multi-Ext-Net

    from http blog sina com cn s blog 6de3aa8a0102vl7m html 使用VirualBox创建CentOS7虚拟机 资源分配视宿主windows而定 xff0c 由于要部署OpenStack xf
  • OVS和OVN 2.8新功能

    OVS和OVN 2 8新功能 本文最初整理在我的github上SDN Learning notes 本文翻译自ovs官方文档 本文档主要是关于2017年8月底发布的Open vSwitch 2 8中添加的内容 xff0c 重点介绍OVN中的
  • OVS于DVS

    撰写时间 xff1a 2022 2 28 分布式虚拟交换机 xff08 DVS 注意 xff1a DVS是二层交换机 DVS特点 xff1a 1 集中管理 xff1a 通过统一的Portal页面进行集中管理 xff0c 简化用户配置 2 基
  • OVS+DPDK

    DPDK简介 DPDK是X86平台报文快速处理的库和驱动的集合 xff0c 不是网络协议栈 xff0c 不提供二层 xff0c 三层转发功能 xff0c 不具备防火墙ACL功能 xff0c 但通过DPDK可以轻松的开发出上述功能 DPDK的
  • Ubuntu下如何关闭指定端口的进程

    1 查看该端口的占用情况 lsof i 端口号 2 关闭进程 kill PID 可能不止一个进程
  • ovs+dpdk 三级流表(microflow/megaflow/openflow)

    本文介绍在ovs dpdk下 三级流表的原理及其源码实现 普通模式ovs的第一和二级流表原理和ovs dpdk下的大同小异 三级流表完全一样 基本概念 microflow 最开始openflow流表是在kernel中实现的 但是因为在ker
  • openvswitch--OpenFlow 流表设置

    流规则组成 每条流规则由一系列字段组成 分为基本字段 条件字段和动作字段三部分 基本字段包括生效时间duration sec 所属表项table id 优先级priority 处理的数据包数n packets 空闲超时时间idle time
  • OpenVSwitch数据面流表cache机制浅谈

    稍许笔墨写了一篇关于OpenVSwitch 以下简称OVS 的文章 https blog csdn net dog250 article details 103492099 但有些事情并没有说清楚 关于OVS的流表是如何映射成数据平面的Fl
  • ubuntu 下实现 docker+ovs+quagga搭建网络---bgp

    注 本机上现有quagga镜像 ovs虚拟交换机 2 9 1 docker 18 09 7 实现bgp网络搭建 1 sudo ovs vsctl add br br1 增加一个ovs网桥br1 2 sudo docker images 查看

随机推荐

  • 启航篇——四旋翼飞行器之入坑两年心路历程和毕设总结

    笔者今年大四毕业 xff0c 由于之前参加比赛及准备考研 xff0c 没有时间总结这两年来做四旋翼飞行器的心得体会 现在借毕业设计这个契机 xff0c 想把这件事做了 xff0c 算是两年的收尾工作 xff0c 也是个新的开始 先从介绍这两
  • Gazebo学习笔记(一)

    搭建一个移动车 ctrl 43 m 进入到gazebo编辑界面 ctrl 43 m 进入到gazebo编辑界面 1 搭建一个车底盘 xff0c 选择simple shapes 的box xff0c 点击后在编辑框中释放 2 利用resize
  • 1分钟教会你二进制撩妹(汉)读心术

    近些年来 xff0c 小魔发现 xff0c 对于年轻的男女而言 xff0c 一些传统的节日似乎都变成了情人节或者脱单节 xff0c 就连 光棍节 xff0c 实际上很多人都是抱着节前或者是当天脱单而过的 双11 光棍节 即将来临 xff0c
  • 树莓派光敏传感器控制LED小灯的开关

    今天来做一个关于光敏传感器的使用demo xff0c 如图 xff0c 我采用的是普通用于开发的光敏传感器 传感器的基板上有两个LED xff0c 上一个是表示DO的高低电平 xff0c 下一个表示是否通电 当挡住传感头之后 xff0c D
  • Opencv+YOLO3目标检测/C++

    1 引言 YOLO3能够快速识别图片和视频中的80种物体 xff0c 而且实时性强 xff0c 准确度接近SSD Opencv是目前最流行的开源图像处理库 xff0c 使用Opencv能够非常方便的对图像进行处理 Opencv4 0已经包含
  • Linux安装Docker

    安装前菜 如何卸载Docker 1 查询docker安装包 yum list installed grep docker 2 删除安装包 yum remove docker 3 删除镜像 容器等 rm rf var lib docker 下
  • 北邮初试+复试经验分享

    初试情况 xff1a 政治 53 英语 70 数学 122 计算机综合 xff08 803 xff09 110 一些相关的基本情况 xff1a 本科专业数学 本科期间学过数据结构 通过了英语四六级 本科成绩还算可以 初试材料选择 xff08
  • apt命令概述

    目录 Linux软件仓库 软件源配置 apt命令 常见的命令如下 xff1a 常见的用法 示例 xff1a 使用apt安装redis软件 Linux软件仓库 Ubuntu采用集中式的软件仓库机制 xff0c 将各式各样 的软件包分门别类地存
  • 索引覆盖与回表

    懂的越多 xff0c 不懂的越多 上回书说到 xff1a 什么情况下 xff0c 索引下推没办法提高sql查询效率 xff1f 表info主键id名称name值value别名realname 对于info表 xff0c 我们现在有 xff0
  • Ubuntu18.04安装实时内核Preempt-RT

    文章目录 1 安装环境2 安装依赖包3 查看内核版本4 下载新的内核和对应的Preempt RT补丁5 解压缩6 打补丁7 配置内核8 编译内核9 校验结果10 重启11 测试12 调整分辨率 1 安装环境 Ubuntu18 04内核版本
  • CAS 5.2.X 使用cas-overlay-template 搭建cas-server

    1 下载 cas overlay template 地址 xff1a https github com apereo cas overlay template 选择需要的版本 xff1a cas 6 x开始使用gradle构建 xff0c
  • Jupyter 更改主题解决 jt 不存在问题

    pip安装之后 xff0c 并不是像传统的那样安装到了envs中的script文件中 而是在C盘的appdata C Users Administrator AppData Roaming Python Python36 Scripts 中
  • 树莓派4 桌面图标显示 No wireless interface found

    树莓派4 桌面图标显示 No wireless interface found 解决方式 先使用有线链接网络 安装wpasupplicant wpagui libengine pkcs11 openssl sudo apt install
  • mysql _外键、实体关系与ER图

    外键约束 概念 A实体的某个字段指向 B实体的主键 则称A实体的那个字段为该实体的外键 一个表里可以有多个外键 span class hljs operator span class hljs keyword drop span span
  • hadoop系列之Configuration类解析

    前言 Configuration是hadoop中五大组件的公用类 xff0c 所以放在了core下 xff0c org apache hadoop conf Configruration 这个类是作业的配置信息类 xff0c 任何作用的配置
  • tty_read和tty_write

    一 tty read 对于tty read这个函数 xff0c 很多标志我也没有弄得太清楚 xff0c 但是问题不大 xff0c 以后有机会在看 我觉得重点是看数据怎么从cdc驱动到通过线路规划到tty xff0c 再从tty到用户空间 标
  • 深度学习 - 模型调优经历(1)

    模型调优经历 xff08 1 xff09 背景遇到问题思路解决办法 背景 样本规模及划分 bullet 二分类问题 xff0c 正负样本 1 1 xff0c 特征数 xff1a 20
  • Android SDK下载安装及配置教程

    让大家很方便的不用翻墙不用代理地就完成Android开发环境的搭建 总结起来 xff0c Android开发环境搭建可以分为以下四步 xff1a 第一步 安装JDK xff1b 略 第二步 安装Eclipse xff1b 略 第三步 下载并
  • (DFS)深度优先搜索算法详解

    背景 DFS 英文全称为 xff08 Depth First Search xff09 xff0c 中文简称深度优先搜索算法 xff0c 其过程为沿着每一个可能的路径向下进行搜索 xff0c 直到不能再深入为止 xff0c 并且每一个节点只
  • ovs-ofctl

    文章目录 64 toc ovs ofctl语法COMMANDSOpenFlow Switch Management Commands OpenFlow Switch Flow Table CommandsGroup Table Comman