summaryrefslogtreecommitdiffstats
path: root/vpp-api-test/vat/api_format.c
diff options
context:
space:
mode:
authorSteven <sluong@cisco.com>2016-11-16 13:26:27 -0800
committerNeale Ranns <nranns@cisco.com>2016-11-17 14:46:26 +0000
commit5858a82e761b5782ee09b29fa2365cbcfae56fda (patch)
treec8104123e5361ecc2885027dbc3ddd79891a66ba /vpp-api-test/vat/api_format.c
parent6b9c6df746f3d007b3021044b67a3fc1462d1b35 (diff)
Put address in top bytes for the nexthop in vl_api_fib_path_t (VPP-532)
VPP-500 added the API for the fib dump capability. However, it puts the address of the nexthop in the low bytes while the top bytes are padded with 0's if the address is ipv4. The address field is defined as 16 bytes to accommodate both ipv4 and ipv6. This fix is to correct the issue and put the address of the nexthop in the top bytes. Change-Id: I429dec662e32040b186dfc323801ef49b76a42a3 Signed-off-by: Steven <sluong@cisco.com>
Diffstat (limited to 'vpp-api-test/vat/api_format.c')
-rw-r--r--vpp-api-test/vat/api_format.c60
1 files changed, 42 insertions, 18 deletions
diff --git a/vpp-api-test/vat/api_format.c b/vpp-api-test/vat/api_format.c
index b32c159da8f..c1701476b31 100644
--- a/vpp-api-test/vat/api_format.c
+++ b/vpp-api-test/vat/api_format.c
@@ -14896,12 +14896,20 @@ vl_api_mpls_fib_details_t_handler (vl_api_mpls_fib_details_t * mp)
fp = mp->path;
for (i = 0; i < count; i++)
{
- fformat (vam->ofp,
- " weight %d, sw_if_index %d, is_local %d, is_drop %d, is_unreach %d, "
- "is_prohitbit %d, afi %d, next_hop %U\n", ntohl (fp->weight),
- ntohl (fp->sw_if_index), fp->is_local, fp->is_drop,
- fp->is_unreach, fp->is_prohibit, fp->afi, format_ip46_address,
- fp->next_hop, fp->afi);
+ if (fp->afi == IP46_TYPE_IP6)
+ fformat (vam->ofp,
+ " weight %d, sw_if_index %d, is_local %d, is_drop %d, "
+ "is_unreach %d, is_prohitbit %d, afi %d, next_hop %U\n",
+ ntohl (fp->weight), ntohl (fp->sw_if_index), fp->is_local,
+ fp->is_drop, fp->is_unreach, fp->is_prohibit, fp->afi,
+ format_ip6_address, fp->next_hop);
+ else if (fp->afi == IP46_TYPE_IP4)
+ fformat (vam->ofp,
+ " weight %d, sw_if_index %d, is_local %d, is_drop %d, "
+ "is_unreach %d, is_prohitbit %d, afi %d, next_hop %U\n",
+ ntohl (fp->weight), ntohl (fp->sw_if_index), fp->is_local,
+ fp->is_drop, fp->is_unreach, fp->is_prohibit, fp->afi,
+ format_ip4_address, fp->next_hop);
fp++;
}
}
@@ -14988,12 +14996,20 @@ vl_api_ip_fib_details_t_handler (vl_api_ip_fib_details_t * mp)
fp = mp->path;
for (i = 0; i < count; i++)
{
- fformat (vam->ofp,
- " weight %d, sw_if_index %d, is_local %d, is_drop %d, is_unreach %d, "
- "is_prohitbit %d, afi %d, next_hop %U\n", ntohl (fp->weight),
- ntohl (fp->sw_if_index), fp->is_local, fp->is_drop,
- fp->is_unreach, fp->is_prohibit, fp->afi, format_ip46_address,
- fp->next_hop, fp->afi);
+ if (fp->afi == IP46_TYPE_IP6)
+ fformat (vam->ofp,
+ " weight %d, sw_if_index %d, is_local %d, is_drop %d, "
+ "is_unreach %d, is_prohitbit %d, afi %d, next_hop %U\n",
+ ntohl (fp->weight), ntohl (fp->sw_if_index), fp->is_local,
+ fp->is_drop, fp->is_unreach, fp->is_prohibit, fp->afi,
+ format_ip6_address, fp->next_hop);
+ else if (fp->afi == IP46_TYPE_IP4)
+ fformat (vam->ofp,
+ " weight %d, sw_if_index %d, is_local %d, is_drop %d, "
+ "is_unreach %d, is_prohitbit %d, afi %d, next_hop %U\n",
+ ntohl (fp->weight), ntohl (fp->sw_if_index), fp->is_local,
+ fp->is_drop, fp->is_unreach, fp->is_prohibit, fp->afi,
+ format_ip4_address, fp->next_hop);
fp++;
}
}
@@ -15081,12 +15097,20 @@ vl_api_ip6_fib_details_t_handler (vl_api_ip6_fib_details_t * mp)
fp = mp->path;
for (i = 0; i < count; i++)
{
- fformat (vam->ofp,
- " weight %d, sw_if_index %d, is_local %d, is_drop %d, is_unreach %d, "
- "is_prohitbit %d, afi %d, next_hop %U\n", ntohl (fp->weight),
- ntohl (fp->sw_if_index), fp->is_local, fp->is_drop,
- fp->is_unreach, fp->is_prohibit, fp->afi, format_ip46_address,
- fp->next_hop, fp->afi);
+ if (fp->afi == IP46_TYPE_IP6)
+ fformat (vam->ofp,
+ " weight %d, sw_if_index %d, is_local %d, is_drop %d, "
+ "is_unreach %d, is_prohitbit %d, afi %d, next_hop %U\n",
+ ntohl (fp->weight), ntohl (fp->sw_if_index), fp->is_local,
+ fp->is_drop, fp->is_unreach, fp->is_prohibit, fp->afi,
+ format_ip6_address, fp->next_hop);
+ else if (fp->afi == IP46_TYPE_IP4)
+ fformat (vam->ofp,
+ " weight %d, sw_if_index %d, is_local %d, is_drop %d, "
+ "is_unreach %d, is_prohitbit %d, afi %d, next_hop %U\n",
+ ntohl (fp->weight), ntohl (fp->sw_if_index), fp->is_local,
+ fp->is_drop, fp->is_unreach, fp->is_prohibit, fp->afi,
+ format_ip4_address, fp->next_hop);
fp++;
}
}