Bug 1042799 - Inconsistent detailed link information between "ip link" and "ip monitor link"
Summary: Inconsistent detailed link information between "ip link" and "ip monitor link"
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: iproute
Version: 6.5
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: rc
: ---
Assignee: Phil Sutter
QA Contact: Jaroslav Aster
URL:
Whiteboard:
Depends On:
Blocks: 1172231 1275424
TreeView+ depends on / blocked
 
Reported: 2013-12-13 12:17 UTC by Antoni Segura Puimedon
Modified: 2016-05-11 00:18 UTC (History)
8 users (show)

Fixed In Version: iproute-2.6.32-46.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 1042802 1042804 (view as bug list)
Environment:
Last Closed: 2016-05-11 00:18:29 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 1042802 0 unspecified CLOSED backport: ip -d monitor link is not as verbose as ip -d link 2021-02-22 00:41:40 UTC
Red Hat Bugzilla 1042804 0 unspecified CLOSED Inconsistent detailed link information between "ip link" and "ip monitor link" 2021-02-22 00:41:40 UTC
Red Hat Product Errata RHBA-2016:0895 0 normal SHIPPED_LIVE iproute bug fix and enhancement update 2016-05-10 22:50:11 UTC

Internal Links: 1042802 1042804

Description Antoni Segura Puimedon 2013-12-13 12:17:57 UTC
Description of problem:
In the output of "ip -d -o link show" and "ip -d -o monitor link" vlan and
macvlan devices are reported with the following form:
"device name" + "@" + "device name of the underlying device".

Since it is perfectly legal for another device to include symbols in their
names, e.g., "@", it is perfectly possible to have a dummy device called:
p1p3.13@p1p3

and a vlan device called p1p3.13 that is being reported as
p1p3.13@p1p3

In the output of "ip -d -o link show" this is disambiguable thanks to the fact
that dummies, vlans and macvlans have their type shown in the final segment:

    21: p1p3.13@p1p3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state LOWERLAYERDOWN \    link/ether 00:10:18:e1:6c:f4 brd ff:ff:ff:ff:ff:ff\    vlan id 13 <REORDER_HDR>
    23: p1p3.13@p1p3: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN \    link/ether 82:17:ed:f9:e8:f3 brd ff:ff:ff:ff:ff:ff\    dummy 

However, the output of "ip -d -o monitor link" doesn't include the type
information for any device (not even for just vlanned and dummy types like
"ip -d -o link show" does). E.g.:
    23: p1p3.13@p1p3: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN \    link/ether c2:01:5c:db:bd:39 brd ff:ff:ff:ff:ff:ff
    21: p1p3.13@p1p3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state LOWERLAYERDOWN \    link/ether 00:10:18:e1:6c:f4 brd ff:ff:ff:ff:ff:ff

Without a priori knowledge (having executed before a detailed link show and
keeping a database by interface index) there is no way to tell that the former
is a dummy and the latter is the vlan.

Version-Release number of selected component (if applicable): all


How reproducible: 100%


Steps to Reproduce:
1. start the monitor "ip -d -o monitor link"
2. Create vlan 13 over a nic (for example named p1p3)
3. Create a dummy called "p1p3.13@p1p3"
4. Check the detailed link monitor output

Actual results:
    23: p1p3.13@p1p3: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN \    link/ether c2:01:5c:db:bd:39 brd ff:ff:ff:ff:ff:ff
    21: p1p3.13@p1p3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state LOWERLAYERDOWN \    link/ether 00:10:18:e1:6c:f4 brd ff:ff:ff:ff:ff:ff


Expected results:
    23: p1p3.13@p1p3: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN \    link/ether c2:01:5c:db:bd:39 brd ff:ff:ff:ff:ff:ff\    dummy 
    21: p1p3.13@p1p3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state LOWERLAYERDOWN \    link/ether 00:10:18:e1:6c:f4 brd ff:ff:ff:ff:ff:ff\    vlan id 13 <REORDER_HDR>

Comment 2 Pavel Šimerda (pavlix) 2014-09-11 09:47:55 UTC
(In reply to Antoni Segura Puimedon from comment #0)
> Steps to Reproduce:
> 1. start the monitor "ip -d -o monitor link"
> 2. Create vlan 13 over a nic (for example named p1p3)
> 3. Create a dummy called "p1p3.13@p1p3"
> 4. Check the detailed link monitor output

0. on separate terminal: ip -d -o monitor link
1. ip link add name d type dummy
2. ip link add name v link d type vlan id 1
3. ip link add name v@d type dummy

Comment 12 errata-xmlrpc 2016-05-11 00:18:29 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2016-0895.html


Note You need to log in before you can comment on or make changes to this bug.