l2: crash on l2_input_is_xconnect 72/31172/5
authorSteven Luong <sluong@cisco.com>
Tue, 9 Feb 2021 07:48:30 +0000 (23:48 -0800)
committerDave Wallace <dwallacelf@gmail.com>
Tue, 9 Feb 2021 22:40:34 +0000 (22:40 +0000)
commit16f08657758db0f32b60cc88644b3a1c8fc28cbc
treec382af5be9c7a2598f7bc96efd92ee22698edf82
parent4b47ee26cba610b26bbfc088736846541bee7be3
l2: crash on l2_input_is_xconnect

Running vpp without any interface configured and then invoking the
binary-api l2_xconnect_dump causes vpp to crash in l2_input_is_xconnect due
to l2input_main.configs has no memory allocated to it, not even for the local
interface which exists all the times.

The reason that l2input_main.configs has no memory allocated to it was due to
gerrit patch 29232 which took out a line in l2input_init

  /* Create the config vector */
  vec_validate (mp->configs, 100);

The fix is to iterate through l2input_main.configs for each interface in
l2 to call l2_input_is_xconnect when dumping l2_xconnect interfaces.

Type: fix
Fixes: gerrit 29232

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: I8d9cba4b7eba4c2e0c60887c4fd57d5ec3b06d3b
src/vnet/l2/l2_api.c