X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=extras%2Fvom%2Fvom%2Fapi_types.hpp;h=b026ba38db2c2076cd30d24574c78c7c2ac7f2cc;hb=097fa66b9;hp=5856c22d339be302adfd9db7a9497af650e24a54;hpb=7c03ed47d5acfa39820f9553999caa01cf47dba4;p=vpp.git diff --git a/extras/vom/vom/api_types.hpp b/extras/vom/vom/api_types.hpp index 5856c22d339..b026ba38db2 100644 --- a/extras/vom/vom/api_types.hpp +++ b/extras/vom/vom/api_types.hpp @@ -14,6 +14,7 @@ */ #include +#include #include #include @@ -21,18 +22,32 @@ namespace VOM { +struct invalid_decode +{ + invalid_decode(const std::string reason); + const std::string reason; +}; + typedef boost::asio::ip::address ip_address_t; +vapi_enum_ip_neighbor_flags to_api(const neighbour::flags_t& f); +const neighbour::flags_t from_api(vapi_enum_ip_neighbor_flags f); + void to_api(const ip_address_t& a, vapi_type_address& v); -void to_api(const boost::asio::ip::address& a, vapi_type_ip4_address& v); +void to_api(const boost::asio::ip::address_v4& a, vapi_type_ip4_address& v); +void to_api(const boost::asio::ip::address_v6& a, vapi_type_ip6_address& v); void to_api(const boost::asio::ip::address& a, vapi_union_address_union& u, vapi_enum_address_family& af); +void to_api(const boost::asio::ip::address& a, vapi_union_address_union& u); +boost::asio::ip::address_v4 from_api(const vapi_type_ip4_address& v); +boost::asio::ip::address_v6 from_api(const vapi_type_ip6_address& v); ip_address_t from_api(const vapi_type_address& v); -ip_address_t from_api(const vapi_type_ip4_address& v); ip_address_t from_api(const vapi_union_address_union& u, vapi_enum_address_family af); +ip_address_t from_api(const vapi_union_address_union& u, + vapi_enum_fib_path_nh_proto proto); void to_api(const mac_address_t& a, vapi_type_mac_address& m); @@ -43,7 +58,11 @@ route::mprefix_t from_api(const vapi_type_mprefix&); vapi_type_prefix to_api(const route::prefix_t&); vapi_type_mprefix to_api(const route::mprefix_t&); -}; + +vapi_enum_fib_path_nh_proto to_api(const nh_proto_t&); +const nh_proto_t& from_api(vapi_enum_fib_path_nh_proto); + +}; // VOM /* * fd.io coding-style-patch-verification: ON