VPP-466: PG pg_create_interface API returns wrong interface index 06/3306/3
authorPavel Kotucek <pkotucek@cisco.com>
Fri, 7 Oct 2016 06:38:45 +0000 (08:38 +0200)
committerDamjan Marion <dmarion.lists@gmail.com>
Fri, 7 Oct 2016 11:39:47 +0000 (11:39 +0000)
Change-Id: Ife7b2907012a79e6893cfa7f2cf61c7a54865248
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
vpp/vpp-api/api.c

index 0eb7573..028e67b 100644 (file)
@@ -8144,12 +8144,13 @@ vl_api_pg_create_interface_t_handler (vl_api_pg_create_interface_t * mp)
   int rv = 0;
 
   pg_main_t *pg = &pg_main;
-  u32 sw_if_index = pg_interface_add_or_get (pg, ntohl (mp->interface_id));
+  u32 pg_if_id = pg_interface_add_or_get (pg, ntohl (mp->interface_id));
+  pg_interface_t *pi = pool_elt_at_index (pg->interfaces, pg_if_id);
 
   /* *INDENT-OFF* */
   REPLY_MACRO2(VL_API_PG_CREATE_INTERFACE_REPLY,
   ({
-    rmp->sw_if_index = ntohl(sw_if_index);
+    rmp->sw_if_index = ntohl(pi->sw_if_index);
   }));
   /* *INDENT-ON* */
 }