IP Linux command line

1 Article purpose

This article provides the basic information needed to start using the Linux kernel tool: ip [1].

2 Introduction

The following table provides a brief description of the tool, as well as its availability depending on the software packages:

Yes: this tool is either present (ready to use or to be activated), or can be integrated and activated on the software package.

No: this tool is not present and cannot be integrated, or it is present but cannot be activated on the software package.

Tool STM32MPU Embedded Software distribution STM32MPU Embedded Software distribution for Android™
Name Category Purpose Starter Package Developer Package Distribution Package Starter Package Developer Package Distribution Package
ip Monitoring tools ip[1] shows / manipulates routing, devices, policy routing and tunnels of network interfaces.

ip replaces the deprecated command ifconfig

Yes Yes Yes Yes Yes Yes

3 Installing the trace and debug tool on your target board

3.1 Using the STM32MPU Embedded Software distribution

ip is installed by default (/sbin/ip) and is ready to be used with all STM32MPU software packages.

Board $> which ip
/sbin/ip

It is integrated into the Weston image distribution by using the following meta-st package recipie to enable the iproute2 module: meta-st/meta-st-openstlinux/recipes-st/packagegroups/packagegroup-framework-tools.bb.

RDEPENDS_packagegroup-framework-tools-network-base = "\
   ethtool         \
   iproute2        \
   "

3.2 Using the STM32MPU Embedded Software distribution for Android™

ip is installed by default (/system/bin/ip) and is ready to be used with all STM32MPU software packages for Android™.

Board $> which ip
/system/bin/ip

It is integrated in Android image distribution through Android base makefile: build/make/target/product/core_minimal.mk:

# Base modules (will move elsewhere, previously user tagged)
PRODUCT_PACKAGES += \
    BackupRestoreConfirmation \
    CompanionDeviceManager \
   ...
   ims-common \
   ip \
   ip-up-vpn \
   ...

4 Getting started

Android logo.png Below information is related to the Android™ distribution
Need to enable root access rights for any changes
  • Using ADB shell is ADB link available:
PC $> adb root
PC $> adb shell
Board $> ...
  • Using uart console shell:
Board $> su
Board $> ...
  • To check network interfaces
Board $> ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> 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: can0: <NOARP,ECHO> mtu 16 qdisc noop state DOWN group default qlen 10
    link/can 
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:80:e1:42:43:65 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.237/22 brd 192.168.3.255 scope global dynamic eth0
       valid_lft 172057sec preferred_lft 172057sec
    inet 192.168.0.4/32 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::280:e1ff:fe42:4365/64 scope link 
       valid_lft forever preferred_lft forever
4: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/sit 0.0.0.0 brd 0.0.0.0
  • To assign an IP address to an interface
Board $> ip addr add 192.168.1.53 dev eth0
  • To remove an IP adress
Board $> ip addr del 192.168.1.53 dev eth0
  • To enable an interface
Board $> ip link set eth0 up
  • To disable an interface
Board $> ip link set eth0 down
  • To check a route table
Board $> ip route show
default via 192.168.3.254 dev eth0 proto dhcp src 192.168.1.237 metric 1024 
192.168.0.0/22 dev eth0 proto kernel scope link src 192.168.1.237 
192.168.3.254 dev eth0 proto dhcp scope link src 192.168.1.237 metric 1024 
  • To add a static route
Board $> ip route add 192.168.2.0/16 via 192.168.1.1 dev eth0
  • To remove a static route
Board $> ip route del 192.168.2.0/16
  • To set the default gateway
Board $> ip route add default via 192.168.1.1

5 To go further

Some usage examples are available for reference[2].

6 References


  • Useful external links
Document link Document Type Description
IP Command example Standard Documentation from tecmint
ifconfig vs ip Standard Documentation



Attachments

Discussions