Revision bf47fe4b nest/rt-table.c

View differences:

nest/rt-table.c
199 199
  else
200 200
    p->stats.exp_withdraws_received++;
201 201

  
202
  /* This is a tricky part - we don't know whether route 'old' was
203
     exported to protocol 'p' or was filtered by the export filter.
204
     We try tu run the export filter to know this to have a correct
205
     value in 'old' argument of rt_update (and proper filter value)
206

  
207
     FIXME - this is broken because 'configure soft' may change
208
     filters but keep routes */
209

  
202 210
  if (old)
203 211
    {
204 212
      if (p->out_filter == FILTER_REJECT)
......
216 224
	}
217 225
    }
218 226

  
227
  /* FIXME - This is broken because of incorrect 'old' value (see above) */
219 228
  if (!new && !old)
220 229
    return;
221 230

  
......
1122 1131
	    ok = 0;
1123 1132
	  else if (!ic && d->export_mode > 1)
1124 1133
	    {
1134
	      /* FIXME - this shows what should be exported according
1135
		 to current filters, but not what was really exported.
1136
		 'configure soft' command may change the export filter
1137
		 and do not update routes */
1138

  
1125 1139
	      if (p1->out_filter == FILTER_REJECT ||
1126 1140
		  p1->out_filter && f_run(p1->out_filter, &e, &tmpa, rte_update_pool, FF_FORCE_TMPATTR) > F_ACCEPT)
1127 1141
		ok = 0;

Also available in: Unified diff