Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
l2: API cleanup
[vpp.git]
/
src
/
vnet
/
l2
/
l2_fib.c
diff --git
a/src/vnet/l2/l2_fib.c
b/src/vnet/l2/l2_fib.c
index
600d0c9
..
160e4e6
100644
(file)
--- a/
src/vnet/l2/l2_fib.c
+++ b/
src/vnet/l2/l2_fib.c
@@
-111,7
+111,7
@@
typedef struct l2fib_dump_walk_ctx_t_
l2fib_entry_result_t *l2fe_res;
} l2fib_dump_walk_ctx_t;
l2fib_entry_result_t *l2fe_res;
} l2fib_dump_walk_ctx_t;
-static
void
+static
int
l2fib_dump_walk_cb (BVT (clib_bihash_kv) * kvp, void *arg)
{
l2fib_dump_walk_ctx_t *ctx = arg;
l2fib_dump_walk_cb (BVT (clib_bihash_kv) * kvp, void *arg)
{
l2fib_dump_walk_ctx_t *ctx = arg;
@@
-126,6
+126,8
@@
l2fib_dump_walk_cb (BVT (clib_bihash_kv) * kvp, void *arg)
vec_add1 (ctx->l2fe_key, key);
vec_add1 (ctx->l2fe_res, result);
}
vec_add1 (ctx->l2fe_key, key);
vec_add1 (ctx->l2fe_res, result);
}
+
+ return (BIHASH_WALK_CONTINUE);
}
void
}
void
@@
-158,7
+160,7
@@
typedef struct l2fib_show_walk_ctx_t_
u8 now;
} l2fib_show_walk_ctx_t;
u8 now;
} l2fib_show_walk_ctx_t;
-static
void
+static
int
l2fib_show_walk_cb (BVT (clib_bihash_kv) * kvp, void *arg)
{
l2fib_show_walk_ctx_t *ctx = arg;
l2fib_show_walk_cb (BVT (clib_bihash_kv) * kvp, void *arg)
{
l2fib_show_walk_ctx_t *ctx = arg;
@@
-186,10
+188,10
@@
l2fib_show_walk_cb (BVT (clib_bihash_kv) * kvp, void *arg)
u8 *s = NULL;
if (ctx->learn && l2fib_entry_result_is_set_AGE_NOT (&result))
u8 *s = NULL;
if (ctx->learn && l2fib_entry_result_is_set_AGE_NOT (&result))
- return
;
/* skip provisioned macs */
+ return
(BIHASH_WALK_CONTINUE);
/* skip provisioned macs */
if (ctx->add && !l2fib_entry_result_is_set_AGE_NOT (&result))
if (ctx->add && !l2fib_entry_result_is_set_AGE_NOT (&result))
- return
;
/* skip learned macs */
+ return
(BIHASH_WALK_CONTINUE);
/* skip learned macs */
bd_config = vec_elt_at_index (l2input_main.bd_configs,
key.fields.bd_index);
bd_config = vec_elt_at_index (l2input_main.bd_configs,
key.fields.bd_index);
@@
-219,6
+221,8
@@
l2fib_show_walk_cb (BVT (clib_bihash_kv) * kvp, void *arg)
ctx->vnm, result.fields.sw_if_index);
vec_free (s);
}
ctx->vnm, result.fields.sw_if_index);
vec_free (s);
}
+
+ return (BIHASH_WALK_CONTINUE);
}
/** Display the contents of the l2fib. */
}
/** Display the contents of the l2fib. */
@@
-410,6
+414,7
@@
l2fib_add_entry (const u8 * mac, u32 bd_index,
/* set up key */
key.raw = l2fib_make_key (mac, bd_index);
/* set up key */
key.raw = l2fib_make_key (mac, bd_index);
+ kv.key = key.raw;
/* check if entry already exist */
if (BV (clib_bihash_search) (&fm->mac_table, &kv, &kv))
/* check if entry already exist */
if (BV (clib_bihash_search) (&fm->mac_table, &kv, &kv))
@@
-429,7
+434,6
@@
l2fib_add_entry (const u8 * mac, u32 bd_index,
/* no aging for provisioned entry */
l2fib_entry_result_set_AGE_NOT (&result);
/* no aging for provisioned entry */
l2fib_entry_result_set_AGE_NOT (&result);
- kv.key = key.raw;
kv.value = result.raw;
BV (clib_bihash_add_del) (&fm->mac_table, &kv, 1 /* is_add */ );
kv.value = result.raw;
BV (clib_bihash_add_del) (&fm->mac_table, &kv, 1 /* is_add */ );
@@
-1080,7
+1084,10
@@
l2fib_scan (vlib_main_t * vm, f64 start_time, u8 event_only)
key.fields.mac, 6);
mp->mac[evt_idx].action =
l2fib_entry_result_is_set_LRN_MOV (&result) ?
key.fields.mac, 6);
mp->mac[evt_idx].action =
l2fib_entry_result_is_set_LRN_MOV (&result) ?
- MAC_EVENT_ACTION_MOVE : MAC_EVENT_ACTION_ADD;
+ (vl_api_mac_event_action_t) MAC_EVENT_ACTION_MOVE
+ : (vl_api_mac_event_action_t) MAC_EVENT_ACTION_ADD;
+ mp->mac[evt_idx].action =
+ htonl (mp->mac[evt_idx].action);
mp->mac[evt_idx].sw_if_index =
htonl (result.fields.sw_if_index);
/* clear event bits and update mac entry */
mp->mac[evt_idx].sw_if_index =
htonl (result.fields.sw_if_index);
/* clear event bits and update mac entry */
@@
-1123,7
+1130,9
@@
l2fib_scan (vlib_main_t * vm, f64 start_time, u8 event_only)
/* copy mac entry to event msg */
clib_memcpy_fast (mp->mac[evt_idx].mac_addr, key.fields.mac,
6);
/* copy mac entry to event msg */
clib_memcpy_fast (mp->mac[evt_idx].mac_addr, key.fields.mac,
6);
- mp->mac[evt_idx].action = MAC_EVENT_ACTION_DELETE;
+ mp->mac[evt_idx].action =
+ (vl_api_mac_event_action_t) MAC_EVENT_ACTION_DELETE;
+ mp->mac[evt_idx].action = htonl (mp->mac[evt_idx].action);
mp->mac[evt_idx].sw_if_index =
htonl (result.fields.sw_if_index);
evt_idx++;
mp->mac[evt_idx].sw_if_index =
htonl (result.fields.sw_if_index);
evt_idx++;