Print this page
Support route deletion entries in SVP_R_LOG_ACK.
        
*** 251,268 ****
--- 251,271 ----
  typedef void (*svp_shootdown_f)(svp_t *, const uint8_t *,
      const struct in6_addr *, const uint16_t uport);
  typedef void (*svp_route_lookup_f)(svp_t *, svp_status_t, uint32_t, uint32_t,
      uint16_t, uint8_t *, uint8_t *, uint16_t, uint8_t *, uint8_t, uint8_t,
      void *);
+ typedef void (*svp_route_shootdown_f)(svp_t *, uint8_t *, uint8_t *, uint8_t,
+     uint8_t, uint16_t);
  
  typedef struct svp_cb {
          svp_vl2_lookup_f        scb_vl2_lookup;
          svp_vl3_lookup_f        scb_vl3_lookup;
          svp_vl2_invalidation_f  scb_vl2_invalidate;
          svp_vl3_inject_f        scb_vl3_inject;
          svp_shootdown_f         scb_shootdown;
          svp_route_lookup_f      scb_route_lookup;
+         svp_route_shootdown_f   scb_route_shootdown;
  } svp_cb_t;
  
  /*
   * Core implementation structure.
   */
*** 354,368 ****
   * Shootdown related
   */
  extern void svp_remote_shootdown_vl3(svp_remote_t *, svp_log_vl3_t *,
      svp_sdlog_t *);
  extern void svp_remote_shootdown_vl2(svp_remote_t *, svp_log_vl2_t *);
  extern void svp_remote_log_request(svp_remote_t *, svp_query_t *, void *,
      size_t);
  extern void svp_remote_lrm_request(svp_remote_t *, svp_query_t *, void *,
      size_t);
! extern void svp_shootdown_logr_cb(svp_remote_t *, svp_status_t, void *, size_t);
  extern void svp_shootdown_lrm_cb(svp_remote_t *, svp_status_t);
  extern void svp_shootdown_vl3_cb(svp_status_t, svp_log_vl3_t *, svp_sdlog_t *);
  extern int svp_shootdown_init(svp_remote_t *);
  extern void svp_shootdown_fini(svp_remote_t *);
  extern void svp_shootdown_start(svp_remote_t *);
--- 357,373 ----
   * Shootdown related
   */
  extern void svp_remote_shootdown_vl3(svp_remote_t *, svp_log_vl3_t *,
      svp_sdlog_t *);
  extern void svp_remote_shootdown_vl2(svp_remote_t *, svp_log_vl2_t *);
+ extern void svp_remote_shootdown_route(svp_remote_t *, svp_log_route_t *);
  extern void svp_remote_log_request(svp_remote_t *, svp_query_t *, void *,
      size_t);
  extern void svp_remote_lrm_request(svp_remote_t *, svp_query_t *, void *,
      size_t);
! extern void svp_shootdown_logr_cb(svp_remote_t *, svp_status_t, void *, size_t,
!     uint16_t);
  extern void svp_shootdown_lrm_cb(svp_remote_t *, svp_status_t);
  extern void svp_shootdown_vl3_cb(svp_status_t, svp_log_vl3_t *, svp_sdlog_t *);
  extern int svp_shootdown_init(svp_remote_t *);
  extern void svp_shootdown_fini(svp_remote_t *);
  extern void svp_shootdown_start(svp_remote_t *);