IP6 link-local table

- IPv6 link local table is a per-SW interface array of IPv6 unicast FIBs
- the per-interface ocst is sizeof(fib_table_t) which is small,
  w.r.t. the cost of an interface
- FE80::/10 in the 'global' table points to a DPO that performs a lookup in the
  input interface's LL fib.

Change-Id: Ice834b25ebeeacb2e929d7c864d7ec8c09918cbe
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
diff --git a/src/vnet/fib/fib_entry_src.c b/src/vnet/fib/fib_entry_src.c
index 616d77e..6dc0c73 100644
--- a/src/vnet/fib/fib_entry_src.c
+++ b/src/vnet/fib/fib_entry_src.c
@@ -1352,10 +1352,7 @@
 }
 
 /*
- * fib_route_attached_cross_table
- *
- * Return true the the route is attached via an interface that
- * is not in the same table as the route
+ * Return true if the path is attached
  */
 static inline int
 fib_path_is_attached (const fib_route_path_t *rpath)
@@ -1419,7 +1416,8 @@
 	    esrc->fes_entry_flags |= FIB_ENTRY_FLAG_LOOSE_URPF_EXEMPT;
 	}
     }
-    if (fib_route_attached_cross_table(fib_entry, rpath))
+    if (fib_route_attached_cross_table(fib_entry, rpath) &&
+        !(esrc->fes_entry_flags & FIB_ENTRY_FLAG_NO_ATTACHED_EXPORT))
     {
 	esrc->fes_entry_flags |= FIB_ENTRY_FLAG_IMPORT;
     }