BIER API and load-balancing fixes
[vpp.git] / src / vnet / mpls / mpls_lookup.h
index 28c9124..95558e0 100644 (file)
 
 #include <vnet/mpls/mpls.h>
 #include <vnet/ip/ip.h>
+#include <vnet/bier/bier_fwd.h>
 
 /**
  * The arc/edge from the MPLS lookup node to the MPLS replicate node
  */
 u32 mpls_lookup_to_replicate_edge;
 
+/**
+ * Enum of statically configred MPLS lookup next nodes
+ */
+typedef enum mpls_lookup_next_t_
+{
+    MPLS_LOOKUP_NEXT_DROP = 0,
+} mpls_lookup_next_t;
+
 /*
  * Compute flow hash. 
  * We'll use it to select which adjacency to use for this flow.  And other things.
@@ -92,6 +101,10 @@ mpls_compute_flow_hash (const mpls_unicast_header_t * hdr,
         hash ^= ip6_compute_flow_hash ((const ip6_header_t *)hdr,
                                        IP_FLOW_HASH_DEFAULT);
         break;
+    case 5:
+        /* incorporate the bier flow-hash */
+        hash ^= bier_compute_flow_hash ((const bier_hdr_t *)hdr);
+        break;
     default:
         break;
     }