l2: crash on l2_input_is_xconnect 82/31182/1
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:43:43 +0000 (22:43 +0000)
commitfa065f96d14da55117bbf52a1f85e38d835dffd0
treeab52b2d6b396236c1971b0abde60a618d7a9b8b8
parent3d2d96e5547484290c9368bac0a420afa8c4c068
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
(cherry picked from commit 16f08657758db0f32b60cc88644b3a1c8fc28cbc)
src/vnet/l2/l2_api.c