diff options
author | Lou Berger <lberger@labn.net> | 2022-10-16 17:19:37 +0200 |
---|---|---|
committer | Lou Berger <lberger@labn.net> | 2022-10-21 17:27:58 +0200 |
commit | 2f30cb25747dc9657046c59ca1f378203192de26 (patch) | |
tree | e064c47134e510a7544f9990a92692e5e657fe4e /ospfd/ospf_api.h | |
parent | ospfd: ospf_apiserver.c - fix link local opaque LSA delete (diff) | |
download | frr-2f30cb25747dc9657046c59ca1f378203192de26.tar.xz frr-2f30cb25747dc9657046c59ca1f378203192de26.zip |
ospfd/ospfclient: add option to flush/withdrawal with zero length
default behavior is unchanged, i.e., to not zero
Signed-off-by: Lou Berger <lberger@labn.net>
Diffstat (limited to 'ospfd/ospf_api.h')
-rw-r--r-- | ospfd/ospf_api.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/ospfd/ospf_api.h b/ospfd/ospf_api.h index 589e650bb..6f569e962 100644 --- a/ospfd/ospf_api.h +++ b/ospfd/ospf_api.h @@ -185,11 +185,19 @@ struct msg_originate_request { struct lsa_header data; }; + +/* OSPF API MSG Delete Flag. */ +#define OSPF_API_DEL_ZERO_LEN_LSA 0x01 /* send withdrawal with no LSA data */ + +#define IS_DEL_ZERO_LEN_LSA(x) ((x)->flags & OSPF_API_DEL_ZERO_LEN_LSA) + struct msg_delete_request { - struct in_addr addr; /* intf IP for link local, area for type 10, "0.0.0.0" for AS-external */ + struct in_addr addr; /* intf IP for link local, area for type 10, + "0.0.0.0" for AS-external */ uint8_t lsa_type; uint8_t opaque_type; - uint8_t pad[2]; /* padding */ + uint8_t pad; /* padding */ + uint8_t flags; /* delete flags */ uint32_t opaque_id; }; @@ -313,7 +321,7 @@ extern struct msg *new_msg_originate_request(uint32_t seqnum, struct lsa_header *data); extern struct msg *new_msg_delete_request(uint32_t seqnum, struct in_addr addr, uint8_t lsa_type, uint8_t opaque_type, - uint32_t opaque_id); + uint32_t opaque_id, uint8_t flags); /* Messages sent by OSPF daemon */ extern struct msg *new_msg_reply(uint32_t seqnum, uint8_t rc); |