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
fwdp
token.h
Go to the documentation of this file.
1
#ifndef NDNDPDK_FWDP_TOKEN_H
2
#define NDNDPDK_FWDP_TOKEN_H
3
6
#include "../pcct/pcc-entry.h"
7
8
enum
{
9
FwTokenLength
= 7,
10
#if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
11
FwTokenOffsetPccToken
= 0,
12
FwTokenOffsetFwdID
= 6,
13
#else
14
FwTokenOffsetPccToken
= -1,
15
FwTokenOffsetFwdID
= 0,
16
#endif
17
};
18
static_assert(
FwTokenLength
==
PccTokenSize
+ 1,
""
);
19
static_assert(offsetof(
LpPitToken
, value) +
FwTokenOffsetPccToken
>= 0,
""
);
20
static_assert(RTE_SIZEOF_FIELD(
LpPitToken
, value) >=
sizeof
(uint64_t),
""
);
21
22
__attribute__((nonnull))
static
__rte_always_inline
void
23
FwToken_Set(
LpPitToken
* token, uint8_t fwdID, uint64_t pccToken) {
24
*token = (
LpPitToken
){0};
25
*(unaligned_uint64_t*)RTE_PTR_ADD(token->
value
,
FwTokenOffsetPccToken
) = pccToken;
26
token->
value
[
FwTokenOffsetFwdID
] = fwdID;
27
token->
length
=
FwTokenLength
;
28
}
29
30
__attribute__((nonnull))
static
__rte_always_inline uint8_t
31
FwToken_GetFwdID(
const
LpPitToken
* token) {
32
return
token->
value
[
FwTokenOffsetFwdID
];
33
}
34
35
__attribute__((nonnull))
static
__rte_always_inline uint64_t
36
FwToken_GetPccToken(
const
LpPitToken
* token) {
37
return
*(
const
unaligned_uint64_t*)RTE_PTR_ADD(token->
value
,
FwTokenOffsetPccToken
);
38
}
39
40
#endif
// NDNDPDK_FWDP_TOKEN_H
LpPitToken
struct LpPitToken LpPitToken
NDNLPv2 PIT token value.
PccTokenSize
@ PccTokenSize
Definition:
pcc-entry.h:12
LpPitToken
NDNLPv2 PIT token value.
Definition:
lp.h:35
LpPitToken::value
uint8_t value[32]
Definition:
lp.h:37
LpPitToken::length
uint8_t length
Definition:
lp.h:36
FwTokenOffsetPccToken
@ FwTokenOffsetPccToken
Definition:
token.h:11
FwTokenLength
@ FwTokenLength
Definition:
token.h:9
FwTokenOffsetFwdID
@ FwTokenOffsetFwdID
Definition:
token.h:12
Generated by
1.9.1