Skip to content

mrospond/qos-sdn

Repository files navigation

qos-sdn

Prerequisites

SDN QoS

  1. per-flow QoS
  2. DiffServ
  3. OpenFlow meters, queues

ovs egress traffic shaping

sudo ovs-vsctl -- \
  add-br br0 -- \
  add-port br0 eth0 -- \
  add-port br0 vif1.0 -- set interface vif1.0 ofport_request=5 -- \
  add-port br0 vif2.0 -- set interface vif2.0 ofport_request=6 -- \
  set port eth0 qos=@newqos -- \
  --id=@newqos create qos type=linux-htb \
      other-config:max-rate=1000000000 \
      queues:123=@vif10queue \
      queues:234=@vif20queue -- \
  --id=@vif10queue create queue other-config:max-rate=10000000 -- \
  --id=@vif20queue create queue other-config:max-rate=20000000

Multi Queue Policer for OVS-DPDK

sudo ovs-vsctl --timeout=5 set port dpdk1 qos=@myqos -- \
    --id=@myqos create qos type=trtcm-policer \
    other-config:cir=50000 other-config:cbs=2048 \
    other-config:eir=50000 other-config:ebs=2048  \
    queues:10=@dpdk1Q10 queues:20=@dpdk1Q20 -- \
     --id=@dpdk1Q10 create queue \
      other-config:cir=100000 other-config:cbs=2048 \
      other-config:eir=0 other-config:ebs=0 -- \
     --id=@dpdk1Q20 create queue \
       other-config:cir=0 other-config:cbs=0 \
       other-config:eir=50000 other-config:ebs=2048

OVSDB

https://docs.openvswitch.org/en/latest/faq/qos/

sudo ovs-vsctl clear port s2-eth2 qos
sudo ovs-vsctl -- --all destroy QoS -- --all destroy Queue

sudo ovs-vsctl list QoS
sudo ovs-vsctl list Queue
sudo ovs-vsctl get port s2-eth2 qos

list queues on a switch

sudo ovs-ofctl queue-stats s2 -O OpenFlow13

OVS

sudo service openvswitch-switch status
sudo tail -f /var/log/openvswitch/ovs-vswitchd.log

About

SDN DiffServ with Ryu

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published