เรามีผลิตภัณฑ์อุปกรณ์ Linux แบบฝังซึ่งรองรับสวิตช์เครือข่ายในตัว อุปกรณ์มีพอร์ตอีเธอร์เน็ต 2 พอร์ต เมื่อใช้ "เดซี่เชน" อุปกรณ์ตั้งแต่ 2 เครื่องขึ้นไปสามารถเชื่อมต่อเข้าด้วยกันได้ อุปกรณ์ 2 สามารถมีเครือข่ายได้เนื่องจากเชื่อมต่อกับอุปกรณ์ 1 ซึ่งเชื่อมต่อกับเราเตอร์ 1
\ /
+---------+ +---------+
| เราเตอร์1 |--------| อุปกรณ์1 |
+---------+ +--| |
| +---------+
|
\ / | +---------+
+---------+ +--| อุปกรณ์2 |
| เราเตอร์2 | | |
+---------+ +---------+
เมื่อเราเปลี่ยนเราเตอร์เป็นอุปกรณ์อื่นสำหรับอุปกรณ์ 1 เราจะมีวิธีตรวจหาเหตุการณ์การถอดปลั๊ก/เสียบสายอีเทอร์เน็ตในอุปกรณ์ 1 เราทริกเกอร์การปล่อยที่อยู่ IP และต่ออายุ ด้วยวิธีนี้ Device1 จึงสามารถอัปเดตที่อยู่ IP ได้ อย่างไรก็ตาม สำหรับอุปกรณ์ 2 ไม่มีวิธีตรวจจับการสลับเราเตอร์ เครือข่ายย่อยสำหรับเราเตอร์ 1 คือ 10.0.0.x เครือข่ายย่อยสำหรับเราเตอร์ 2 คือ 192.168.0.x
เมื่อเรียกใช้ "ip monitor" ใน Device2 มีข้อความบางอย่าง:
อุปกรณ์ # 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 โพรบ
10.0.0.1 dev br0 ล้มเหลว
10.0.0.1 dev br0 ล้มเหลว
ฉันจะตรวจจับการสลับเราเตอร์ในกรณีนี้สำหรับอุปกรณ์ 2 ได้อย่างไร มีบางอย่างที่จะเปลี่ยนแปลงในโฟลเดอร์ "/sys/class/net/br0" หรือไม่
ขอบคุณ.