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__ // ----------------------------------------------------------
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
//LinuxNetLink::getInstance().delRoute(leftt, _via, _src, (_via) ? (const char *)0 : _device);
LinuxNetLink::getInstance().addRoute(leftt, _via, _src, (_via) ? (const char *)0 : _device);
//_routeCmd("replace",leftt,_via,(_via) ? (const char *)0 : _device);
LinuxNetLink::getInstance().addRoute(leftt, _via, _src, devptr);
}
if ((rightt)&&(!_applied.count(rightt))) {
if ((rightt)&&(!LinuxNetLink::getInstance().routeIsSet(rightt,_via,_src,devptr))) {
_applied[rightt] = false; // boolean unused
//LinuxNetLink::getInstance().delRoute(rightt, _via, _src, (_via) ? (const char *)0 : _device);
LinuxNetLink::getInstance().addRoute(rightt, _via, _src, (_via) ? (const char *)0 : _device);
//_routeCmd("replace",rightt,_via,(_via) ? (const char *)0 : _device);
LinuxNetLink::getInstance().addRoute(rightt, _via, _src, devptr);
}
#endif // __LINUX__ ----------------------------------------------------------