X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=extras%2Fvom%2Fvom%2Fapi_types.hpp;h=8d898f4c8805b8cbd56e4c611d9610edc4e36f80;hb=cbe25aab3be72154f2c706c39eeba6a77f34450f;hp=789bbb19401ba16dfe27710905ac044a645e7ca8;hpb=6fef74ad3083f630648eae65545a0dd46af1102e;p=vpp.git diff --git a/extras/vom/vom/api_types.hpp b/extras/vom/vom/api_types.hpp index 789bbb19401..8d898f4c880 100644 --- a/extras/vom/vom/api_types.hpp +++ b/extras/vom/vom/api_types.hpp @@ -19,9 +19,16 @@ #include #include +#include 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); @@ -33,12 +40,16 @@ 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); +vapi_enum_address_family to_api(const l3_proto_t p); 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_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); @@ -49,7 +60,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