ovn-sim(1) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | EXAMPLES | AUTHOR | COPYRIGHT | COLOPHON

OVN-SIM(1)             Open Virtual Network (OVN)             OVN-SIM(1)

NAME         top

       ovn-sim - Open Virtual Network simulator environment

SYNOPSIS         top

       ovn-sim [option]… [script]…

DESCRIPTION         top

       ovn-sim is a wrapper script that adds ovn related commands on top
       of ovs-sim.

       ovs-sim provides a convenient environment for running one or more
       Open vSwitch instances and related software in a sandboxed
       simulation environment.

       To use ovn-sim, first build Open vSwitch, then invoke it directly
       from the build directory, e.g.:

          git clone https://github.com/openvswitch/ovs.git
          cd ovs
          ./boot.sh && ./configure && make
          cd ..
          git clone https://github.com/ovn-org/ovn.git
          cd ovn
          ./boot.sh && ./configure --with-ovs-source=${PWD}/../ovs
          make
          utilities/ovn-sim

       See documentation on ovs-sim for info on simulator, including the
       parameters you can use.

   OVN Commands
       These commands interact with OVN, the Open Virtual Network.

       ovn_start [options]
              Creates and initializes the central OVN databases (both
              ovn-sb(5) and ovn-nb(5)) and starts an instance of
              ovsdb-server for each one.  Also starts an instance of
              ovn-northd.

              The following options are available:

                 --nbdb-model model
                        Uses the given database model for the northbound
                        database.  The model may be standalone (the
                        default), backup, or clustered.

                 --nbdb-servers n
                        For a clustered northbound database, the number
                        of servers in the cluster.  The default is 3.

                 --sbdb-model model
                        Uses the given database model for the southbound
                        database.  The model may be standalone (the
                        default), backup, or clustered.

                 --sbdb-servers n
                        For a clustered southbound database, the number
                        of servers in the cluster.  The default is 3.

       ovn_attach network bridge ip [masklen]
              First, this command attaches bridge to interconnection
              network network, just like net_attach network bridge.
              Second, it configures (simulated) IP address ip (with
              network mask length masklen, which defaults to 24) on
              bridge. Finally, it configures the Open vSwitch database
              to work with OVN and starts ovn-controller.

EXAMPLES         top

       Simulating hypervisors, starting ovn controller (via ovn_attach)
       and adding a logical port on each one of them:

          ovn_start
          ovn-nbctl ls-add lsw0
          net_add n1
          for i in 0 1; do
              sim_add hv$i
              as hv$i
              ovs-vsctl add-br br-phys
              ovn_attach n1 br-phys 192.168.0.`expr $i + 1`
              ovs-vsctl add-port br-int vif$i -- \
                  set Interface vif$i external-ids:iface-id=lp$i
              ovn-nbctl lsp-add lsw0 lp$i
              ovn-nbctl lsp-set-addresses lp$i f0:00:00:00:00:0$i
          done

       Here’s a primitive OVN “scale test” (adjust the scale by changing
       n in the first line):

          n=200; export n
          ovn_start --sbdb-model=clustered
          net_add n1
          ovn-nbctl ls-add br0
          for i in `seq $n`; do
              (sim_add hv$i
              as hv$i
              ovs-vsctl add-br br-phys
              y=$(expr $i / 256)
              x=$(expr $i % 256)
              ovn_attach n1 br-phys 192.168.$y.$x
              ovs-vsctl add-port br-int vif$i -- \
                  set Interface vif$i external-ids:iface-id=lp$i) &
              case $i in
                  *50|*00) echo $i; wait ;;
              esac
          done
          wait
          for i in `seq $n`; do
              yy=$(printf %02x $(expr $i / 256))
              xx=$(printf %02x $(expr $i % 256))
              ovn-nbctl lsp-add br0 lp$i
              ovn-nbctl lsp-set-addresses lp$i f0:00:00:00:$yy:$xx
          done

       When the scale test has finished initializing, you can watch the
       logical ports come up with a command like this:

          watch 'for i in `seq $n`; do \
          if test `ovn-nbctl lsp-get-up lp$i` != up; then echo $i; fi; done'

AUTHOR         top

       The Open Virtual Network (OVN) Development Community

COPYRIGHT         top

       2020, The Open Virtual Network (OVN) Development Community

COLOPHON         top

       This page is part of the Open Virtual Network (Daemons for Open
       vSwitch that translate virtual network configurations into
       OpenFlow) project.  Information about the project can be found at
       ⟨https://www.ovn.org/⟩.  If you have a bug report for this manual
       page, send it to bugs@openvswitch.org.  This page was obtained
       from the project's upstream Git repository
       ⟨https://github.com/ovn-org/ovn⟩ on 2023-12-22.  (At that time,
       the date of the most recent commit that was found in the
       repository was 2023-12-18.)  If you discover any rendering
       problems in this HTML version of the page, or you believe there
       is a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to
       man-pages@man7.org

23.06.90                      Jun 23, 2023                    OVN-SIM(1)