Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
gbp: disable L2 BD learning per-interface
[vpp.git]
/
src
/
vnet
/
session
/
application_namespace.c
diff --git
a/src/vnet/session/application_namespace.c
b/src/vnet/session/application_namespace.c
index
eaf09e8
..
47a369e
100644
(file)
--- a/
src/vnet/session/application_namespace.c
+++ b/
src/vnet/session/application_namespace.c
@@
-1,5
+1,5
@@
/*
/*
- * Copyright (c) 2017 Cisco and/or its affiliates.
+ * Copyright (c) 2017
-2019
Cisco and/or its affiliates.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
@@
-54,14
+54,14
@@
app_namespace_alloc (u8 * ns_id)
{
app_namespace_t *app_ns;
pool_get (app_namespace_pool, app_ns);
{
app_namespace_t *app_ns;
pool_get (app_namespace_pool, app_ns);
- memset (app_ns, 0, sizeof (*app_ns));
+
clib_
memset (app_ns, 0, sizeof (*app_ns));
app_ns->ns_id = vec_dup (ns_id);
hash_set_mem (app_namespace_lookup_table, app_ns->ns_id,
app_ns - app_namespace_pool);
return app_ns;
}
app_ns->ns_id = vec_dup (ns_id);
hash_set_mem (app_namespace_lookup_table, app_ns->ns_id,
app_ns - app_namespace_pool);
return app_ns;
}
-clib_error_t *
+int
vnet_app_namespace_add_del (vnet_app_namespace_add_del_args_t * a)
{
app_namespace_t *app_ns;
vnet_app_namespace_add_del (vnet_app_namespace_add_del_args_t * a)
{
app_namespace_t *app_ns;
@@
-71,9
+71,8
@@
vnet_app_namespace_add_del (vnet_app_namespace_add_del_args_t * a)
{
if (a->sw_if_index != APP_NAMESPACE_INVALID_INDEX
&& !vnet_get_sw_interface_safe (vnet_get_main (), a->sw_if_index))
{
if (a->sw_if_index != APP_NAMESPACE_INVALID_INDEX
&& !vnet_get_sw_interface_safe (vnet_get_main (), a->sw_if_index))
- return clib_error_return_code (0, VNET_API_ERROR_INVALID_SW_IF_INDEX,
- 0, "sw_if_index %u doesn't exist",
- a->sw_if_index);
+ return VNET_API_ERROR_INVALID_SW_IF_INDEX;
+
if (a->sw_if_index != APP_NAMESPACE_INVALID_INDEX)
{
if (a->sw_if_index != APP_NAMESPACE_INVALID_INDEX)
{
@@
-81,14
+80,13
@@
vnet_app_namespace_add_del (vnet_app_namespace_add_del_args_t * a)
fib_table_get_table_id_for_sw_if_index (FIB_PROTOCOL_IP4,
a->sw_if_index);
a->ip6_fib_id =
fib_table_get_table_id_for_sw_if_index (FIB_PROTOCOL_IP4,
a->sw_if_index);
a->ip6_fib_id =
- fib_table_get_table_id_for_sw_if_index (FIB_PROTOCOL_IP
4
,
+ fib_table_get_table_id_for_sw_if_index (FIB_PROTOCOL_IP
6
,
a->sw_if_index);
}
if (a->sw_if_index == APP_NAMESPACE_INVALID_INDEX
&& a->ip4_fib_id == APP_NAMESPACE_INVALID_INDEX)
a->sw_if_index);
}
if (a->sw_if_index == APP_NAMESPACE_INVALID_INDEX
&& a->ip4_fib_id == APP_NAMESPACE_INVALID_INDEX)
- return clib_error_return_code (0, VNET_API_ERROR_INVALID_VALUE, 0,
- "sw_if_index or fib_id must be "
- "configured");
+ return VNET_API_ERROR_INVALID_VALUE;
+
app_ns = app_namespace_get_from_id (a->ns_id);
if (!app_ns)
{
app_ns = app_namespace_get_from_id (a->ns_id);
if (!app_ns)
{
@@
-109,8
+107,7
@@
vnet_app_namespace_add_del (vnet_app_namespace_add_del_args_t * a)
}
else
{
}
else
{
- return clib_error_return_code (0, VNET_API_ERROR_UNIMPLEMENTED, 0,
- "namespace deletion not supported");
+ return VNET_API_ERROR_UNIMPLEMENTED;
}
return 0;
}
}
return 0;
}
@@
-184,6
+181,7
@@
app_ns_fn (vlib_main_t * vm, unformat_input_t * input,
u32 sw_if_index, fib_id = APP_NAMESPACE_INVALID_INDEX;
u64 secret;
clib_error_t *error = 0;
u32 sw_if_index, fib_id = APP_NAMESPACE_INVALID_INDEX;
u64 secret;
clib_error_t *error = 0;
+ int rv;
session_cli_return_if_not_enabled ();
session_cli_return_if_not_enabled ();
@@
-228,7
+226,8
@@
app_ns_fn (vlib_main_t * vm, unformat_input_t * input,
.ip4_fib_id = fib_id,
.is_add = 1
};
.ip4_fib_id = fib_id,
.is_add = 1
};
- error = vnet_app_namespace_add_del (&args);
+ if ((rv = vnet_app_namespace_add_del (&args)))
+ return clib_error_return (0, "app namespace add del returned %d", rv);
}
return error;
}
return error;
@@
-248,8
+247,8
@@
u8 *
format_app_namespace (u8 * s, va_list * args)
{
app_namespace_t *app_ns = va_arg (*args, app_namespace_t *);
format_app_namespace (u8 * s, va_list * args)
{
app_namespace_t *app_ns = va_arg (*args, app_namespace_t *);
- s = format (s, "%-
20v%-20lu%-20u", app_ns->ns_id, app_ns->ns_secret
,
- app_ns->
sw_if_index
);
+ s = format (s, "%-
10u%-20lu%-20u%-50v", app_namespace_index (app_ns)
,
+ app_ns->
ns_secret, app_ns->sw_if_index, app_ns->ns_id
);
return s;
}
return s;
}
@@
-301,9
+300,10
@@
show_app_ns_fn (vlib_main_t * vm, unformat_input_t * main_input,
goto done;
}
goto done;
}
- vlib_cli_output (vm, "%-20s%-20s%-20s", "Namespace", "Secret",
- "sw_if_index");
do_ns_list:
do_ns_list:
+ vlib_cli_output (vm, "%-10s%-20s%-20s%-50s", "Index", "Secret",
+ "sw_if_index", "Name");
+
/* *INDENT-OFF* */
pool_foreach (app_ns, app_namespace_pool, ({
vlib_cli_output (vm, "%U", format_app_namespace, app_ns);
/* *INDENT-OFF* */
pool_foreach (app_ns, app_namespace_pool, ({
vlib_cli_output (vm, "%U", format_app_namespace, app_ns);