gpt4 book ai didi

c - 使用 ioctl 将多个 ipv6 地址添加到单个接口(interface)

转载 作者:太空宇宙 更新时间:2023-11-04 11:18:32 26 4
gpt4 key购买 nike

我正在尝试将我的应用程序移植到 ipv6,我当前的代码会动态显示别名 IP 地址,如下所示:

eth0      Link encap:Ethernet  HWaddr 00:16:35:68:21:5B
inet addr:192.168.1.245 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::216:35ff:fe68:215b/64 Scope:Link
UP BROADCAST RUNNING MTU:1500 Metric:1
RX packets:278885750 errors:0 dropped:0 overruns:0 frame:0
TX packets:68117973 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:68976932662 (64.2 GiB) TX bytes:39384521280 (36.6 GiB)
Interrupt:169

eth0:1 Link encap:Ethernet HWaddr 00:16:35:68:21:5B
inet addr:192.168.1.246 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MTU:1500 Metric:1
Interrupt:169

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:6060179 errors:0 dropped:0 overruns:0 frame:0
TX packets:6060179 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2366257047 (2.2 GiB) TX bytes:2366257047 (2.2 GiB)

eth0:1 将由应用程序动态添加。它使用 ioctl 来执行此操作。我想对 IPV6 地址做同样的事情。我试过这个Assign ipv6 address using ioctl .但是示例代码将 IPV6 地址添加到现有接口(interface) eth0 而不是 eth0:1 或 eth0:2,即使我将接口(interface)名称指定为 eth0:1。任何人都可以帮忙,因为我是 IPV6 的新手。

最佳答案

这是正常行为。在 IPv4 中,每个接口(interface)只能有一个地址。要添加更多地址,您必须创建“假”接口(interface),如 eth0:1。 IPv6 每个接口(interface)始终有多个地址,因此像 eth0:1 这样的变通办法不用于 IPv6。

关于c - 使用 ioctl 将多个 ipv6 地址添加到单个接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19653526/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com