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 *);