File: ovs-bugtool-ovs-ofctl-loop-over-bridges

package info (click to toggle)
openvswitch 3.5.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 97,848 kB
  • sloc: sh: 1,643,930; ansic: 313,386; python: 27,939; xml: 21,526; makefile: 546; javascript: 191
file content (33 lines) | stat: -rwxr-xr-x 1,266 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#! /bin/bash

# This library is free software; you can redistribute it and/or
# modify it under the terms of version 2.1 of the GNU Lesser General
# Public License as published by the Free Software Foundation.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA
#
# Copyright (C) 2017 Ericsson AB

for bridge in `ovs-vsctl -- --real list-br`
do
    PROTOCOLS="$(ovs-vsctl get Bridge "$bridge" protocols)"
    if [ "$PROTOCOLS" = "[]" ]
    then
        echo "ovs-ofctl $1 ${bridge} $2"
        eval ovs-ofctl $1 "${bridge}" $2
    else
        LENGTHPRO="$(expr length "$PROTOCOLS")"
        COMMAIND="$(expr index "$PROTOCOLS" ,)"
        echo "ovs-ofctl $1 -O${PROTOCOLS:${COMMAIND}+2:${LENGTHPRO}-${COMMAIND}-4} ${bridge} $2"
        eval ovs-ofctl $1 -O"${PROTOCOLS:${COMMAIND}+2:${LENGTHPRO}-${COMMAIND}-4}" "${bridge}" $2
    fi
    echo ""
done