The ip command provides a lot of information on network interfaces. Do you understand what it's telling you? Credit: Fernando Kokubun The ip command has a lot to tell you about the configuration and state of your network connections, but what do all those words and numbers mean? Let’s take a deep dive in and see what all the displayed values are trying to tell you. When you use the ip a (or ip addr) command to get information on all the network interfaces on your system, you’re going to see something like this: $ ip a 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s25: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:1e:4f:c8:43:fc brd ff:ff:ff:ff:ff:ff inet 192.168.0.24/24 brd 192.168.0.255 scope global dynamic enp0s25 valid_lft 57295sec preferred_lft 57295sec inet6 fe80::2c8e:1de0:a862:14fd/64 scope link valid_lft forever preferred_lft forever The two interfaces on this system — the loopback (lo) and network (enp0s25) — are displayed along with a lot of stats. The “lo” interface is clearly the loopback. We can see the loopback IPv4 address (127.0.0.1) and the loopback IPv6 (::1) in the listing. The normal network interface is more interesting. Why enp0s25 and not eth0 If you’re wondering why it’s called enp0s25 on this system instead of the likely more familiar eth0, a little explanation is in order. The new naming scheme is referred to as the “Predictable Network Interface” naming. It’s been used on systemd-based Linux systems for some time. The interface name depends on the physical location of the hardware. The “en” simply means “ethernet” just like “eth” does for eth0. The “p” is the bus number of the ethernet card and the “s” is the slot number. So “enp0s25” tells us a lot about the hardware we’re working with. The string of settings tell us that … BROADCAST the interface supports broadcasting MULTICAST the interface supports multicasting UP the network interface is enabled LOWER_UP the network cable is plugged in and device connected to network mtu 1500 the maximum transfer unit (packet size) is 1,500 bytes The other values listed also tell us a lot about the interface, but we need to know what words like “brd” and “qlen” represent. So, here’s a translation of the rest of the ip a shown above. mtu 1500 maximum transfer unit (packet size) qdisc pfifo_fast used for packet queueing state UP network interface is up group default interface group qlen 1000 transmission queue length link/ether 00:1e:4f:c8:43:fc MAC(hardware) address of the interface brd ff:ff:ff:ff:ff:ff broadcast address inet 192.168.0.24/24 IPv4 address brd 192.168.0.255 broadcast address scope global valid everywhere dynamic enp0s25 address is dynamically assigned valid_lft 80866sec valid lifetime for IPv4 address preferred_lft 80866sec preferred lifetime for IPv4 address inet6 fe80::2c8e:1de0:a862:14fd/64 IPv6 address scope link valid only on this device valid_lft forever valid lifetime for IPv6 address preferred_lft forever preferred lifetime for IPv6 address You might have noticed that some of the information that the ifconfig command provides is not included in the ip a output — such as the stats on transmitted packets. If you want to see a list of the number of packets transmitted and received along with collisions, you can use this ip command: $ ip -s link show enp0s25 2: enp0s25: mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether 00:1e:4f:c8:43:fc brd ff:ff:ff:ff:ff:ff RX: bytes packets errors dropped overrun mcast 224258568 418718 0 0 0 84376 TX: bytes packets errors dropped carrier collsns 6131373 78152 0 0 0 0 Another ip command provides information on a system’s routing table. $ ip route show default via 192.168.0.1 dev enp0s25 proto static metric 100 169.254.0.0/16 dev enp0s25 scope link metric 1000 192.168.0.0/24 dev enp0s25 proto kernel scope link src 192.168.0.24 metric 100 The ip command is extremely versatile. You can get a helpful cheat sheet on the ip command and its options from Red Hat. Related content how-to How to examine files on Linux Linux provides very useful options for viewing file attributes, such as owners and permissions, as well as file content. By Sandra Henry Stocker Oct 24, 2024 6 mins Linux how-to 8 easy ways to reuse commands on Linux Typing the same command again and again can become tiresome. Here are a number of ways you can make repeating commands – or repeating commands but with some changes – a lot easier than you might expect. By Sandra Henry-Stocker Oct 15, 2024 5 mins Linux news SUSE Edge upgrade targets Kubernetes and Linux at the edge SUSE Edge 3.1 includes a new stack validation framework and an image builder tool that are aimed at improving the scalability and manageability of complex Kubernetes and Linux edge-computing deployments. By Sean Michael Kerner Oct 15, 2024 6 mins Edge Computing Linux Network Management Software how-to Lesser-known xargs command is a versatile time saver Boost your Linux command line options and simplify your work with xargs, a handy tool for a number of data manipulation tasks. By Sandra Henry Stocker Oct 11, 2024 6 mins Linux PODCASTS VIDEOS RESOURCES EVENTS NEWSLETTERS Newsletter Promo Module Test Description for newsletter promo module. Please enter a valid email address Subscribe