Dear Maintainers,

I am new to the reporting process for iproute2 thus please bear with me.

I am playing around with ERSPAN version 2 and noticed a valueless key on the
JSON output for iproute2. When creating an ERSPAN interface using the following
command:

$ ip link add dev myerspan type erspan seq key 30 local 192.168.1.4 \
  remote 192.168.1.1 erspan_ver 2 erspan_dir ingres
   
The interface is created - as expected - and also the information can be read
back in "human readable" format by:


$ ip -d link show myerspan
211: myerspan@NONE: <BROADCAST,MULTICAST> mtu 1460 qdisc noop state DOWN mode 
DEFAULT
    group default qlen 1000
    link/ether b6:e5:28:78:fa:54 brd ff:ff:ff:ff:ff:ff promiscuity 0 minmtu 68 
maxmtu 0
    erspan remote 192.168.1.1 local 192.168.1.4 ttl inherit ikey 0.0.0.30 okey
        0.0.0.30 iseq oseq erspan_ver 2 erspan_dir ingress erspan_hwid 0 
addrgenmode
        none numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535


This proper lists the key/value pair of "erspan_dir ingress".

When now switching to JSON output mode, the "erspan_dir" key won't have a
value. Output has been stripped to only contain the relevant keys in this 
structure:

$ ip -d -j link show myerspan
[{... "erspan_ver":2,"erspan_dir":"erspan_hwid":"0" ... }]

Both erspan_ver and erspan_hwid are populated with the proper values, but 
erspan_dir is a valueless key which will break most JSON parses (e.g. the one
from Python)

I have tested this with the following iproute2 versions:

iproute2-5.11.0
iproute2-5.9.0

If you can point me to the location which could be responsible for this issue,
I am happy to submit a fix to the net tree.

Thanks in advance,
Christian Poessinger

Reply via email to