Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ioctl将多个ipv6地址添加到单个接口_C_Linux_Ipv6 - Fatal编程技术网

使用ioctl将多个ipv6地址添加到单个接口

使用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

我正在尝试将我的应用程序移植到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地址执行同样的操作。我试过这个。但示例代码将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套接字呢?