X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=extras%2Fvom%2Fvom%2Fapi_types.hpp;h=b026ba38db2c2076cd30d24574c78c7c2ac7f2cc;hb=097fa66b986f06281f603767d321ab13ab6c88c3;hp=c28ae1e997d0e55d8481d902d5ef20fb72f85685;hpb=66b48a9c6155a2c088f0f45fc568c846edb4b1af;p=vpp.git diff --git a/extras/vom/vom/api_types.hpp b/extras/vom/vom/api_types.hpp index c28ae1e997d..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,22 +22,47 @@ 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); -vapi_type_mac_address to_api(const mac_address_t& a); +void to_api(const mac_address_t& a, vapi_type_mac_address& m); mac_address_t from_api(const vapi_type_mac_address& v); route::prefix_t from_api(const vapi_type_prefix&); +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