]> git.proxmox.com Git - mirror_frr.git/blame - tests/isisd/test_isis_lspdb.c
bgpd: Reflect the distance in RIB when it is changed for an arbitrary afi/safi
[mirror_frr.git] / tests / isisd / test_isis_lspdb.c
CommitLineData
9c0437ec
CF
1#include <zebra.h>
2
3#include "isisd/isis_lsp.c"
4
5struct thread_master *master;
6
7int isis_sock_init(struct isis_circuit *circuit);
8int isis_sock_init(struct isis_circuit *circuit)
9{
10 return 0;
11}
12
13struct zebra_privs_t isisd_privs;
14
15static void test_lsp_build_list_nonzero_ht(void)
16{
17 uint8_t lsp_id1[8] = {
18 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00
19 };
20 uint8_t lsp_id_end[8] = {
21 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5f, 0x00
22 };
23 uint8_t lsp_id2[8] = {
24 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00
25 };
26
27 struct isis_area *area = calloc(sizeof(*area), 1);
28
29 area->lsp_mtu = 1500;
30
4bef0ec4
DL
31 struct lspdb_head _lspdb, *lspdb = &_lspdb;
32 lsp_db_init(&_lspdb);
9c0437ec
CF
33
34 struct isis_lsp *lsp1 = lsp_new(area, lsp_id1, 6000, 0, 0, 0, NULL,
35 ISIS_LEVEL2);
36
4bef0ec4 37 lsp_insert(lspdb, lsp1);
9c0437ec
CF
38
39 struct isis_lsp *lsp2 = lsp_new(area, lsp_id2, 6000, 0, 0, 0, NULL,
40 ISIS_LEVEL2);
41
4bef0ec4 42 lsp_insert(lspdb, lsp2);
9c0437ec
CF
43
44 struct list *list = list_new();
45
4bef0ec4 46 lsp_build_list_nonzero_ht(lspdb, lsp_id1, lsp_id_end, list);
9c0437ec
CF
47 assert(list->count == 1);
48 assert(listgetdata(listhead(list)) == lsp1);
49 list_delete_all_node(list);
50
51 lsp_id_end[5] = 0x03;
52 lsp_id_end[6] = 0x00;
53
4bef0ec4 54 lsp_build_list_nonzero_ht(lspdb, lsp_id1, lsp_id_end, list);
9c0437ec
CF
55 assert(list->count == 2);
56 assert(listgetdata(listhead(list)) == lsp1);
57 assert(listgetdata(listtail(list)) == lsp2);
58 list_delete_all_node(list);
59
60 memcpy(lsp_id1, lsp_id2, sizeof(lsp_id1));
61
4bef0ec4 62 lsp_build_list_nonzero_ht(lspdb, lsp_id1, lsp_id_end, list);
9c0437ec
CF
63 assert(list->count == 1);
64 assert(listgetdata(listhead(list)) == lsp2);
65 list_delete_all_node(list);
66
67 lsp_id1[5] = 0x03;
68 lsp_id_end[5] = 0x04;
69
4bef0ec4 70 lsp_build_list_nonzero_ht(lspdb, lsp_id1, lsp_id_end, list);
9c0437ec
CF
71 assert(list->count == 0);
72 list_delete_all_node(list);
73
74 lsp_id1[5] = 0x00;
75
4bef0ec4 76 lsp_build_list_nonzero_ht(lspdb, lsp_id1, lsp_id_end, list);
9c0437ec
CF
77 assert(list->count == 2);
78 assert(listgetdata(listhead(list)) == lsp1);
79 assert(listgetdata(listtail(list)) == lsp2);
80 list_delete_all_node(list);
81}
82
83int main(int argc, char **argv)
84{
85 isis = calloc(sizeof(*isis), 1);
86 test_lsp_build_list_nonzero_ht();
87 return 0;
88}