diff options
author | Steven <sluong@cisco.com> | 2016-11-16 13:26:27 -0800 |
---|---|---|
committer | Neale Ranns <nranns@cisco.com> | 2016-11-17 14:46:26 +0000 |
commit | 5858a82e761b5782ee09b29fa2365cbcfae56fda (patch) | |
tree | c8104123e5361ecc2885027dbc3ddd79891a66ba /vpp-api-test/vat | |
parent | 6b9c6df746f3d007b3021044b67a3fc1462d1b35 (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')
-rw-r--r-- | vpp-api-test/vat/api_format.c | 60 |
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++; } } |