Rework Linux route setting to actually consult netlink interface.

This commit is contained in:
Adam Ierymenko 2020-11-13 22:06:58 -05:00
parent a3875f9965
commit 5ea7ef6b65
No known key found for this signature in database
GPG key ID: C8877CF2D7A5D7F3

View file

@ -518,17 +518,14 @@ bool ManagedRoute::sync()
#ifdef __LINUX__ // ---------------------------------------------------------- #ifdef __LINUX__ // ----------------------------------------------------------
if (!_applied.count(leftt)) { const char *const devptr = (_via) ? (const char *)0 : _device;
if (!LinuxNetLink::getInstance().routeIsSet(leftt,_via,_src,devptr)) {
_applied[leftt] = false; // boolean unused _applied[leftt] = false; // boolean unused
//LinuxNetLink::getInstance().delRoute(leftt, _via, _src, (_via) ? (const char *)0 : _device); LinuxNetLink::getInstance().addRoute(leftt, _via, _src, devptr);
LinuxNetLink::getInstance().addRoute(leftt, _via, _src, (_via) ? (const char *)0 : _device);
//_routeCmd("replace",leftt,_via,(_via) ? (const char *)0 : _device);
} }
if ((rightt)&&(!_applied.count(rightt))) { if ((rightt)&&(!LinuxNetLink::getInstance().routeIsSet(rightt,_via,_src,devptr))) {
_applied[rightt] = false; // boolean unused _applied[rightt] = false; // boolean unused
//LinuxNetLink::getInstance().delRoute(rightt, _via, _src, (_via) ? (const char *)0 : _device); LinuxNetLink::getInstance().addRoute(rightt, _via, _src, devptr);
LinuxNetLink::getInstance().addRoute(rightt, _via, _src, (_via) ? (const char *)0 : _device);
//_routeCmd("replace",rightt,_via,(_via) ? (const char *)0 : _device);
} }
#endif // __LINUX__ ---------------------------------------------------------- #endif // __LINUX__ ----------------------------------------------------------