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