• Martin Mareš's avatar
    Minor rte/rta interface changes: · 04925e90
    Martin Mareš authored
      o  rte can now contain a pointer to both cached and uncached rta. Protocols
         which don't need their own attribute caching can now just fill-in a rta,
         link it to rte without any calls to attribute cache and call rte_update()
         which will replace rte->attrs by a cached copy.
    
      o  In order to support this, one of previously pad bytes in struct rta
         now holds new attribute flags (RTAF_CACHED). If you call rte_update()
         with uncached rta, you _must_ clear these flags. In other cases rta_lookup()
         sets it appropriately.
    
      o  Added rte_free() which is useful when you construct a rte and then the
         circumstances change and you decide not to use it for an update. (Needed
         for temporary rte's in kernel syncer...)
    04925e90