interface: shmemioerror while getting name_filter arg

Type: fix

Signed-off-by: Aleksander Djuric <aleksander.djuric@gmail.com>
Change-Id: I5e0eb7024d208040d79e9d6db863f41e2ecf4ee6
Signed-off-by: Ole Troan <ot@cisco.com>
This commit is contained in:
Aleksander Djuric
2019-10-31 14:35:21 +03:00
committed by Paul Vinciguerra
parent 3f8c87132d
commit c12eae73f9
4 changed files with 14 additions and 6 deletions

View File

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
option version = "3.2.0"; option version = "3.2.1";
import "vnet/interface_types.api"; import "vnet/interface_types.api";
import "vnet/ethernet/ethernet_types.api"; import "vnet/ethernet/ethernet_types.api";

View File

@ -358,9 +358,8 @@ vl_api_sw_interface_dump_t_handler (vl_api_sw_interface_dump_t * mp)
if (mp->name_filter_valid) if (mp->name_filter_valid)
{ {
filter = filter = vl_api_from_api_to_vec (&mp->name_filter);
format (0, ".*%s", vl_api_string_len (&mp->name_filter), vec_add1 (filter, 0); /* Ensure it's a C string for strcasecmp() */
vl_api_from_api_string (&mp->name_filter), 0);
} }
char *strcasestr (char *, char *); /* lnx hdr file botch */ char *strcasestr (char *, char *); /* lnx hdr file botch */

View File

@ -1902,7 +1902,11 @@ static void *vl_api_sw_interface_dump_t_print
s = format (0, "SCRIPT: sw_interface_dump "); s = format (0, "SCRIPT: sw_interface_dump ");
if (mp->name_filter_valid) if (mp->name_filter_valid)
s = format (s, "name_filter %s ", mp->name_filter); {
u8 *v = vl_api_from_api_to_vec (&mp->name_filter);
s = format (s, "name_filter %v ", v);
vec_free (v);
}
else else
s = format (s, "all "); s = format (s, "all ");

View File

@ -90,12 +90,17 @@ class TestLoopbackInterfaceCRUD(VppTestCase):
i.admin_up() i.admin_up()
# read (check sw if dump, ip4 fib, ip6 fib) # read (check sw if dump, ip4 fib, ip6 fib)
if_dump = self.vapi.sw_interface_dump() if_dump = self.vapi.sw_interface_dump(name_filter_valid=True,
name_filter='loop')
fib4_dump = self.vapi.ip_route_dump(0) fib4_dump = self.vapi.ip_route_dump(0)
for i in loopbacks: for i in loopbacks:
self.assertTrue(i.is_interface_config_in_dump(if_dump)) self.assertTrue(i.is_interface_config_in_dump(if_dump))
self.assertTrue(i.is_ip4_entry_in_fib_dump(fib4_dump)) self.assertTrue(i.is_ip4_entry_in_fib_dump(fib4_dump))
if_dump = self.vapi.sw_interface_dump(name_filter_valid=True,
name_filter='loopXYZ')
self.assertEqual(len(if_dump), 0)
# check ping # check ping
stream = self.create_icmp_stream(self.pg0, loopbacks) stream = self.create_icmp_stream(self.pg0, loopbacks)
self.pg0.add_stream(stream) self.pg0.add_stream(stream)