diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2019-01-22 07:39:14 -0500 |
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2019-01-24 08:02:39 -0500 |
| commit | 1485bbe75554e5d01bcd8203fe75662c04f460f2 (patch) | |
| tree | d4c8353576fe7f7ece5f6c89cd0c2353075e4cc7 /zebra/zebra_router.h | |
| parent | a28436ca476f4a862ede8f36e7257741b404f876 (diff) | |
zebra: Add code to track sequence number from zebra_router
The sequence number used should be unique and increase by 1
for netlink commands. This will allow the code to match
up batched commands to actual requests, so that we can signal
the failure correctly back.
So start the movement and tracking of sequence numbers as
an atomic uint32_t in zebra_router. Modify the dataplane
code to start tracking contexts from this value.
In future commits we will move more of the sequencing
data into using this value.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'zebra/zebra_router.h')
| -rw-r--r-- | zebra/zebra_router.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/zebra/zebra_router.h b/zebra/zebra_router.h index 1e0788d1ba..f63dcd984e 100644 --- a/zebra/zebra_router.h +++ b/zebra/zebra_router.h @@ -62,6 +62,9 @@ struct zebra_router { #if defined(HAVE_RTADV) struct rtadv rtadv; #endif /* HAVE_RTADV */ + + /* A sequence number used for tracking routes */ + _Atomic uint32_t sequence_num; }; extern struct zebra_router zrouter; @@ -83,4 +86,6 @@ extern unsigned long zebra_router_score_proto(uint8_t proto, extern void zebra_router_sweep_route(void); extern void zebra_router_show_table_summary(struct vty *vty); + +extern uint32_t zebra_router_get_next_sequence(void); #endif |
