X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fpg%2Fpg.api;h=4f531fb1f5e3adac0131e95b7e56a795a02db479;hb=be56761663b00260813c3bd9db00507c81b6104d;hp=8f986cbc5ed2376275c22caa8e332636f50f0a7c;hpb=9d42087149a6870965896be74dc6260f72d2cac9;p=vpp.git diff --git a/src/vnet/pg/pg.api b/src/vnet/pg/pg.api index 8f986cbc5ed..4f531fb1f5e 100644 --- a/src/vnet/pg/pg.api +++ b/src/vnet/pg/pg.api @@ -18,18 +18,42 @@ This file defines packet-generator interface APIs. */ -option version = "1.0.0"; +option version = "2.0.0"; + +import "vnet/interface_types.api"; + +enum pg_interface_mode : u8 +{ + PG_API_MODE_ETHERNET = 0, + PG_API_MODE_IP4, + PG_API_MODE_IP6, +}; /** \brief PacketGenerator create interface request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param interface_id - interface index + @param gso_enabled - enable gso on this interface + @param gso_size - gso size on this interface */ define pg_create_interface +{ + option deprecated; + + u32 client_index; + u32 context; + vl_api_interface_index_t interface_id; + bool gso_enabled; + u32 gso_size; +}; +define pg_create_interface_v2 { u32 client_index; u32 context; - u32 interface_id; + vl_api_interface_index_t interface_id; + bool gso_enabled; + u32 gso_size; + vl_api_pg_interface_mode_t mode; }; /** \brief PacketGenerator create interface response @@ -38,9 +62,32 @@ define pg_create_interface */ define pg_create_interface_reply { + option deprecated; + u32 context; i32 retval; - u32 sw_if_index; + vl_api_interface_index_t sw_if_index; +}; +define pg_create_interface_v2_reply +{ + u32 context; + i32 retval; + vl_api_interface_index_t sw_if_index; +}; + +/** \brief PacketGenerator interface enable/disable packet coalesce + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param interface_id - interface index + @param coalesce_enabled - enable/disable packet coalesce on this interface +*/ +autoreply define pg_interface_enable_disable_coalesce +{ + u32 client_index; + u32 context; + vl_api_interface_index_t sw_if_index; + bool coalesce_enabled; + option status="in_progress"; }; /** \brief PacketGenerator capture packets on given interface request @@ -49,32 +96,30 @@ define pg_create_interface_reply @param interface_id - pg interface index @param is_enabled - 1 if enabling streams, 0 if disabling @param count - number of packets to be captured - @param pcap_file - pacp file name to store captured packets + @param pcap_file_name - pacp file name to store captured packets */ autoreply define pg_capture { u32 client_index; u32 context; - u32 interface_id; - u8 is_enabled; + vl_api_interface_index_t interface_id; + bool is_enabled [default=true]; u32 count; - u32 pcap_name_length; - u8 pcap_file_name[pcap_name_length]; + string pcap_file_name[]; }; /** \brief Enable / disable packet generator request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param is_enabled - 1 if enabling streams, 0 if disabling - @param stream - stream name to be enable/disabled, if not specified handle all streams + @param stream_name - stream name to be enable/disabled, if not specified handle all streams */ autoreply define pg_enable_disable { u32 client_index; u32 context; - u8 is_enabled; - u32 stream_name_length; - u8 stream_name[stream_name_length]; + bool is_enabled [default=true]; + string stream_name[]; }; /*