All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas.monjalon@6wind.com>
To: Ferruh Yigit <ferruh.yigit@intel.com>
Cc: dev@dpdk.org
Subject: Re: [PATCH v2] ethdev: cleanup device ops struct whitespace
Date: Thu, 22 Dec 2016 13:46:56 +0100	[thread overview]
Message-ID: <3783806.Ni9PTf7gsf@xps13> (raw)
In-Reply-To: <20161222115330.7164-1-ferruh.yigit@intel.com>

2016-12-22 11:53, Ferruh Yigit:
> To make it easy to comment to latest struct, copy-paste here:
> [With some extra notes]
> 
> struct eth_dev_ops {
> 	eth_dev_configure_t        dev_configure; /**< Configure device. */
> 	eth_dev_start_t            dev_start;     /**< Start device. */
> 	eth_dev_stop_t             dev_stop;      /**< Stop device. */
> 	eth_dev_set_link_up_t      dev_set_link_up;   /**< Device link up. */
> 	eth_dev_set_link_down_t    dev_set_link_down; /**< Device link down. */
> 	eth_dev_close_t            dev_close;     /**< Close device. */
> 	eth_promiscuous_enable_t   promiscuous_enable; /**< Promiscuous ON. */
> 	eth_promiscuous_disable_t  promiscuous_disable;/**< Promiscuous OFF. */
> 	eth_allmulticast_enable_t  allmulticast_enable;/**< RX multicast ON. */
> 	eth_allmulticast_disable_t allmulticast_disable;/**< RX multicast OF. */
> 	eth_link_update_t          link_update;   /**< Get device link state. */
> 
> 	eth_stats_get_t            stats_get;     /**< Get generic device statistics. */
> 	eth_stats_reset_t          stats_reset;   /**< Reset generic device statistics. */
> 	eth_xstats_get_t           xstats_get;    /**< Get extended device statistics. */
> 	eth_xstats_reset_t         xstats_reset;  /**< Reset extended device statistics. */
> 	eth_xstats_get_names_t     xstats_get_names;
> 	/**< Get names of extended statistics. */
> 	eth_queue_stats_mapping_set_t queue_stats_mapping_set;
> 	/**< Configure per queue stat counter mapping. */
> 
> 	eth_dev_infos_get_t        dev_infos_get; /**< Get device info. */
> 	eth_dev_supported_ptypes_get_t dev_supported_ptypes_get;
> 	/**< Get packet types supported and identified by device. */
> 
> 	mtu_set_t                  mtu_set;       /**< Set MTU. */
> 
> 	vlan_filter_set_t          vlan_filter_set; /**< Filter VLAN Setup. */
> 	vlan_tpid_set_t            vlan_tpid_set; /**< Outer/Inner VLAN TPID Setup. */
> 	vlan_strip_queue_set_t     vlan_strip_queue_set; /**< VLAN Stripping on queue. */
> 	vlan_offload_set_t         vlan_offload_set; /**< Set VLAN Offload. */
> 	vlan_pvid_set_t            vlan_pvid_set; /**< Set port based TX VLAN insertion. */
> 
> 	eth_queue_start_t          rx_queue_start;/**< Start RX for a queue. */
> 	eth_queue_stop_t           rx_queue_stop; /**< Stop RX for a queue. */
> 	eth_queue_start_t          tx_queue_start;/**< Start TX for a queue. */
> 	eth_queue_stop_t           tx_queue_stop; /**< Stop TX for a queue. */
> 	eth_rx_queue_setup_t       rx_queue_setup;/**< Set up device RX queue. */
> 	eth_queue_release_t        rx_queue_release; /**< Release RX queue. */
> 	eth_rx_queue_count_t       rx_queue_count;/**< Get Rx queue count. */
> 	eth_rx_descriptor_done_t   rx_descriptor_done; /**< Check rxd DD bit. */
> 	eth_rx_enable_intr_t       rx_queue_intr_enable;  /**< Enable Rx queue interrupt. */
> 	eth_rx_disable_intr_t      rx_queue_intr_disable; /**< Disable Rx queue interrupt. */
> 	eth_tx_queue_setup_t       tx_queue_setup;/**< Set up device TX queue. */
> 	eth_queue_release_t        tx_queue_release; /**< Release TX queue. */
> 
> 	eth_dev_led_on_t           dev_led_on;    /**< Turn on LED. */	[Really need these comments?]
> 	eth_dev_led_off_t          dev_led_off;   /**< Turn off LED. */
> 
> 	flow_ctrl_get_t            flow_ctrl_get; /**< Get flow control. */
> 	flow_ctrl_set_t            flow_ctrl_set; /**< Setup flow control. */
> 	priority_flow_ctrl_set_t   priority_flow_ctrl_set; /**< Setup priority flow control. */
> 
> 	eth_mac_addr_remove_t      mac_addr_remove; /**< Remove MAC address. */
> 	eth_mac_addr_add_t         mac_addr_add;  /**< Add a MAC address. */
> 	eth_mac_addr_set_t         mac_addr_set;  /**< Set a MAC address. */
> 	eth_set_mc_addr_list_t     set_mc_addr_list; /**< set list of mcast addrs. */

Could we group the MAC functions with promiscuous and allmulticast?

> 	eth_uc_hash_table_set_t    uc_hash_table_set; /**< Set Unicast Table Array. */
> 	eth_uc_all_hash_table_set_t uc_all_hash_table_set; /**< Set Unicast hash bitmap. */
> 
> 	eth_mirror_rule_set_t	   mirror_rule_set; /**< Add a traffic mirror rule. */
> 	eth_mirror_rule_reset_t	   mirror_rule_reset; /**< reset a traffic mirror rule. */
> 
> 	[Following already removed from next-net]
> 	eth_set_vf_rx_mode_t       set_vf_rx_mode;/**< Set VF RX mode. */
> 	eth_set_vf_rx_t            set_vf_rx;     /**< enable/disable a VF receive. */
> 	eth_set_vf_tx_t            set_vf_tx;     /**< enable/disable a VF transmit. */
> 	eth_set_vf_vlan_filter_t   set_vf_vlan_filter; /**< Set VF VLAN filter. */
> 	eth_set_vf_rate_limit_t    set_vf_rate_limit; /**< Set VF rate limit. */
> 
> 	eth_udp_tunnel_port_add_t  udp_tunnel_port_add; /** Add UDP tunnel port. */
> 	eth_udp_tunnel_port_del_t  udp_tunnel_port_del; /** Del UDP tunnel port. */
> 
> 	eth_set_queue_rate_limit_t set_queue_rate_limit; /**< Set queue rate limit. */
> 
> 	rss_hash_update_t          rss_hash_update; /** Configure RSS hash protocols. */
> 	rss_hash_conf_get_t        rss_hash_conf_get; /** Get current RSS hash configuration. */
> 	reta_update_t              reta_update;   /** Update redirection table. */
> 	reta_query_t               reta_query;    /** Query redirection table. */
> 
> 	eth_get_reg_t              get_reg;           /**< Get registers. */
> 	eth_get_eeprom_length_t    get_eeprom_length; /**< Get eeprom length. */
> 	eth_get_eeprom_t           get_eeprom;        /**< Get eeprom data. */
> 	eth_set_eeprom_t           set_eeprom;        /**< Set eeprom. */
> 
> 	/* bypass control */
> 	bypass_init_t              bypass_init;
> 	bypass_state_set_t         bypass_state_set;
> 	bypass_state_show_t        bypass_state_show;
> 	bypass_event_set_t         bypass_event_set;
> 	bypass_event_show_t        bypass_event_show;
> 	bypass_wd_timeout_set_t    bypass_wd_timeout_set;
> 	bypass_wd_timeout_show_t   bypass_wd_timeout_show;
> 	bypass_ver_show_t          bypass_ver_show;
> 	bypass_wd_reset_t          bypass_wd_reset;
> 
> 	eth_filter_ctrl_t          filter_ctrl; /**< common filter control. */
> 
> 	eth_rxq_info_get_t         rxq_info_get; /**< retrieve RX queue information. */
> 	eth_txq_info_get_t         txq_info_get; /**< retrieve TX queue information. */

It can be grouped with dev_infos_get

> 	eth_get_dcb_info           get_dcb_info; /** Get DCB information. */
> 
> 	eth_timesync_enable_t      timesync_enable;
> 	/** Turn IEEE1588/802.1AS timestamping on. */
> 	eth_timesync_disable_t     timesync_disable;
> 	/** Turn IEEE1588/802.1AS timestamping off. */
> 	eth_timesync_read_rx_timestamp_t timesync_read_rx_timestamp;
> 	/** Read the IEEE1588/802.1AS RX timestamp. */
> 	eth_timesync_read_tx_timestamp_t timesync_read_tx_timestamp;
> 	/** Read the IEEE1588/802.1AS TX timestamp. */
> 	eth_timesync_adjust_time   timesync_adjust_time; /** Adjust the device clock. */
> 	eth_timesync_read_time     timesync_read_time; /** Get the device clock time. */
> 	eth_timesync_write_time    timesync_write_time; /** Set the device clock time. */
> 
> 	eth_l2_tunnel_eth_type_conf_t l2_tunnel_eth_type_conf;
> 	/** Config ether type of l2 tunnel. */
> 	eth_l2_tunnel_offload_set_t   l2_tunnel_offload_set;
> 	/** Enable/disable l2 tunnel offload functions. */

May it be grouped with other tunnel functions?

> };

  reply	other threads:[~2016-12-22 12:46 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-08 13:59 [PATCH] ethdev: cleanup device ops struct whitespace Ferruh Yigit
2016-12-22 11:18 ` Thomas Monjalon
2016-12-22 11:53 ` [PATCH v2] " Ferruh Yigit
2016-12-22 12:46   ` Thomas Monjalon [this message]
2016-12-22 13:10   ` [PATCH v3] " Ferruh Yigit
2016-12-22 15:00     ` Thomas Monjalon
2016-12-22 15:10     ` Jan Blunck
2016-12-22 15:16       ` Ferruh Yigit
2016-12-22 15:28         ` Thomas Monjalon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3783806.Ni9PTf7gsf@xps13 \
    --to=thomas.monjalon@6wind.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.