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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions