diff options
author | Neale Ranns <nranns@cisco.com> | 2019-06-21 02:09:25 -0700 |
---|---|---|
committer | Dave Barach <openvpp@barachs.net> | 2019-07-03 11:31:16 +0000 |
commit | 3eea9de899f4affbe6695bb314989981fca8f234 (patch) | |
tree | fe40b4ae071bdd399c78b3825a3def4fc966e868 /src/plugins/gbp/gbp_endpoint.c | |
parent | 7bf7ea3ce39c1d70c0409dcbecd5c4aaf26fae13 (diff) |
gbp: Consider data-plane learnt source better than control-plane
Type: feature
Change-Id: Ice8fc0da6450d2aa8ba63ca1277393ac3605aa2c
Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'src/plugins/gbp/gbp_endpoint.c')
-rw-r--r-- | src/plugins/gbp/gbp_endpoint.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/plugins/gbp/gbp_endpoint.c b/src/plugins/gbp/gbp_endpoint.c index da15b49d81b..d759da2bece 100644 --- a/src/plugins/gbp/gbp_endpoint.c +++ b/src/plugins/gbp/gbp_endpoint.c @@ -101,6 +101,16 @@ gbp_endpoint_is_external (const gbp_endpoint_t * ge) return (! !(ge->ge_fwd.gef_flags & GBP_ENDPOINT_FLAG_EXTERNAL)); } +int +gbp_endpoint_is_learnt (const gbp_endpoint_t * ge) +{ + if (0 == vec_len (ge->ge_locs)) + return 0; + + /* DP is the highest source so if present it will be first */ + return (ge->ge_locs[0].gel_src == GBP_ENDPOINT_SRC_DP); +} + static void gbp_endpoint_extract_key_mac_itf (const clib_bihash_kv_16_8_t * key, mac_address_t * mac, u32 * sw_if_index) |