Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Meaning of network interface rmnet_ipa0

When I run adb shell, ifconfig on my android device, I get a list of network interfaces. While this answer covers most of the interface names, I am left wondering what rmnet_ipa0 might stand for.

lo usually stands for the loopback interface (localhost)

wlan usually stands for a wireless networking interface

rmnet interfaces are usually associated with cellular connections and usb tethering

sit interfaces are associated with tunneling IPv6 over IPv4

p2p interfaces are usually associated with peer-to-peer connections (perhaps your Android device's WiFi Direct support?)

dummy interfaces provide special aliases for the loopback interface

I believe that usb-thethering would usually be something like rmnet_usb0, and my phone's mobile data connection would probably be rmnet_data0, so what is that rmnet_ipa0?.

The whole output of ifconfig is

rmnet_ipa0 Link encap:UNSPEC
          UP RUNNING  MTU:2000  Metric:1
          RX packets:88626 errors:0 dropped:0 overruns:0 frame:0
          TX packets:64896 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:89068838 TX bytes:9380664

wlan0     Link encap:UNSPEC
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:1756445 errors:0 dropped:53160 overruns:0 frame:0
          TX packets:650187 errors:0 dropped:186 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:985553036 TX bytes:283899452

dummy0    Link encap:UNSPEC
          inet6 addr: fe80::b86e:42ff:fea4:48/64 Scope: Link
          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 TX bytes:210

rmnet_data0 Link encap:UNSPEC
          inet addr:10.149.211.81  Mask:255.255.255.252
          inet6 addr: fe80::6bca:2283:2c80:a22f/64 Scope: Link
          UP RUNNING  MTU:1500  Metric:1
          RX packets:88626 errors:0 dropped:0 overruns:0 frame:0
          TX packets:64896 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:88005326 TX bytes:9380664

lo        Link encap:UNSPEC
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope: Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:2694 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2694 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:166553 TX bytes:166553

It is still showing up as UP RUNNING when the phone is in Airplane Mode.

like image 235
lucidbrot Avatar asked Nov 25 '17 16:11

lucidbrot


People also ask

What is Network Interface Unit example?

A network interface unit (NIU) (sometimes called a network interface device) is a device that serves as a common interface for various other devices within a local area network (LAN), or as an interface to allow networked computers to connect to an outside network.

What is RmNet interface?

RmNet is a proprietary USB virtual Ethernet framework developed by Qualcomm for its mobile phone platforms. RmNet provides for improved throughput via the Thin Layer Protocol (TLP) and allows for Quality of Service flow control, which is necessary for a quality end-user experience in today's mobile network.

How do I find my network interface name Android?

Use this: String interfaceName = SystemInfo. getInstance(). getProperty("wifi. interface");

What is network interface in Android?

↳ java.net.NetworkInterface. This class represents a Network Interface made up of a name, and a list of IP addresses assigned to this interface. It is used to identify the local interface on which a multicast group is joined. Interfaces are normally known by names such as "le0".


2 Answers

rmnet_data0 is created for USB tethering and for cellular connection. Note that the IPA is an" IP Acceleration" feature from Qualcomm. SO when rmnet_ipa0 exists, it mean you are using a phone with Qualcomm's SoC, and this interface is created for IPA feature. This interface just like another tunnel for cellular data, but without bothering SoC, which reduces the effort of Soc.

rmnet_ipa0 will be there even when your phone is in airplane mode (because setting airplane mode just disconnect modem in the phone from the base-station, but the interface between modem and PC is still exist).

like image 146
Hexogen Avatar answered Oct 07 '22 14:10

Hexogen


To expand on previous answer... SoC stands for "System on Chip". More than just your device's CPU, it is your device. Save the peripherals (CMOS/camera sensor, display, speakers, mic, etc.), the SoC is literally the entire system on a board (usually not on a single silicon chip, although the CPU and GPU are often), it contains the GPU, CPU, IPC (image processor), WIFI modem, Cellular modem(s), CMOS, data processor for camera, and more, depending on device, like specialized VR processing units, GPU independent varying precision arithmetic units, AI acceleration units, etc.). Think of the SoC as an all in one motherboard on a PC- CPU, GPU, most peripheral (akin to PCI(e) cards) devices are pre-integrated into the chip in order to reduce size, improve electrical efficiency and ease mass production flow.

As for IPA, an IP accelerator would be a physical interface (a special processing unit) on the SoC, so it would not put less strain on the SoC per , but rather use a dedicated chip on the system board to handle IP traffic. So the load would not need be burdened by the CPU. This is similar to "hardware offload" on desktop/laptop modems (WiFi, ethernet, etc.) cards. Except in the latter case, the specialized processor for handling then would be a part of the modem card, not on the system.

Note that a net effect would be the SoC doing less work, as the IPA is more efficient at IP packet processing than the CPU unit, since it is specialized for the task.

like image 3
Dylan Bennett Avatar answered Oct 07 '22 12:10

Dylan Bennett