Difference between revisions of "IP Linux command line"

[quality revision] [quality revision]
m
 


Template:ArticleMainWriter

Template:ArticleApprovedVersion


1 Article purpose[edit]

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

2 Introduction[edit]

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™
Only supported for STM32MP15x lines More info.png
Warning white.png Warning
The STM32MPU distribution for Android™ is not available in the v4 ecosystem releases: refer to the IP Linux command line page for the v2 ecosystem releases (in archived wiki).
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
Under construction.png Coming soon

3 Installing the trace and debug tool on your target board[edit]

3.1 Using the STM32MPU Embedded Software distribution[edit]

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

 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™[edit]

Under construction.png Coming soon

4 Getting started[edit]

  • To check network interfaces
 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 10192.99168.1.237/22 brd 10192.99168.3.255 scope global dynamic eth0
       valid_lft 172057sec preferred_lft 172057sec
    inet 10192.99168.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
 ip addr add 192.168.1.53 dev eth0
  • To remove an IP adress
 ip addr del 192.168.1.53 dev eth0
  • To enable an interface
 ip link set eth0 up
  • To disable an interface
 ip link set eth0 down
  • To check a route table
 ip route show
default via 10192.99168.3.254 dev eth0 proto dhcp src 10192.99168.1.237 metric 1024 
10192.99168.0.0/22 dev eth0 proto kernel scope link src 10192.99168.1.237 
10192.99168.3.254 dev eth0 proto dhcp scope link src 10192.99168.1.237 metric 1024 
  • To add a static route
 ip route add 10192.99168.02.0/16 via 192.168.1.1 dev eth0
  • To remove a static route
 ip route del 10192.99168.02.0/16
  • To set the default gateway
 ip route add default via 192.168.1.1

5 To go further[edit]

Some usage examples are available for reference[2].

6 References[edit]


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

{{ArticleBasedOnModel | [[Trace and debug tools article model]]}}
{{ArticleMainWriter | Jean-PhilippeR}}

{{ ArticleApprovedVersion | Jean-PhilippeR | Jean-ChristopheT, AlexandreT | No previous approved version  | PhilipS - 22Nov'18 - 9716 | 23Nov'18 }}

[[Category:Linux monitoring tools]]</noinclude>


== Article purpose ==
This article provides the basic information needed to start using the Linux kernel tool: '''ip''' <ref name=ipmanpage/>.

== Introduction ==
{{:Trace_and_debug_tools_assignment_table_template}}<onlyinclude>

 | [[IP Linux command line|ip]]
 | [[:Category:Monitoring tools|Monitoring tools]]
 | style="text-align:left;" | '''ip'''<ref name=ipmanpage>https://linux.die.net/man/8/ip</ref> shows / manipulates routing, devices, policy routing and tunnels of network interfaces.<br>

{{highlight|'''ip''' replaces the deprecated command [[Ifconfig|ifconfig]]}}
 || {{Y}} || {{Y}} || {{Y}}
 | colspan="3" | {{UnderConstruction}}
 |-</onlyinclude>

 |}

== Installing the trace and debug tool on your target board ==
=== 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         \
    {{green|'''iproute2'''}}        \
    "

=== Using the STM32MPU Embedded Software distribution for Android&trade; ===
{{UnderConstruction}}

== Getting started ==
* 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 10.99192.168.1.237/22 brd 10.99192.168.3.255 scope global dynamic eth0
        valid_lft 172057sec preferred_lft 172057sec
     inet 10.99192.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 10.99192.168.3.254 dev eth0 proto dhcp src 10.99192.168.1.237 metric 1024 10.99192.168.0.0/22 dev eth0 proto kernel scope link src 10.99192.168.1.237 10.99192.168.3.254 dev eth0 proto dhcp scope link src 10.99192.168.1.237 metric 1024 

* To add a static route
 {{Board$}} ip route add 10.99.0192.168.2.0/16 via 192.168.1.1 dev eth0

* To remove a static route
 {{Board$}} ip route del 10.99.0192.168.2.0/16

* To set the default gateway
 {{Board$}} ip route add default via 192.168.1.1

== To go further ==
Some usage examples are available for reference<ref>https://www.linuxtechi.com/ip-command-examples-for-linux-users/</ref>.

== References ==<references />


* Useful external links
{|
! scope=col | Document link
! scope=col | Document Type
! scope=col | Description
|-
| [http://www.tecmint.com/ip-command-examples IP Command example]
| Standard
| Documentation from tecmint
|-
| [https://tty1.net/blog/2010/ifconfig-ip-comparison_en.html '''ifconfig''' vs '''ip''']
| Standard
| Documentation
|}
Line 52: Line 52:
 
  3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
 
  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
 
     link/ether 00:80:e1:42:43:65 brd ff:ff:ff:ff:ff:ff
     inet 10.99.1.237/22 brd 10.99.3.255 scope global dynamic eth0
+
     inet 192.168.1.237/22 brd 192.168.3.255 scope global dynamic eth0
 
         valid_lft 172057sec preferred_lft 172057sec
 
         valid_lft 172057sec preferred_lft 172057sec
     inet 10.99.0.4/32 scope global eth0
+
     inet 192.168.0.4/32 scope global eth0
 
         valid_lft forever preferred_lft forever
 
         valid_lft forever preferred_lft forever
 
     inet6 fe80::280:e1ff:fe42:4365/64 scope link  
 
     inet6 fe80::280:e1ff:fe42:4365/64 scope link  
Line 75: Line 75:
 
* To check a route table
 
* To check a route table
 
  {{Board$}} ip route show
 
  {{Board$}} ip route show
  default via 10.99.3.254 dev eth0 proto dhcp src 10.99.1.237 metric 1024  
+
  default via 192.168.3.254 dev eth0 proto dhcp src 192.168.1.237 metric 1024  
  10.99.0.0/22 dev eth0 proto kernel scope link src 10.99.1.237  
+
  192.168.0.0/22 dev eth0 proto kernel scope link src 192.168.1.237  
  10.99.3.254 dev eth0 proto dhcp scope link src 10.99.1.237 metric 1024  
+
  192.168.3.254 dev eth0 proto dhcp scope link src 192.168.1.237 metric 1024  
   
 
* To add a static route
 
* To add a static route
  {{Board$}} ip route add 10.99.0.0/16 via 192.168.1.1 dev eth0
+
  {{Board$}} ip route add 192.168.2.0/16 via 192.168.1.1 dev eth0
   
 
* To remove a static route
 
* To remove a static route
  {{Board$}} ip route del 10.99.0.0/16
+
  {{Board$}} ip route del 192.168.2.0/16
   
 
* To set the default gateway
 
* To set the default gateway