diff options
author | Paul Vinciguerra <pvinci@vinciconsulting.com> | 2019-05-14 21:01:28 -0400 |
---|---|---|
committer | Neale Ranns <nranns@cisco.com> | 2019-07-08 17:47:33 +0000 |
commit | 888640a398f974cf388bdc983d10e78591275b37 (patch) | |
tree | d777158dece54df369f7e6a6f76e12cbdc1733ab /src/vnet | |
parent | 44e60468a2f0ad7ceff67de718fe3c401016ef6d (diff) |
map gbp papi: match endianess of f64
clib_net_to_host_f64, clib_host_to_net_f64 are now implemented as '=',
https://gerrit.fd.io/r/#/c/20406/ set papi to match.
- all f64 api references are now wrapped with
clib_net_to_host_f64 or clib_host_to_net_f64.
IEEE f64 endianess is not defined. If clib_net_to_host_f64 and
clib_host_to_net_f64 are later defined in VPP as big-endian, it is
a single character change in the papi vpp_serializer.
Note: This breaks the api in a manner that would not be detected by
the flag day initiative. The scope is small. This only impacts map.api,
which applied the u64 transformation, while the gbp api uses '='.
The implementation of "=" raises issues for the papi socket implementation
if used between systems of differing endianess. See Vratko's comments.
- Added get_f64_endian_value() to api to allow client to verify endianess of f64's.
Type: fix
Depends-on: https://gerrit.fd.io/r/#/c/20484/
Change-Id: I00fc64a6557ba0190398df211aa0ea5c7eb101df
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Diffstat (limited to 'src/vnet')
-rw-r--r-- | src/vnet/api_errno.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/vnet/api_errno.h b/src/vnet/api_errno.h index 14297558405..0702fd7ec9e 100644 --- a/src/vnet/api_errno.h +++ b/src/vnet/api_errno.h @@ -149,8 +149,8 @@ _(INVALID_PROTOCOL, -153, "Invalid Protocol") \ _(INVALID_ALGORITHM, -154, "Invalid Algorithm") \ _(RSRC_IN_USE, -155, "Resource In Use") \ _(KEY_LENGTH, -156, "invalid Key Length") \ -_(FIB_PATH_UNSUPPORTED_NH_PROTO, -157, "Unsupported FIB Path protocol") - +_(FIB_PATH_UNSUPPORTED_NH_PROTO, -157, "Unsupported FIB Path protocol") \ +_(API_ENDIAN_FAILED, -159, "Endian mismatch detected") typedef enum { #define _(a,b,c) VNET_API_ERROR_##a = (b), |