NDN-DPDK
High-Speed Named Data Networking Forwarder
Main Page
Related Pages
Data Structures
Data Structures
Data Structure Index
Data Fields
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Functions
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Files
File List
Globals
All
_
a
b
c
d
e
f
g
h
i
l
m
n
p
r
s
t
u
v
w
Functions
_
b
c
d
e
f
h
i
l
m
n
p
r
s
t
u
Variables
_
b
c
d
e
f
g
i
l
m
p
r
s
t
v
w
Typedefs
b
c
d
e
f
g
h
i
l
m
n
p
r
s
t
u
v
Enumerations
Enumerator
b
c
d
e
f
g
h
i
l
m
n
p
r
s
t
u
v
Macros
a
b
c
d
f
h
i
l
m
n
p
r
s
t
u
•
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
csrc
fib
nexthop-filter.h
Go to the documentation of this file.
1
#ifndef NDNDPDK_FIB_NEXTHOP_FILTER_H
2
#define NDNDPDK_FIB_NEXTHOP_FILTER_H
3
6
#include "
entry.h
"
7
13
typedef
uint32_t
FibNexthopFilter
;
14
15
static_assert(CHAR_BIT *
sizeof
(
FibNexthopFilter
) >=
FibMaxNexthops
,
""
);
16
22
__attribute__((nonnull))
static
inline
int
23
FibNexthopFilter_Reject(
FibNexthopFilter
* filter,
const
FibEntry
* entry,
FaceID
nh) {
24
for
(uint8_t i = 0; i < entry->
nNexthops
; ++i) {
25
if
(entry->
nexthops
[i] == nh) {
26
rte_bit_set(filter, i);
27
break
;
28
}
29
}
30
static_assert(__builtin_types_compatible_p(typeof(*filter), uint32_t),
""
);
31
return
entry->
nNexthops
- rte_popcount32(*filter);
32
}
33
34
#endif
// NDNDPDK_FIB_NEXTHOP_FILTER_H
FaceID
uint16_t FaceID
Numeric face identifier.
Definition:
faceid.h:13
FibMaxNexthops
@ FibMaxNexthops
Definition:
enum.h:8
entry.h
FibNexthopFilter
uint32_t FibNexthopFilter
A filter over FIB nexthops.
Definition:
nexthop-filter.h:13
FibEntry
A FIB entry.
Definition:
entry.h:27
FibEntry::nNexthops
uint8_t nNexthops
number of nexthops
Definition:
entry.h:50
FibEntry::nexthops
FaceID nexthops[FibMaxNexthops]
Definition:
entry.h:61
Generated by
1.9.1