void aspa_table_free(struct aspa_table *aspa_table, bool notify)
Frees the memory associated with the aspa_table.
aspa_status
Possible return values for aspa_* functions.
Definition aspa.h:93
aspa_verification_result
AS_PATH verification result.
Definition aspa.h:141
void(* aspa_update_fp)(struct aspa_table *aspa_table, const struct aspa_record record, const struct rtr_socket *rtr_socket, const enum aspa_operation_type operation_type)
A function pointer that is called if an record was added to the aspa_table or was removed from the as...
Definition aspa.h:69
void aspa_table_init(struct aspa_table *aspa_table, aspa_update_fp update_fp)
Initializes the aspa_table struct.
size_t aspa_collapse_as_path(uint32_t as_path[], size_t len)
Collapses an AS_PATH in-place, replacing in-series repetitions with single occurences.
enum aspa_verification_result aspa_verify_as_path(struct aspa_table *aspa_table, uint32_t as_path[], size_t len, enum aspa_direction direction)
Verifies an AS_PATH .
aspa_direction
Definition aspa.h:136
enum aspa_status aspa_table_src_remove(struct aspa_table *aspa_table, struct rtr_socket *rtr_socket, bool notify)
Removes all records in the aspa_table that originated from the socket.
@ ASPA_RECORD_NOT_FOUND
aspa_record wasn't found in the aspa_table.
Definition aspa.h:104
@ ASPA_SUCCESS
Operation was successful.
Definition aspa.h:95
@ ASPA_DUPLICATE_RECORD
The supplied aspa_record already exists in the aspa_table.
Definition aspa.h:101
@ ASPA_ERROR
Error occurred.
Definition aspa.h:98
@ ASPA_AS_PATH_INVALID
Definition aspa.h:143
@ ASPA_AS_PATH_VALID
Definition aspa.h:144
@ ASPA_AS_PATH_UNKNOWN
Definition aspa.h:142
@ ASPA_DOWNSTREAM
Definition aspa.h:136
@ ASPA_UPSTREAM
Definition aspa.h:136
uint32_t len
Definition rtr_pdus.h:4
struct pdu_reset_query __attribute__
ASPA Record Customer (Customer Autonomous Systen, CAS) authorizes a set of provider AS numbers.
Definition aspa.h:39
size_t provider_count
Definition aspa.h:41
uint32_t * provider_asns
Definition aspa.h:42
uint32_t customer_asn
Definition aspa.h:40
A linked list storing the bond between a rtr_socket and an aspa_array .
Definition aspa_private.h:122
ASPA Table.
Definition aspa.h:83
pthread_rwlock_t update_lock
Definition aspa.h:85
aspa_update_fp update_fp
Definition aspa.h:86
pthread_rwlock_t lock
Definition aspa.h:84
struct aspa_store_node * store
Definition aspa.h:87
A RTR socket.
Definition rtr.h:117