RTNETLINK is Linux's socket interface for manipulating the network subsystem. When you see "No such process" from RTNETLINK operations, it typically indicates the kernel couldn't find a required network component or encountered permission issues during route manipulation.
Missing Network Interface:
# Attempting to route through non-existent interface
ip route add 192.168.1.0/24 via 192.168.2.1 dev eth3
RTNETLINK answers: No such process
The kernel can't find eth3 in this case.
Incorrect Route Type: Using unsupported route types for your configuration:
# Trying to add multipath route without proper setup
ip route add default scope global nexthop via 10.0.0.1 dev eth0 nexthop via 10.0.0.2 dev eth1
RTNETLINK answers: No such process
Running commands without sufficient privileges or in wrong network namespace:
$ ip route add 10.0.0.0/24 via 192.168.1.1
RTNETLINK answers: No such process
# Try with sudo:
sudo ip route add 10.0.0.0/24 via 192.168.1.1
Missing required kernel modules can trigger this error. Verify module availability:
lsmod | grep ipv6
modprobe ipv6
- Verify interface existence:
ip link show
- Check route table:
ip route show
- Test with simpler routes first
- Examine kernel logs:
dmesg | tail
- Try equivalent
route
command for comparison
When working with network namespaces, ensure proper context:
ip netns exec ns1 ip route add 10.0.1.0/24 dev veth1
Failure to execute in the correct namespace yields "No such process".
When working with Linux network configuration, you might encounter the cryptic error message RTNETLINK answers: No such process
while trying to add routes. This typically occurs when the kernel's networking subsystem rejects your routing configuration attempt.
RTNETLINK is Linux's mechanism for network configuration communication between userspace and kernel. The "No such process" error (ENOENT) suggests the kernel couldn't find a required network resource to complete your routing request.
Missing Network Interface: The most frequent cause is specifying a non-existent interface in your route command.
# This fails if eth3 doesn't exist
ip route add 192.168.1.0/24 via 10.0.0.1 dev eth3
Invalid Gateway Address: The gateway must be reachable through an existing interface.
# Fails if no interface can reach 172.16.99.99
ip route add 10.1.1.0/24 via 172.16.99.99
1. Verify interface existence:
ip link show
2. Check existing routes to validate gateway reachability:
ip route show
In complex network namespaces, you might need to specify the namespace:
ip netns exec mynamespace ip route add 10.0.0.0/24 dev veth0
When working with VRFs:
ip route add 192.168.1.0/24 dev eth1 table 100
Always validate network components before route creation in scripts:
#!/bin/bash
INTERFACE="eth2"
if ! ip link show dev $INTERFACE > /dev/null 2>&1; then
echo "Interface $INTERFACE doesn't exist"
exit 1
fi
ip route add 10.2.2.0/24 dev $INTERFACE