RTRlib
Loading...
Searching...
No Matches
bgpsec_private.h File Reference

Go to the source code of this file.

Functions

int rtr_bgpsec_validate_as_path (const struct rtr_bgpsec *data, struct spki_table *table)
 Validation function for AS path validation.
 
int rtr_bgpsec_generate_signature (const struct rtr_bgpsec *data, uint8_t *private_key, struct rtr_signature_seg **new_signature)
 Signing function for a BGPsec_PATH.
 
int rtr_bgpsec_get_version (void)
 Returns the highest supported BGPsec version.
 
int rtr_bgpsec_has_algorithm_suite (uint8_t alg_suite)
 Check, if an algorithm suite is supported by RTRlib.
 
int rtr_bgpsec_get_algorithm_suites (const uint8_t **algs_arr)
 Returns a pointer to a list that holds all supported algorithm suites.
 
void rtr_bgpsec_free_signatures (struct rtr_signature_seg *seg)
 Free a signature and any signatures that are pointed to.
 
struct rtr_secure_path_segrtr_bgpsec_new_secure_path_seg (uint8_t pcount, uint8_t flags, uint32_t asn)
 Return an allocated and initialized Secure Path Segment.
 
void rtr_bgpsec_prepend_sec_path_seg (struct rtr_bgpsec *bgpsec, struct rtr_secure_path_seg *new_seg)
 Prepend a given Secure Path Segment to rtr_bgpsec::path.
 
struct rtr_signature_segrtr_bgpsec_new_signature_seg (uint8_t *ski, uint16_t sig_len, uint8_t *signature)
 Return an allocated and initialized Signature.
 
int rtr_bgpsec_prepend_sig_seg (struct rtr_bgpsec *bgpsec, struct rtr_signature_seg *new_seg)
 Prepend a given Signature Segment to rtr_bgpsec::sigs.
 
struct rtr_bgpsecrtr_bgpsec_new (uint8_t alg, uint8_t safi, uint16_t afi, uint32_t my_as, uint32_t target_as, struct rtr_bgpsec_nlri *nlri)
 Initializes and returns a pointer to a rtr_bgpsec struct.
 
struct rtr_bgpsec_nlrirtr_bgpsec_nlri_new (int nlri_len)
 Allocate memory for a rtr_bgpsec_nlri struct.
 
void rtr_bgpsec_nlri_free (struct rtr_bgpsec_nlri *nlri)
 Free a rtr_bgpsec_nlri struct.
 
void rtr_bgpsec_free (struct rtr_bgpsec *bgpsec)
 Free a rtr_bgpsec struct and any Secure Path and Signature Segments it holds.
 
void rtr_bgpsec_free_secure_path (struct rtr_secure_path_seg *seg)
 Free a Secure Path Segment and any segments that are pointed to by rtr_secure_path_seg::next.
 
struct rtr_signature_segrtr_bgpsec_pop_signature_seg (struct rtr_bgpsec *bgpsec)
 Pop off the first Signature Segment from a given rtr_bgpsec struct and return this Signature Segment.
 
struct rtr_secure_path_segrtr_bgpsec_pop_secure_path_seg (struct rtr_bgpsec *bgpsec)
 Pop off the first Secure Path Segment from a given rtr_bgpsec struct and return this Secure Path Segment.
 
int rtr_bgpsec_append_sig_seg (struct rtr_bgpsec *bgpsec, struct rtr_signature_seg *new_seg)
 Append a Signature Segment to the end of the rtr_bgpsec::sigs of a given rtr_bgpsec struct.
 
void rtr_bgpsec_append_sec_path_seg (struct rtr_bgpsec *bgpsec, struct rtr_secure_path_seg *new_seg)
 Append a Secure Path Segment to the end of the rtr_bgpsec::path of a given rtr_bgpsec struct.
 
void rtr_bgpsec_add_spki_record (struct spki_table *table, struct spki_record *record)
 Manually add a SPKI record into the SPKI table.