blob: 18a039afbd602e48f1969a721610ec55c0931a80 [file] [log] [blame]
Neale Ranns0bfe5d82016-08-25 15:29:12 +01001/*
2 * Copyright (c) 2016 Cisco and/or its affiliates.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at:
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16#include "fib_entry.h"
17#include "fib_entry_src.h"
18#include "fib_path_list.h"
19
20/**
21 * Source initialisation Function
22 */
23static void
24fib_entry_src_default_init (fib_entry_src_t *src)
25{
26}
27
28/**
29 * Source deinitialisation Function
30 */
31static void
32fib_entry_src_default_deinit (fib_entry_src_t *src)
33{
34}
35
36static void
37fib_entry_src_cover_change (fib_entry_src_t *src)
38{
39}
40
41/**
42 * Source deinitialisation Function
43 */
44static void
45fib_entry_src_default_deinit (fib_entry_src_t *src)
46{
47}
48
49static void
50fib_entry_src_default_path_add (fib_entry_src_t *src,
51 fib_protocol_t proto,
52 const ip46_address_t *next_hop,
53 u32 next_hop_sw_if_index,
54 u32 next_hop_fib_index,
55 u32 next_hop_weight)
56{
57}
58
59static void
60fib_entry_src_default_path_remove (fib_entry_src_t *src,
61 fib_protocol_t proto,
62 const ip46_address_t *next_hop,
63 u32 next_hop_sw_if_index,
64 u32 next_hop_fib_index,
65 u32 next_hop_weight)
66{
67}
68
69
70/*
71 * Source activate.
72 * Called when the source is teh new longer best source on the entry
73 */
74static void
75fib_entry_src_default_activate (fib_entry_src_t *src,
76 const fib_entry_t *fib_entry)
77{
78}
79
80/*
81 * Source Deactivate.
82 * Called when the source is no longer best source on the entry
83 */
84static void
85fib_entry_src_default_deactivate (fib_entry_src_t *src,
86 const fib_entry_t *fib_entry)
87{
88}
89
90static void
91fib_entry_src_default_add (fib_entry_src_t *src,
92 fib_entry_flag_t flags,
93 fib_protocol_t proto)
94{
95}
96
97static void
Neale Ranns89541992017-04-06 04:41:02 -070098fib_entry_src_default_remove (fib_entry_src_t *src)
Neale Ranns0bfe5d82016-08-25 15:29:12 +010099{
100}
101
102const static fib_entry_src_vft_t default_src_vft = {
103 .fesv_init = fib_entry_src_default_init,
104 .fesv_deinit = fib_entry_src_default_deinit,
105 .fesv_add = fib_entry_src_default_add,
106 .fesv_remove = fib_entry_src_default_remove,
107 .fesv_path_add = fib_entry_src_default_path_add,
108 .fesv_path_remove = fib_entry_src_default_path_remove,
109 .fesv_activate = fib_entry_src_default_activate,
110 .fesv_deactivate = fib_entry_src_default_deactivate,
111};
112
113void
114fib_entry_src_default_register (void)
115{
116 fib_source_t source;
117
118 FOR_EACH_FIB_SOURCE(source) {
119 fib_entry_src_register(source, &default_src_vft);
120 }
121}