Skip to content

ip output omits Linux iproute2 fields and interface peer suffixes #514

Description

@matt-dz

What was run

ip --brief addr
ip route show
ip route get 1.1.1.1

Expected output

For supported ip invocations, rshell should match Linux iproute2 output closely enough for diagnostic use.

Oracle environment:

Image: pshim-kind-node:v1.32.0, built FROM kindest/node:v1.32.0
Linux flavor: Debian GNU/Linux 12 (bookworm), aarch64
Oracle shell: /usr/bin/bash --noprofile --norc <temp-script>
bash package: 5.2.15-2+b10
iproute2 package: 6.1.0-3
ip -V: ip utility, iproute2-6.1.0, libbpf 1.1.0

Representative oracle output included:

eth0@if5         UP             172.18.0.2/16 ...
10.244.0.2 dev veth132edf1f scope host
172.18.0.0/16 dev eth0 proto kernel scope link src 172.18.0.2
1.1.1.1 via 172.18.0.1 dev eth0 src 172.18.0.2 uid 0
    cache

Actual output

rshell omits several Linux iproute2 fields and normalizes interface names:

eth0             UP             172.18.0.2/16 ...
10.244.0.2 dev veth132edf1f
172.18.0.0/16 dev eth0
1.1.1.1 via 172.18.0.1 dev eth0

Why this matters

The missing fields are diagnostically useful:

  • eth0@if5 / veth...@if2 identifies peer-linked interfaces.
  • scope host, proto kernel, and scope link explain route origin and applicability.
  • src, uid, and cache from ip route get explain the chosen source address and lookup details.

These differences were found during rshell QA by comparing supported ip invocations against a Linux oracle.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Fields

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions