-option version = "1.0.0";
+option version = "2.0.0";
service {
rpc want_interface_events returns want_interface_events_reply
u8 admin_up_down;
};
-/** \brief Set interface MTU
+/** \brief Set interface physical MTU
@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 set MTU on
@param mtu - MTU
*/
-autoreply define sw_interface_set_mtu
+autoreply define hw_interface_set_mtu
{
u32 client_index;
u32 context;
u16 mtu;
};
+/** \brief Set interface L3 MTU */
+autoreply define sw_interface_set_mtu
+{
+ u32 client_index;
+ u32 context;
+ u32 sw_if_index;
+ /* $$$$ Replace with enum */
+ u32 mtu[4]; /* 0 - L3, 1 - IP4, 2 - IP6, 3 - MPLS */
+};
+
+/** \brief Set IP4 directed broadcast
+ The directed broadcast enabled a packet sent to the interface's
+ subnet address will be broadcast on the interface
+ @param sw_if_index
+ @param enable
+*/
+autoreply define sw_interface_set_ip_directed_broadcast
+{
+ u32 client_index;
+ u32 context;
+ u32 sw_if_index;
+ u8 enable;
+};
+
+
/** \brief Interface Event generated by want_interface_events
@param client_index - opaque cookie to identify the sender
@param pid - client pid registered to receive notification
/* MTU */
u16 link_mtu;
+ /* Per protocol MTUs */
+ u32 mtu[4]; /* 0 - L3, 1 - IP4, 2 - IP6, 3 - MPLS */
+
/* Subinterface ID. A number 0-N to uniquely identify this subinterface under the super interface */
u32 sub_id;
@param sw_if_index - interface indexes for counters
@param rx_packets - received packet count
@param rx_bytes - received byte count
+ @param rx_unicast_packets - received unicast packet count
+ @param rx_unicast_bytes - received unicast byte count
+ @param rx_multicast_packets - received multicast packet count
+ @param rx_multicast_bytes - received multicast byte count
+ @param rx_broadcast_packets - received broadcast packet count
+ @param rx_broadcast_bytes - received broadcast byte count
@param tx_packets - transmitted packet count
@param tx_bytes - transmitted byte count
+ @param tx_unicast_packets - transmitted unicast packet count
+ @param tx_unicast_bytes - transmitted unicast byte count
+ @param tx_multicast_packets - transmitted multicast packet count
+ @param tx_multicast_bytes - transmitted multicast byte count
+ @param tx_broadcast_packets - transmitted broadcast packet count
+ @param tx_broadcast_bytes - transmitted broadcast byte count
*/
typeonly manual_print manual_endian define vnet_combined_counter
{
u32 sw_if_index;
- u64 rx_packets; /**< packet counter */
- u64 rx_bytes; /**< byte counter */
- u64 tx_packets; /**< packet counter */
- u64 tx_bytes; /**< byte counter */
+ u64 rx_packets; /**< packet counter */
+ u64 rx_bytes; /**< byte counter */
+ u64 rx_unicast_packets; /**< packet counter */
+ u64 rx_unicast_bytes; /**< byte counter */
+ u64 rx_multicast_packets; /**< packet counter */
+ u64 rx_multicast_bytes; /**< byte counter */
+ u64 rx_broadcast_packets; /**< packet counter */
+ u64 rx_broadcast_bytes; /**< byte counter */
+ u64 tx_packets; /**< packet counter */
+ u64 tx_bytes; /**< byte counter */
+ u64 tx_unicast_packets; /**< packet counter */
+ u64 tx_unicast_bytes; /**< byte counter */
+ u64 tx_multicast_packets; /**< packet counter */
+ u64 tx_multicast_bytes; /**< byte counter */
+ u64 tx_broadcast_packets; /**< packet counter */
+ u64 tx_broadcast_bytes; /**< byte counter */
};
/** \brief Simple interface counter data type for vnet_interface_simple_counters
u8 mac_address[6];
};
+/** \brief Get 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 returned
+*/
+define sw_interface_get_mac_address
+{
+ u32 client_index;
+ u32 context;
+ u32 sw_if_index;
+};
+
+/** \brief Reply for get interface's MAC address request
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
+ @param mac_addr - returned interface's MAC address
+*/
+define sw_interface_get_mac_address_reply
+{
+ u32 context;
+ i32 retval;
+ u8 mac_address[6];
+};
+
/** \brief Set an interface's rx-mode
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
u32 sw_if_index;
};
+/** \brief Enable or disable detailed interface stats
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param sw_if_index - The interface to collect detail stats on. ~0 implies
+ all interfaces.
+ @param enable_disable - set to 1 to enable, 0 to disable detailed stats
+*/
+autoreply define collect_detailed_interface_stats
+{
+ u32 client_index;
+ u32 context;
+ u32 sw_if_index;
+ u8 enable_disable;
+};
+
/*
* Local Variables:
* eval: (c-set-style "gnu")