OpenFlow Meter的坑


關於OpenvSwitch meter表的問題

如以下所示,我想要給OVS下發一個meter表,結果返回OFPT_ERROR (OF1.3) (xid=0x2): OFPMMFC_OUT_OF_METERS錯誤

root@kaola:~# ovs-ofctl -O OpenFlow13 add-meter s1 meter=1,kbps,band=type=drop,rate=300
OFPT_ERROR (OF1.3) (xid=0x2): OFPMMFC_OUT_OF_METERS
OFPT_METER_MOD (OF1.3) (xid=0x2): ADD meter=1 kbps bands=
type=drop rate=300

經查找規范

If a switch cannot add the incoming meter entry due to lack of space, the switch must send an ofp_error_msg with OFPET_METER_MOD_FAILED type and OFPMMFC_OUT_OF_METERS code

發現是電腦運行空間的問題,可是我的電腦內存是8G,感覺應該不是這個問題,OVS版本(Open vSwitch) 2.6.2

解決方法

由於meter表是openflow1.3版本以后才支持,所以所有命令需要指定OpenFlow1.3版本以上
ps: 在openvswitch-v2.8之前的版本中,還不支持meter
在v2.8版本之后已經實現,要正常使用的話,需要注意的是datapath類型要指定為netdev,band type暫時只支持drop,還不支持DSCP REMARK

這篇文章,可以得出要使用meter只能是升級到2.8.0以上了。

如何升級OvS

爬過了幾個坑,建議大家不要裝2.8.0,直接裝2.8.1,筆者在此處踩了很多坑,一怒之下升級一切問題便盪然無存。

使用mininet的安裝一來幫助我們快速安裝OvS

此篇文章——Mininet使用源碼安裝 AND 通過腳本快速安裝Open vSwitch2.3.0和Mininet,給出非常詳細的卸載之類的步驟。

首先先卸載,然后使用mininet/util/install.sh里面的工具,輸入以下命令

sudo ./install.sh -n3V 2.8.1 

然后安裝完后,繼續輸入以下命令

mkdir -p /usr/local/etc/openvswitch
ovsdb-tool create /usr/local/etc/openvswitch/conf.db vswitchd/vswitch.ovsschema  2>/dev/null
 
ovsdb-server -v --remote=punix:/usr/local/var/run/openvswitch/db.sock \
             --remote=db:Open_vSwitch,Open_vSwitch,manager_options \
             --private-key=db:Open_vSwitch,SSL,private_key \
             --certificate=db:Open_vSwitch,SSL,certificate \
             --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert \
             --pidfile --detach
 
ovs-vsctl --no-wait init
ovs-vswitchd --pidfile --detach
ovs-vsctl show

接下來請安穩的使用OvS的meter表

參考鏈接


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM