diff options
Diffstat (limited to 'src/vnet/ip/punt.api')
-rw-r--r-- | src/vnet/ip/punt.api | 69 |
1 files changed, 49 insertions, 20 deletions
diff --git a/src/vnet/ip/punt.api b/src/vnet/ip/punt.api index 4477e5c14e5..c8b222a211b 100644 --- a/src/vnet/ip/punt.api +++ b/src/vnet/ip/punt.api @@ -13,56 +13,85 @@ * limitations under the License. */ -option version = "1.0.0"; +option version = "2.0.0"; + +/** \brief Punt definition + @param ipv - L3 protocol 4 - IPv4, 6 - IPv6, ~0 - All + @param l4_protocol - L4 protocol to be punted + @param l4_port - TCP/UDP port to be punted +*/ +typeonly define punt +{ + u8 ipv; + u8 l4_protocol; + u16 l4_port; +}; /** \brief Punt traffic to the host @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param is_add - add punt if non-zero, else delete - @param ipv - L3 protocol 4 - IPv4, 6 - IPv6, ~0 - All - @param l4_protocol - L4 protocol to be punted, only UDP (0x11) is supported - @param l4_port - TCP/UDP port to be punted + @param punt - punt definition, only UDP (0x11) is supported */ -autoreply define punt { +autoreply define set_punt { u32 client_index; u32 context; u8 is_add; - u8 ipv; - u8 l4_protocol; - u16 l4_port; + vl_api_punt_t punt; +}; + +define punt_dump +{ + u32 client_index; + u32 context; + u8 is_ipv6; +}; + +define punt_details +{ + u32 context; + vl_api_punt_t punt; }; /** \brief Punt traffic to the host via socket @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param header_version - expected meta data header version (currently 1) - @param is_ip4 - L3 protocol 1 - IPv4, 0 - IPv6 - @param l4_protocol - L4 protocol to be punted, only UDP (0x11) is supported - @param l4_port - TCP/UDP port to be punted + @param punt - punt definition */ define punt_socket_register { u32 client_index; u32 context; u32 header_version; - u8 is_ip4; - u8 l4_protocol; - u16 l4_port; + vl_api_punt_t punt; u8 pathname[108]; /* Linux sun_path defined to be 108 bytes, see unix(7) */ }; define punt_socket_register_reply { - u32 context; - i32 retval; - u8 pathname[64]; + u32 context; + i32 retval; + u8 pathname[64]; +}; + +define punt_socket_dump +{ + u32 client_index; + u32 context; + u8 is_ipv6; +}; + +define punt_socket_details +{ + u32 context; + vl_api_punt_t punt; + u8 pathname[108]; }; autoreply define punt_socket_deregister { u32 client_index; u32 context; - u8 is_ip4; - u8 l4_protocol; - u16 l4_port; + vl_api_punt_t punt; }; /* |