summaryrefslogtreecommitdiffstats
path: root/isisd/isis_tlvs.h
diff options
context:
space:
mode:
authorEmanuele Di Pascale <emanuele@voltanet.io>2018-11-14 15:20:38 +0100
committerEmanuele Di Pascale <emanuele@voltanet.io>2018-12-18 15:24:46 +0100
commit3380c990a3febdb976d95fcf3b7d7420c75f8c4b (patch)
treeaf57a2c241ba4f5deb62b035d1a11461b1885ba7 /isisd/isis_tlvs.h
parentisisd: implement 'max-area-addresses-mismatch' notification (diff)
downloadfrr-3380c990a3febdb976d95fcf3b7d7420c75f8c4b.tar.xz
frr-3380c990a3febdb976d95fcf3b7d7420c75f8c4b.zip
isisd: implement the authentication failure notifications
the original isisd code did not distinguish between authentication_failure and authentication_type_failure, so additional code had to be added to differentiate between the two and to return the raw_pdu as requested by the IETF YANG model. Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
Diffstat (limited to 'isisd/isis_tlvs.h')
-rw-r--r--isisd/isis_tlvs.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/isisd/isis_tlvs.h b/isisd/isis_tlvs.h
index 4144809fa..fce30d4ee 100644
--- a/isisd/isis_tlvs.h
+++ b/isisd/isis_tlvs.h
@@ -196,6 +196,13 @@ struct isis_purge_originator {
uint8_t sender[6];
};
+enum isis_auth_result {
+ ISIS_AUTH_OK = 0,
+ ISIS_AUTH_TYPE_FAILURE,
+ ISIS_AUTH_FAILURE,
+ ISIS_AUTH_NO_VALIDATOR,
+};
+
RB_HEAD(isis_mt_item_list, isis_item_list);
struct isis_item_list *isis_get_mt_items(struct isis_mt_item_list *m,
@@ -337,8 +344,8 @@ void isis_tlvs_add_ipv4_addresses(struct isis_tlvs *tlvs,
struct list *addresses);
void isis_tlvs_add_ipv6_addresses(struct isis_tlvs *tlvs,
struct list *addresses);
-bool isis_tlvs_auth_is_valid(struct isis_tlvs *tlvs, struct isis_passwd *passwd,
- struct stream *stream, bool is_lsp);
+int isis_tlvs_auth_is_valid(struct isis_tlvs *tlvs, struct isis_passwd *passwd,
+ struct stream *stream, bool is_lsp);
bool isis_tlvs_area_addresses_match(struct isis_tlvs *tlvs,
struct list *addresses);
struct isis_adjacency;