All of lore.kernel.org
 help / color / mirror / Atom feed
From: John Fastabend <john.r.fastabend@intel.com>
To: Amir Vadai <amirv@mellanox.com>, Or Gerlitz <or.gerlitz@gmail.com>
Cc: "David S. Miller" <davem@davemloft.net>,
	netdev@vger.kernel.org, Roland Dreier <roland@purestorage.com>,
	Yevgeny Petrilin <yevgenyp@mellanox.com>,
	Oren Duer <oren@mellanox.com>,
	Amir Vadai <amirv@dev.mellanox.co.il>
Subject: Re: [PATCH net-next V6 7/8] net/dcb: Add an optional max rate attribute
Date: Wed, 04 Apr 2012 17:23:58 -0700	[thread overview]
Message-ID: <4F7CE61E.7060406@intel.com> (raw)
In-Reply-To: <1333537084-9186-8-git-send-email-amirv@mellanox.com>

On 4/4/2012 3:58 AM, Amir Vadai wrote:
> Although not specified in 8021Qaz spec, it could be useful to enable drivers
> whose HW supports setting a rate limit for an ETS TC. This patch adds this
> optional attribute to DCB netlink. To use it, drivers should implement and
> register the callbacks ieee_setmaxrate and ieee_getmaxrate. The units are 64
> bits long and specified in Kbps to enable usage over both slow and very fast
> networks.
> 
> Signed-off-by: Amir Vadai <amirv@mellanox.com>
> ---

Or, Amir,

Two more comments inline really just minor nit picks but if your going
to roll new patch mind as well. I'll ack a patch with these changes.

>  include/linux/dcbnl.h |    5 +++++
>  include/net/dcbnl.h   |    2 ++
>  net/dcb/dcbnl.c       |   21 +++++++++++++++++++++
>  3 files changed, 28 insertions(+), 0 deletions(-)
> 
> diff --git a/include/linux/dcbnl.h b/include/linux/dcbnl.h
> index 65a2562..ec8e372 100644
> --- a/include/linux/dcbnl.h
> +++ b/include/linux/dcbnl.h
> @@ -67,6 +67,10 @@ struct ieee_ets {
>  	__u8	reco_prio_tc[IEEE_8021QAZ_MAX_TCS];
>  };
>  

annotate ieee_maxrate so implementers use it correctly per previous note.

> +struct ieee_maxrate {
> +	__u64	tc_maxrate[IEEE_8021QAZ_MAX_TCS];
> +};
> +
>  /* This structure contains the IEEE 802.1Qaz PFC managed object
>   *
>   * @pfc_cap: Indicates the number of traffic classes on the local device
> @@ -321,6 +325,7 @@ enum ieee_attrs {
>  	DCB_ATTR_IEEE_PEER_ETS,
>  	DCB_ATTR_IEEE_PEER_PFC,
>  	DCB_ATTR_IEEE_PEER_APP,
> +	DCB_ATTR_IEEE_MAXRATE,
>  	__DCB_ATTR_IEEE_MAX
>  };
>  #define DCB_ATTR_IEEE_MAX (__DCB_ATTR_IEEE_MAX - 1)
> diff --git a/include/net/dcbnl.h b/include/net/dcbnl.h
> index f55c980..fc5d5dc 100644
> --- a/include/net/dcbnl.h
> +++ b/include/net/dcbnl.h
> @@ -48,6 +48,8 @@ struct dcbnl_rtnl_ops {
>  	/* IEEE 802.1Qaz std */
>  	int (*ieee_getets) (struct net_device *, struct ieee_ets *);
>  	int (*ieee_setets) (struct net_device *, struct ieee_ets *);
> +	int (*ieee_getmaxrate) (struct net_device *, struct ieee_maxrate *);
> +	int (*ieee_setmaxrate) (struct net_device *, struct ieee_maxrate *);
>  	int (*ieee_getpfc) (struct net_device *, struct ieee_pfc *);
>  	int (*ieee_setpfc) (struct net_device *, struct ieee_pfc *);
>  	int (*ieee_getapp) (struct net_device *, struct dcb_app *);
> diff --git a/net/dcb/dcbnl.c b/net/dcb/dcbnl.c
> index 36f37af..d3df048 100644
> --- a/net/dcb/dcbnl.c
> +++ b/net/dcb/dcbnl.c
> @@ -178,6 +178,8 @@ static const struct nla_policy dcbnl_ieee_policy[DCB_ATTR_IEEE_MAX + 1] = {
>  	[DCB_ATTR_IEEE_ETS]	    = {.len = sizeof(struct ieee_ets)},
>  	[DCB_ATTR_IEEE_PFC]	    = {.len = sizeof(struct ieee_pfc)},
>  	[DCB_ATTR_IEEE_APP_TABLE]   = {.type = NLA_NESTED},
> +	[DCB_ATTR_IEEE_MAXRATE]   = {.len = sizeof(struct ieee_maxrate)},
> +

spurious newline remove it

>  };
>  
>  static const struct nla_policy dcbnl_ieee_app[DCB_ATTR_IEEE_APP_MAX + 1] = {
> @@ -1246,6 +1248,17 @@ static int dcbnl_ieee_fill(struct sk_buff *skb, struct net_device *netdev)
>  			goto nla_put_failure;
>  	}
>  
> +	if (ops->ieee_getmaxrate) {
> +		struct ieee_maxrate maxrate;
> +		err = ops->ieee_getmaxrate(netdev, &maxrate);
> +		if (!err) {
> +			err = nla_put(skb, DCB_ATTR_IEEE_MAXRATE,
> +					sizeof(maxrate), &maxrate);

align sizeof with skb

Thanks,
John

  parent reply	other threads:[~2012-04-05  0:24 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-04 10:57 [PATCH net-next V6 0/8] net/mlx4_en: DCB QoS support Amir Vadai
2012-04-04 10:57 ` [PATCH net-next V6 1/8] net/mlx4_en: Force user priority by QP attribute Amir Vadai
2012-04-04 10:57 ` [PATCH net-next V6 2/8] net/mlx4_core: set port QoS attributes Amir Vadai
2012-04-04 10:57 ` [PATCH net-next V6 3/8] net/mlx4_en: DCB QoS support Amir Vadai
2012-04-04 10:58 ` [PATCH net-next V6 4/8] net/mlx4_en: sk_prio <=> UP for untagged traffic Amir Vadai
2012-04-04 10:58 ` [PATCH net-next V6 5/8] net/route: export symbol ip_tos2prio Amir Vadai
2012-04-04 10:58 ` [PATCH net-next V6 6/8] IB/rdma_cm: TOS <=> UP mapping for IBoE Amir Vadai
2012-04-04 10:58 ` [PATCH net-next V6 7/8] net/dcb: Add an optional max rate attribute Amir Vadai
2012-04-04 15:48   ` John Fastabend
2012-04-04 21:56     ` Or Gerlitz
2012-04-04 22:27       ` Or Gerlitz
2012-04-04 22:28         ` David Miller
2012-04-04 22:30           ` Or Gerlitz
2012-04-05  0:23   ` John Fastabend [this message]
2012-04-05  0:39     ` Dave Taht
2012-04-04 10:58 ` [PATCH net-next V6 8/8] net/mlx4_en: Set max rate-limit for a TC Amir Vadai

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=4F7CE61E.7060406@intel.com \
    --to=john.r.fastabend@intel.com \
    --cc=amirv@dev.mellanox.co.il \
    --cc=amirv@mellanox.com \
    --cc=davem@davemloft.net \
    --cc=netdev@vger.kernel.org \
    --cc=or.gerlitz@gmail.com \
    --cc=oren@mellanox.com \
    --cc=roland@purestorage.com \
    --cc=yevgenyp@mellanox.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.