eu tenho uma pequena pergunta.
Considere que tenho um servidor DHCP0 (192.168.1.X) e um servidor DHCP1 (10.0.1.X).
Eu tenho uma placa rodando Linux com connman. Conecte minha placa no DHCP0, inicie minha placa. Connman inicia e define o endereço IP por DHCP para interface eth0: 192.168.1.2
Desconecte a placa do DHCP0 e conecte-a ao DHCP1.
Por que o endereço IP não é renovado em 10.0.1.X na eth0? Veja que tenho o mesmo comportamento no meu Ubuntu 18.04 sem connman. Suponho que seja um comportamento normal. Então, posso configurar o connman para renovar o endereço IP do DHCP em "link up"?
Para renovar o endereço IP, preciso
$ ifconfig eth0 down
$ ifconfig eth0 up
ou
$ systemctl restart connman
Obrigado pelo seu retorno
Silvana
Responder1
Esqueci de dizer que temos um switch em nossa placa. 2 portas habilitadas em GMAC0 para eth1 e 3 portas habilitadas em GMAC1 para eth0. Portanto, para eth1, podemos ver duas portas de switch sw0p0 e sw0p1. Quando eu desconecto o cabo, com o link do monitor ip vejo que é sw0p1 que está vinculado, e não eth1
Essa é uma omissão muito importante.
Sua eth0não éconectado diretamente ao servidor DHCP – é apenas uma "porta CPU" no switch GMAC1 interno. Mesmo que passe por um interruptor interno,aindapassa por um switch - e tem o mesmo efeito que o link "CPU↔switch" permanece ativo de forma completamente independente do link "switch↔DHCPserver".
Portanto, não há evento de "link up" na eth0 porque o link nunca cai!
É possível que o driver do switch interno suporte algum método para propagar o estado do link de uma porta externa para a porta interna... Alternativamente, se "sw0p1" aparecer como uma interface de rede real, então o espaço do usuário, comoifplugdpoderia ser usado para monitorar o estado do link e reiniciar o connman adequadamente.