Type: fix
MPLS hash includes the IP hash at the bottom of the stack. Default this
to the IP default and use the value passed in to the compute function.
Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: I3f8cb0f7c4fe98ea903a752c2b5fd3d7e26d449a
#define MPLS_FIB_DB_SIZE (1 << (MPLS_FIB_KEY_SIZE-1))
/**
- * There are no options for controlling the MPLS flow hash
+ * There are no options for controlling the MPLS flow hash,
+ * but since it mostly entails using IP data to create one, use that.
*/
-#define MPLS_FLOW_HASH_DEFAULT 0
+#define MPLS_FLOW_HASH_DEFAULT IP_FLOW_HASH_DEFAULT
typedef struct mpls_fib_t_
{
{
case 4:
/* incorporate the v4 flow-hash */
- hash ^= ip4_compute_flow_hash ((const ip4_header_t *)hdr,
- IP_FLOW_HASH_DEFAULT);
- break;
+ hash ^=
+ ip4_compute_flow_hash ((const ip4_header_t *) hdr, flow_hash_config);
+ break;
case 6:
/* incorporate the v6 flow-hash */
- hash ^= ip6_compute_flow_hash ((const ip6_header_t *)hdr,
- IP_FLOW_HASH_DEFAULT);
- break;
+ hash ^=
+ ip6_compute_flow_hash ((const ip6_header_t *) hdr, flow_hash_config);
+ break;
case 5:
/* incorporate the bier flow-hash */
hash ^= bier_compute_flow_hash ((const bier_hdr_t *)hdr);