diff options
author | Emanuele Di Pascale <emanuele@voltanet.io> | 2018-11-14 15:20:38 +0100 |
---|---|---|
committer | Emanuele Di Pascale <emanuele@voltanet.io> | 2018-12-18 15:24:46 +0100 |
commit | 3380c990a3febdb976d95fcf3b7d7420c75f8c4b (patch) | |
tree | af57a2c241ba4f5deb62b035d1a11461b1885ba7 /isisd/isis_tlvs.h | |
parent | isisd: implement 'max-area-addresses-mismatch' notification (diff) | |
download | frr-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.h | 11 |
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; |