M: Neale Ranns <nranns@cisco.com>
F: src/vnet/mpls/
+VNET BIER
+I: bier
+M: Neale Ranns <nranns@cisco.com>
+F: src/vnet/bier/
+
VNET Session Layer
I: session
M: Florin Coras <fcoras@cisco.com>
#include <vnet/adj/adj_internal.h>
#include <vnet/fib/fib_urpf_list.h>
#include <vnet/bier/bier_fwd.h>
+#include <vnet/fib/mpls_fib.h>
/*
* distribution error tolerance for load-balancing
return (load_balance_format(lbi, LOAD_BALANCE_FORMAT_DETAIL, indent, s));
}
+flow_hash_config_t
+load_balance_get_default_flow_hash (dpo_proto_t lb_proto)
+{
+ switch (lb_proto)
+ {
+ case DPO_PROTO_IP4:
+ case DPO_PROTO_IP6:
+ return (IP_FLOW_HASH_DEFAULT);
+
+ case DPO_PROTO_MPLS:
+ return (MPLS_FLOW_HASH_DEFAULT);
+
+ case DPO_PROTO_ETHERNET:
+ case DPO_PROTO_BIER:
+ case DPO_PROTO_NSH:
+ break;
+ }
+
+ return (0);
+}
+
static load_balance_t *
load_balance_create_i (u32 num_buckets,
dpo_proto_t lb_proto,
extern index_t load_balance_create(u32 num_buckets,
dpo_proto_t lb_proto,
flow_hash_config_t fhc);
+extern flow_hash_config_t load_balance_get_default_flow_hash(dpo_proto_t lb_proto);
extern void load_balance_multipath_update(
const dpo_id_t *dpo,
const load_balance_path_t * raw_next_hops,
dproto,
load_balance_create(vec_len(nhs),
dproto,
- fib_table_get_default_flow_hash_config(
- dpo_proto_to_fib(dproto))));
+ load_balance_get_default_flow_hash(dproto)));
load_balance_multipath_update(dpo, nhs,
fib_path_list_fwd_flags_2_load_balance(flags));