android - Android 实际上在哪里调用 "ip link"或 "ifconfig"来启动界面?

标签 android android-source ethernet android-10.0

我花了几个小时阅读 AOSP 源代码,试图找出当需要启动 eth0 时如何以及在何处调用“ip link”或“ifconfig”。

Android 10 是否使用“ip link”或“ifconfig”来设置地址并启动 eth0?

或者它是否以其他方式操纵网络接口(interface)?

最佳答案

既然您提到了eth0,我假设您对以太网接口(interface)感兴趣。每种传输类型都有自己的 IP 配置管理方式。对于以太网接口(interface),您可以在 EthernetNetworkFactory link 找到所属类。 。您有兴趣了解其工作原理的方法是 EthernetNetworkFactory#provisionIpClient link .

最终,如果您遵循代码,您将看到它最终到达 netdNetdNativeService#interfaceAddAddress link 。此时我们处于 native 层。

最终到达ifc_utils#ifc_act_on_address link 。这是 IP 地址最终添加到以太网接口(interface)的地方。完成所有这些侦探工作后,我们在此函数中看到打开了一个 socket 以发送 NETLINK_ROUTE 消息 link设置IP地址。

关于android - Android 实际上在哪里调用 "ip link"或 "ifconfig"来启动界面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67533929/

相关文章:

android - ConstraintLayout 和 RelativeLayout 的区别

java - Android以编程方式更改抽屉导航面板的宽度

android - 如何构建Android版本?

android - AOSP的libc++.so和NDK的libc++_shared.so一样吗?

android - 通过编程方式 (Android) 的以太网连接( Root设备)

c - STM32F103如何使用ENC28j60

android - 滚动没有显示全部内容

android - 如何使用 androidx.navigation 从 fragment 返回数据?

android - 提取供应商 blob 并制作设备树

Arduino 以太网屏蔽 client.connect() 总是返回错误