Removed the superfluous "rt_policy" setting. Fixed the secondary
[olsrd.git] / src / main.c
index 73f372c..b1fa968 100644 (file)
@@ -518,7 +518,7 @@ int main(int argc, char *argv[]) {
 
 #ifdef LINUX_NETLINK_ROUTING
   /* create policy routing priorities if necessary */
-  if (olsr_cnf->rt_policy && (olsr_cnf->smart_gw_active || olsr_cnf->use_niit)) {
+  if (olsr_cnf->smart_gw_active) {
     struct interface *ifn;
     if (olsr_cnf->rt_table_pri) {
       olsr_os_policy_rule(olsr_cnf->ip_version,
@@ -530,15 +530,13 @@ int main(int argc, char *argv[]) {
     }
     if (olsr_cnf->rt_table_default_pri) {
       olsr_os_policy_rule(olsr_cnf->ip_version,
-          olsr_cnf->rt_table_default ? olsr_cnf->rt_table_default : olsr_cnf->rt_table,
-          olsr_cnf->rt_table_default_pri, NULL, true);
+          olsr_cnf->rt_table_default, olsr_cnf->rt_table_default_pri, NULL, true);
     }
 
     /* OLSR sockets */
     if (olsr_cnf->rt_table_defaultolsr_pri) {
       for (ifn = ifnet; ifn; ifn = ifn->int_next) {
-        olsr_os_policy_rule(olsr_cnf->ip_version,
-            olsr_cnf->rt_table_default ? olsr_cnf->rt_table_default : olsr_cnf->rt_table,
+        olsr_os_policy_rule(olsr_cnf->ip_version, olsr_cnf->rt_table_default,
             olsr_cnf->rt_table_defaultolsr_pri, ifn->int_name, true);
       }
     }
@@ -732,9 +730,8 @@ static void olsr_shutdown(int signo __attribute__ ((unused)))
     close(ifn->send_socket);
 
 #ifdef LINUX_NETLINK_ROUTING
-    if (olsr_cnf->rt_policy && (olsr_cnf->smart_gw_active || olsr_cnf->use_niit) && olsr_cnf->rt_table_defaultolsr_pri) {
-      olsr_os_policy_rule(olsr_cnf->ip_version,
-          olsr_cnf->rt_table_default ? olsr_cnf->rt_table_default : olsr_cnf->rt_table,
+    if (olsr_cnf->smart_gw_active && olsr_cnf->rt_table_defaultolsr_pri) {
+      olsr_os_policy_rule(olsr_cnf->ip_version, olsr_cnf->rt_table_default,
           olsr_cnf->rt_table_defaultolsr_pri, ifn->int_name, false);
     }
 #endif
@@ -750,7 +747,7 @@ static void olsr_shutdown(int signo __attribute__ ((unused)))
   close(olsr_cnf->ioctl_s);
 
 #ifdef LINUX_NETLINK_ROUTING
-  if (olsr_cnf->rt_policy && (olsr_cnf->smart_gw_active || olsr_cnf->use_niit)) {
+  if (olsr_cnf->smart_gw_active) {
     if (olsr_cnf->rt_table_pri) {
       olsr_os_policy_rule(olsr_cnf->ip_version,
           olsr_cnf->rt_table, olsr_cnf->rt_table_pri, NULL, false);
@@ -761,8 +758,7 @@ static void olsr_shutdown(int signo __attribute__ ((unused)))
     }
     if (olsr_cnf->rt_table_default_pri) {
       olsr_os_policy_rule(olsr_cnf->ip_version,
-          olsr_cnf->rt_table_default ? olsr_cnf->rt_table_default : olsr_cnf->rt_table,
-          olsr_cnf->rt_table_default_pri, NULL, false);
+          olsr_cnf->rt_table_default, olsr_cnf->rt_table_default_pri, NULL, false);
     }
   }
   close(olsr_cnf->rtnl_s);