[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200501084720.138421-1-bpoirier@cumulusnetworks.com>
Date: Fri, 1 May 2020 17:47:14 +0900
From: Benjamin Poirier <bpoirier@...ulusnetworks.com>
To: netdev@...r.kernel.org
Cc: Roopa Prabhu <roopa@...ulusnetworks.com>,
Nikolay Aleksandrov <nikolay@...ulusnetworks.com>
Subject: [PATCH iproute2 v2 0/6] bridge vlan output fixes
More fixes for `bridge vlan` and `bridge vlan tunnelshow` normal and JSON
mode output.
Some column titles are changed, empty lines removed from the output,
interfaces with no vlans or tunnels are removed, columns are aligned.
Changes v2:
* dropped patch 1, "bridge: Use the same flag names in input and output"
Sample outputs with this config:
ip link add br0 type bridge
ip link add vx0 type vxlan dstport 4789 external
ip link set dev vx0 master br0
bridge vlan del vid 1 dev vx0
ip link add vx1 type vxlan dstport 4790 external
ip link set dev vx1 master br0
ip link add vx2 type vxlan dstport 4791 external
ip link set dev vx2 master br0
ip link set dev vx2 type bridge_slave vlan_tunnel on
bridge vlan add dev vx2 vid 2
bridge vlan add dev vx2 vid 2 tunnel_info id 2
bridge vlan add dev vx2 vid 1010-1020
bridge vlan add dev vx2 vid 1010-1020 tunnel_info id 1010-1020
bridge vlan add dev vx2 vid 1030
bridge vlan add dev vx2 vid 1030 tunnel_info id 65556
ip link add vx-longname type vxlan dstport 4792 external
ip link set dev vx-longname master br0
ip link set dev vx-longname type bridge_slave vlan_tunnel on
bridge vlan add dev vx-longname vid 2
bridge vlan add dev vx-longname vid 2 tunnel_info id 2
Before & after:
root@...d:/src/iproute2# bridge -c vlan
port vlan ids
br0 1 PVID Egress Untagged
vx0 None
vx1 1 PVID Egress Untagged
vx2 1 PVID Egress Untagged
2
1010-1020
1030
vx-longname 1 PVID Egress Untagged
2
root@...d:/src/iproute2# ./bridge/bridge -c vlan
port vlan-id
br0 1 PVID Egress Untagged
vx1 1 PVID Egress Untagged
vx2 1 PVID Egress Untagged
2
1010-1020
1030
vx-longname 1 PVID Egress Untagged
2
root@...d:/src/iproute2#
===
root@...d:/src/iproute2# bridge vlan tunnelshow
port vlan ids tunnel id
br0
vx0 None
vx1
vx2 2 2
1010-1020 1010-1020
1030 65556
vx-longname 2 2
root@...d:/src/iproute2# ./bridge/bridge vlan tunnelshow
port vlan-id tunnel-id
vx2 2 2
1010-1020 1010-1020
1030 65556
vx-longname 2 2
root@...d:/src/iproute2#
===
root@...d:/src/iproute2# bridge -j -p vlan tunnelshow
[ {
"ifname": "br0",
"tunnels": [ ]
},{
"ifname": "vx1",
"tunnels": [ ]
},{
"ifname": "vx2",
"tunnels": [ {
"vlan": 2,
"tunid": 2
},{
"vlan": 1010,
"vlanEnd": 1020,
"tunid": 1010,
"tunidEnd": 1020
},{
"vlan": 1030,
"tunid": 65556
} ]
},{
"ifname": "vx-longname",
"tunnels": [ {
"vlan": 2,
"tunid": 2
} ]
} ]
root@...d:/src/iproute2# ./bridge/bridge -j -p vlan tunnelshow
[ {
"ifname": "vx2",
"tunnels": [ {
"vlan": 2,
"tunid": 2
},{
"vlan": 1010,
"vlanEnd": 1020,
"tunid": 1010,
"tunidEnd": 1020
},{
"vlan": 1030,
"tunid": 65556
} ]
},{
"ifname": "vx-longname",
"tunnels": [ {
"vlan": 2,
"tunid": 2
} ]
} ]
root@...d:/src/iproute2#
Benjamin Poirier (6):
bridge: Use consistent column names in vlan output
bridge: Fix typo
bridge: Fix output with empty vlan lists
json_print: Return number of characters printed
bridge: Align output columns
Replace open-coded instances of print_nl()
bridge/vlan.c | 111 +++++++++++++++--------
include/json_print.h | 24 +++--
lib/json_print.c | 95 +++++++++++--------
tc/m_action.c | 14 +--
tc/m_connmark.c | 4 +-
tc/m_ctinfo.c | 4 +-
tc/m_ife.c | 4 +-
tc/m_mpls.c | 2 +-
tc/m_nat.c | 4 +-
tc/m_sample.c | 4 +-
tc/m_skbedit.c | 4 +-
tc/m_tunnel_key.c | 16 ++--
tc/q_taprio.c | 8 +-
tc/tc_util.c | 4 +-
testsuite/tests/bridge/vlan/show.t | 30 ++++++
testsuite/tests/bridge/vlan/tunnelshow.t | 2 +-
16 files changed, 210 insertions(+), 120 deletions(-)
create mode 100755 testsuite/tests/bridge/vlan/show.t
--
2.26.0
Powered by blists - more mailing lists