By the way, this is related: $ ip link add link eth0 eth0:123 type vlan id 123 $ ip link del link eth0 eth0:123 RTNETLINK answers: Operation not supported
vconfig rem eth0:123 using a different API, is OK. ip link del: bind(3, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0 getsockname(3, {sa_family=AF_NETLINK, pid=22135, groups=00000000}, [12]) = 0 sendto(3, " \0\0\0\20\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 32, 0, NULL, 0) = 32 recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"4\0\0\0\2\0\0\0\0\0\0\0wV\0\0\355\377\377\377 \0\0\0\20\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 8192}], msg_controllen=0, msg_flags=0}, 0) = 52 access("/proc/net", R_OK) = 0 access("/proc/net/unix", R_OK) = 0 socket(PF_LOCAL, SOCK_DGRAM|SOCK_CLOEXEC, 0) = 4 ioctl(4, SIOCGIFINDEX, {ifr_name="eth0:123", ifr_index=2}) = 0 close(4) = 0 sendmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{" \0\0\0\21\0\5\0\305\202\354S\0\0\0\0\0\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0", 32}], msg_controllen=0, msg_flags=0}, 0) = 32 recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"4\0\0\0\2\0\0\0\305\202\354SwV\0\0\241\377\377\377 \0\0\0\21\0\5\0\305\202\354S\0\0\0\0\0\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0", 16384}], msg_controllen=0, msg_flags=0}, 0) = 52 write(2, "RTNETLINK answers: Operation not supported\n", 43) = 43 exit_group(2) = ? vconfig rem: socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3 ioctl(3, SIOCSIFVLAN, 0x7fff67a00110) = 0 Cheers, Stephane On 23 July 2014 15:56, Randy Dunlap <rdun...@infradead.org> wrote: > > [adding netdev] > > On 07/23/2014 04:33 AM, Stephane Chazelas wrote: > > Hiya, > > > > you may want to forbid the creation of interfaces whose name is > > one of the special files in /proc/net and /proc/sys. > > > > I can see some characters (like space, tab, newline, slash, > > dot...) are alread forbidden in interface names (EINVAL), but > > one can do for instance: > > > > sudo ip link add link eth0 all type vlan id 2 > > sudo ip link add link eth0 default type vlan id 3 > > sudo ip link add link eth0 config type vlan id 4 > > > > Interestingly, after you add a "all" or "default", the > > corresponding /proc/sys/net/ipv[46]/conf/(all|default) become > > empty, and remain so even after you've removed the interface. > > > > Adding an interface called "config" masks /proc/net/vlan/config > > > > (tested with 3.14-1-amd64 on debian) > > > > > -- > ~Randy -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/