본문 바로가기

Software Defined Network/Research_SDN

openvSwitch에서 OpenFlow 룰을 확인하고 싶을때

OVS command


SDN 관련 테스트를 진행하면서 가장 많이 만나는 단어는 'ovs' 이다.


openvSwitch를 나타내는 ovs는 가상 bridge를 생성하고 flow를 관리하는 이른바 가상 소프트웨어 스위치이다.


ovs는 OpenFlow 관련 내용을 포함하고 있기 때문에 OpenFlow 에서는 떨어질 수 없는 밀접한 사이인데 의외로 ovs에서 Flow Rule을 Trace 할때 애먹는 경우가 많다. 



OVS와 SDN Controller 연결



1. OVS 설정


1.1 기본설정


  • Controller 연결
$ sudo ovs-vsctl set controller <가상 bridge 이름> tcp:<IP>:6633
  • Controller 삭제
$ sudo ovs-vsctl del-controller <가상 bridge 이름>


1.2 가상 bridge 생성


  • bridge 생성
$ sudo ovs-vsctl add-br <가상 bridge 이름>

$ sudo ovs-vsctl add-port <가상 bridge 이름> <가상 bridge와 연결할 NIC 이름>
  • bridge 삭제
$ sudo ovs-vsctl del-br <가상 bridge 이름>


1.3 FlowRule

  • OVS Flow Rule 확인
$ sudo ovs-ofclt dump-flows <가상 bridge 이름>
  • OVS OpenFlow Rule 확인
$ sudo ovs-ofclt dump-flows <가상 bridge 이름> -O openflow13
  • OVS 가상 브릿지 OpenFlow 버전 적용
    • ovs-ofctl dump-flows -O 관련 command 관련 에러가 나는 경우 아래의 스탭
[Error 내용]

2016-04-14T00:54:46Z|00001|vconn|WARN|unix:/var/run/openvswitch/br-tun.mgmt: version negotiation failed (we support version 0x04, peer supports version 0x01)

ovs-ofctl: br-tun: failed to connect to socket (Broken pipe)

    • 각 브릿지마다 적용
sudo ovs-vsctl clear bridge <가상 bridge 이름> protocols
$ sudo ovs-vsctl set bridge <가상 bridge 이름> protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13
또는
$ sudo ovs-vsctl set bridge <가상 bridge 이름> protocols=OpenFlow12,OpenFlow13


1.4 STP (Spanning Tree Protocol) 설정

  • Spanning Tree Protocol 허용
$ sudo ovs-vsctl set bridge <가상 bridge 이름> stp_enable=true 
  • Spanning Tree Protocol 비허용
$ sudo ovs-vsctl set bridge <가상 bridge 이름> stp_enable=false 



1.5 out-of-band / in-band 설정

  • out-of-band

    $ sudo ovs-vsctl set controller <가상 bridge 이름> connection-mode=out-of-band


    • in-band (default)

      $ sudo ovs-vsctl set controller <가상 bridge 이름> connection-mode=in-band


      • hidden flow

        $ sudo ovs-vsctl set bridge <가상 bridge 이름> other-config:disable-in-band=true










        'Software Defined Network > Research_SDN' 카테고리의 다른 글

        Yang Model as a Service  (2) 2016.08.02
        ONOS Controller와 OpenStack 연결  (0) 2015.10.08
        Buffalo AP - OpenFlow SW 설정  (7) 2015.10.05
        ONOS prolog  (0) 2015.07.20