X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Finterface.api;h=a18907065a534dd56741645a6c031a90aca426bb;hb=refs%2Fchanges%2F55%2F8055%2F2;hp=afa8bb5e7c434ffd959da449f37713da344a080e;hpb=65e845785f21e6b43c026f092e982171eec1f641;p=vpp.git diff --git a/src/vnet/interface.api b/src/vnet/interface.api index afa8bb5e7c4..a18907065a5 100644 --- a/src/vnet/interface.api +++ b/src/vnet/interface.api @@ -4,27 +4,14 @@ @param sw_if_index - index of the interface to set flags on @param admin_up_down - set the admin state, 1 = up, 0 = down @param link_up_down - Oper state sent on change event, not used in config. - @param deleted - interface was deleted */ -define sw_interface_set_flags +autoreply define sw_interface_set_flags { u32 client_index; u32 context; u32 sw_if_index; /* 1 = up, 0 = down */ u8 admin_up_down; - u8 link_up_down; - u8 deleted; -}; - -/** \brief Reply to sw_interface_set_flags - @param context - sender context which was passed in the request - @param retval - return code of the set flags request -*/ -define sw_interface_set_flags_reply -{ - u32 context; - i32 retval; }; /** \brief Set interface MTU @@ -33,7 +20,7 @@ define sw_interface_set_flags_reply @param sw_if_index - index of the interface to set MTU on @param mtu - MTU */ -define sw_interface_set_mtu +autoreply define sw_interface_set_mtu { u32 client_index; u32 context; @@ -41,14 +28,20 @@ define sw_interface_set_mtu u16 mtu; }; -/** \brief Reply to sw_interface_set_mtu - @param context - sender context which was passed in the request - @param retval - return code of the set flags request +/** \brief Interface Event generated by want_interface_events + @param context - sender context, to match reply w/ request + @param sw_if_index - index of the interface of the event + @param admin_up_down - The administrative state; 1 = up, 0 = down + @param link_up_down - The operational state; 1 = up, 0 = down + @param deleted - interface was deleted */ -define sw_interface_set_mtu_reply +define sw_interface_event { u32 context; - i32 retval; + u32 sw_if_index; + u8 admin_up_down; + u8 link_up_down; + u8 deleted; }; /** \brief Register for interface events @@ -57,7 +50,7 @@ define sw_interface_set_mtu_reply @param enable_disable - 1 => register for events, 0 => cancel registration @param pid - sender's pid */ -define want_interface_events +autoreply define want_interface_events { u32 client_index; u32 context; @@ -65,16 +58,6 @@ define want_interface_events u32 pid; }; -/** \brief Reply for interface events registration - @param context - returned sender context, to match reply w/ request - @param retval - return code -*/ -define want_interface_events_reply -{ - u32 context; - i32 retval; -}; - /** \brief Interface details structure (fix this) @param sw_if_index - index of the interface @param sup_sw_if_index - index of parent interface if any, else same as sw_if_index @@ -184,7 +167,7 @@ define sw_interface_dump @param address_length - address length in bytes, 4 for ip4, 16 for ip6 @param address - array of address bytes */ -define sw_interface_add_del_address +autoreply define sw_interface_add_del_address { u32 client_index; u32 context; @@ -196,16 +179,6 @@ define sw_interface_add_del_address u8 address[16]; }; -/** \brief Reply to sw_interface_add_del_address - @param context - returned sender context, to match reply w/ request - @param retval - return code -*/ -define sw_interface_add_del_address_reply -{ - u32 context; - i32 retval; -}; - /** \brief Associate the specified interface with a fib table @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -213,7 +186,7 @@ define sw_interface_add_del_address_reply @param is_ipv6 - if non-zero ipv6, else ipv4 @param vrf_id - fib table/vrd id to associate the interface with */ -define sw_interface_set_table +autoreply define sw_interface_set_table { u32 client_index; u32 context; @@ -222,16 +195,6 @@ define sw_interface_set_table u32 vrf_id; }; -/** \brief Reply to sw_interface_set_table - @param context - returned sender context, to match reply w/ request - @param retval - return code -*/ -define sw_interface_set_table_reply -{ - u32 context; - i32 retval; -}; - /** \brief Get VRF id assigned to interface @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -256,21 +219,42 @@ define sw_interface_get_table_reply u32 vrf_id; }; -/** \brief Stats counters structure +typeonly manual_print manual_endian define vlib_counter +{ + u64 packets; /**< packet counter */ + u64 bytes; /**< byte counter */ +}; + +/** \brief Simple stats counters structure + @param vnet_counter_type- such as ip4, ip6, punts, etc + @param first_sw_if_index - first sw index in block of index, counts + @param count - number of counters, equal to the number of interfaces in + this stats block + @param data - contiguous block of u64 counters +*/ +manual_print manual_endian define vnet_interface_simple_counters +{ + /* enums - plural - in vnet/interface.h */ + u8 vnet_counter_type; + u32 first_sw_if_index; + u32 count; + u64 data[count]; +}; + +/** \brief Combined stats counters structure @param vnet_counter_type- such as ip4, ip6, punts, etc - @param is_combined - rx & tx total (all types) counts @param first_sw_if_index - first sw index in block of index, counts - @param count - number of interfaces this stats block includes counters for - @param data - contiguous block of vlib_counter_t structures + @param count - number of counters, equal to the number of interfaces in + this stats block + @param data - contiguous block of vlib_counter_t structures */ -define vnet_interface_counters +manual_print manual_endian define vnet_interface_combined_counters { /* enums - plural - in vnet/interface.h */ u8 vnet_counter_type; - u8 is_combined; u32 first_sw_if_index; u32 count; - u8 data[count]; + vl_api_vlib_counter_t data[count]; }; /** \brief Set unnumbered interface add / del request @@ -280,7 +264,7 @@ define vnet_interface_counters @param unnumbered_sw_if_index - interface which will use the address @param is_add - if non-zero set the association, else unset it */ -define sw_interface_set_unnumbered +autoreply define sw_interface_set_unnumbered { u32 client_index; u32 context; @@ -289,38 +273,18 @@ define sw_interface_set_unnumbered u8 is_add; }; -/** \brief Set unnumbered interface add / del response - @param context - sender context, to match reply w/ request - @param retval - return code for the request -*/ -define sw_interface_set_unnumbered_reply -{ - u32 context; - i32 retval; -}; - /** \brief Clear interface statistics @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param sw_if_index - index of the interface to clear statistics */ -define sw_interface_clear_stats +autoreply define sw_interface_clear_stats { u32 client_index; u32 context; u32 sw_if_index; }; -/** \brief Reply to sw_interface_clear_stats - @param context - sender context which was passed in the request - @param retval - return code of the set flags request -*/ -define sw_interface_clear_stats_reply -{ - u32 context; - i32 retval; -}; - /** \brief Set / clear software interface tag @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -328,7 +292,7 @@ define sw_interface_clear_stats_reply @param add_del - 1 = add, 0 = delete @param tag - an ascii tag */ -define sw_interface_tag_add_del +autoreply define sw_interface_tag_add_del { u32 client_index; u32 context; @@ -337,18 +301,22 @@ define sw_interface_tag_add_del u8 tag[64]; }; -/** \brief Reply to set / clear software interface tag - @param context - sender context which was passed in the request - @param retval - return code for the request +/** \brief Set an interface's MAC address + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param sw_if_index - the interface whose MAC will be set + @param mac_addr - the new MAC address */ -define sw_interface_tag_add_del_reply +autoreply define sw_interface_set_mac_address { + u32 client_index; u32 context; - i32 retval; + u32 sw_if_index; + u8 mac_address[6]; }; + /* * Local Variables: * eval: (c-set-style "gnu") * End: */ -