使用ioctl将多个ipv6地址添加到单个接口
我正在尝试将我的应用程序移植到ipv6,我的当前代码会动态显示别名IP地址,如图所示:使用ioctl将多个ipv6地址添加到单个接口,c,linux,ipv6,C,Linux,Ipv6,我正在尝试将我的应用程序移植到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 B
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地址执行同样的操作。我试过这个。但示例代码将IPV6地址添加到现有接口eth0,而不是eth0:1或eth0:2,即使我将接口名称指定为eth0:1。谁能帮我一下吗,因为我是IPV6新手。这是正常行为。在IPv4中,每个接口只能有一个地址。要添加更多地址,您必须创建“假”接口,如
eth0:1
。IPv6每个接口始终有多个地址,因此类似eth0:1
的变通方法不用于IPv6。您好,如何在不停用整个接口的情况下仅从接口中删除该特定IP地址?目前我正在使用带有get和set标志的ioctl,这会破坏整个接口(这是不可取的)看看Hi,我还有一个疑问。我正在尝试将新添加到接口的IPV6全局地址绑定到IPV6 UDP套接字,但由于错误而失败:无法分配请求的地址。请帮忙!!请检查此链接>>。我想绑定到标记为红色的IPV6地址,但绑定引发错误。这些是IPV6表示法中的IPv4地址。为什么不使用IPv4套接字呢?