Connman - Renovar concessão de DHCP

Connman - Renovar concessão de DHCP

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.

informação relacionada