Avem un produs de dispozitiv Linux încorporat care acceptă comutatorul de rețea încorporat. Dispozitivul are 2 porturi ethernet. Folosind „daisy chain”, 2 sau mai multe dispozitive pot fi conectate împreună. Dispozitivul2 poate avea conexiune în rețea, deoarece este conectat la Dispozitivul1, care este conectat la router1.
\/
+---------+ +---------+
| Router1 |--------| Dispozitiv1 |
+---------+ +--| |
| +---------+
|
\ / | +---------+
+---------+ +--| Dispozitiv2 |
| Router2 | | |
+---------+ +---------+
Când comutăm routerul pe altul pentru Dispozitivul 1, avem o modalitate de a detecta evenimentul de deconectare/conectare a cablului Ethernet în Dispozitivul 1. Declanșăm eliberarea adresei IP și reînnoim. În acest fel, Device1 poate să-și actualizeze adresa IP. Pentru Device2, totuși, nu există nicio modalitate de a detecta comutarea routerului. Subrețeaua pentru router1 este 10.0.0.x. Subrețeaua pentru router2 este 192.168.0.x.
Prin rularea „ip monitor” în Device2, există câteva mesaje:
dispozitiv # monitor ip
10.0.0.1 dev br0 lladdr b2:9b:68:0a:33:21 STALE
10.0.0.1 dev br0 lladdr b2:9b:68:0a:33:21 PROBE
10.0.0.1 dev br0 EȘECT
10.0.0.1 dev br0 EȘECT
Cum pot detecta comutarea routerului în acest caz pentru Device2? S-ar schimba ceva în folderul „/sys/class/net/br0”?
Mulțumiri.