FD.io VPP
v21.10.1-2-g0a485f517
Vector Packet Processing
bier_fwd.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2018 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
#ifndef __BIER_FWD_H__
17
#define __BIER_FWD_H__
18
19
#include <
vnet/bier/bier_types.h
>
20
#include <
vnet/bier/bier_hdr_inlines.h
>
21
22
static_always_inline
u32
23
bier_compute_flow_hash
(
const
bier_hdr_t
*hdr)
24
{
25
u32
first_word = clib_net_to_host_u32(hdr->
bh_first_word
);
26
27
return
((first_word &
28
BIER_HDR_ENTROPY_FIELD_MASK
) >>
29
BIER_HDR_ENTROPY_FIELD_SHIFT
);
30
}
31
32
#endif
bier_hdr_inlines.h
static_always_inline
#define static_always_inline
Definition:
clib.h:112
bier_compute_flow_hash
static_always_inline u32 bier_compute_flow_hash(const bier_hdr_t *hdr)
Definition:
bier_fwd.h:23
u32
unsigned int u32
Definition:
types.h:88
bier_types.h
BIER_HDR_ENTROPY_FIELD_MASK
#define BIER_HDR_ENTROPY_FIELD_MASK
Definition:
bier_hdr_inlines.h:41
bier_hdr_t_
A BIER header of variable length The encoding follows: https://tools.ietf.org/html/draft-ietf-bier-mp...
Definition:
bier_types.h:321
bier_hdr_t_::bh_first_word
u32 bh_first_word
The first nibble is always set to 0101 to ensure that when carried over MPLS, the BIER packet is not ...
Definition:
bier_types.h:339
BIER_HDR_ENTROPY_FIELD_SHIFT
#define BIER_HDR_ENTROPY_FIELD_SHIFT
Definition:
bier_hdr_inlines.h:46
src
vnet
bier
bier_fwd.h
Generated on Sat Jan 8 2022 10:36:10 for FD.io VPP by
1.8.17