Eu tento renomear minhas interfaces de rede no meu sistema embarcado linux, a renomeação está funcionando bem, mas o meu GOTO não está funcionando e não consigo exercitar o porquê.
ACTION!="add", GOTO="net_name_slot_end"
SUBSYSTEM!="net", GOTO="net_name_slot_end"
NAME!="", GOTO="net_name_slot_end"
IMPORT{cmdline}="net.ifnames"
ENV{net.ifnames}=="0", GOTO="net_name_slot_end"
ENV{ID_NET_NAME_PATH}=="enp2s0", GOTO="net_name_slot_end"
# M-LogV3 reconfiguration
NAME=="", ENV{ID_NET_NAME_PATH}=="enp2s0", NAME="ETH1"
NAME=="", ENV{ID_NET_NAME_PATH}=="enp3s0", NAME="ETH2"
NAME=="", ENV{ID_NET_NAME_PATH}=="enp4s0", NAME="ETH3"
LABEL="net_name_slot_end"
Agora, o comportamento esperado: enp2s0 existe, portanto, essa regra não deve fazer nada
O que realmente acontece: enp2s0 é renomeado para ETH1, enp3s0 é renomeado e enp4s0 também
Por que a linha ENV {ID_NET_NAME_PATH} == "enp2s0", GOTO="net_name_slot_end" não aciona um salto até o final da regra?
Tags udev linux embedded-linux