+static clib_error_t *
+bd_learn_limit (vlib_main_t *vm, unformat_input_t *input,
+ vlib_cli_command_t *cmd)
+{
+ bd_main_t *bdm = &bd_main;
+ clib_error_t *error = 0;
+ u32 bd_index, bd_id;
+ u32 learn_limit;
+ uword *p;
+
+ if (!unformat (input, "%d", &bd_id))
+ {
+ error = clib_error_return (0, "expecting bridge-domain id but got `%U'",
+ format_unformat_error, input);
+ goto done;
+ }
+
+ if (bd_id == 0)
+ return clib_error_return (
+ 0, "No operations on the default bridge domain are supported");
+
+ p = hash_get (bdm->bd_index_by_bd_id, bd_id);
+
+ if (p == 0)
+ return clib_error_return (0, "No such bridge domain %d", bd_id);
+
+ bd_index = p[0];
+
+ if (!unformat (input, "%u", &learn_limit))
+ {
+ error = clib_error_return (
+ 0, "expecting maxium number of learned entries but got `%U'",
+ format_unformat_error, input);
+ goto done;
+ }
+
+ bd_set_learn_limit (vm, bd_index, learn_limit);
+
+done:
+ return error;
+}
+
+VLIB_CLI_COMMAND (bd_learn_limit_cli, static) = {
+ .path = "set bridge-domain learn-limit",
+ .short_help =
+ "set bridge-domain learn-limit <bridge-domain-id> <learn-limit>",
+ .function = bd_learn_limit,
+};
+