From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id D45819A9E for ; Tue, 2 Jun 2015 04:50:47 +0200 (CEST) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga103.jf.intel.com with ESMTP; 01 Jun 2015 19:50:46 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.13,536,1427785200"; d="scan'208";a="580391792" Received: from pgsmsx101.gar.corp.intel.com ([10.221.44.78]) by orsmga003.jf.intel.com with ESMTP; 01 Jun 2015 19:50:46 -0700 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by PGSMSX101.gar.corp.intel.com (10.221.44.78) with Microsoft SMTP Server (TLS) id 14.3.224.2; Tue, 2 Jun 2015 10:50:44 +0800 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.120]) by SHSMSX104.ccr.corp.intel.com ([169.254.5.94]) with mapi id 14.03.0224.002; Tue, 2 Jun 2015 10:50:36 +0800 From: "Liu, Jijiang" To: "Wu, Jingjing" Thread-Topic: [PATCH 1/3] ethdev: rename rte_eth_vmdq_mirror_conf Thread-Index: AQHQjVltz3wiL5aM102k/Gklo1DMWZ2Yooyg Date: Tue, 2 Jun 2015 02:50:35 +0000 Message-ID: <1ED644BD7E0A5F4091CF203DAFB8E4CC0575EA25@SHSMSX101.ccr.corp.intel.com> References: <1431506824-23032-1-git-send-email-jingjing.wu@intel.com> <1431506824-23032-2-git-send-email-jingjing.wu@intel.com> In-Reply-To: <1431506824-23032-2-git-send-email-jingjing.wu@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] [PATCH 1/3] ethdev: rename rte_eth_vmdq_mirror_conf X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Jun 2015 02:50:48 -0000 > -----Original Message----- > From: Wu, Jingjing > Sent: Wednesday, May 13, 2015 4:47 PM > To: dev@dpdk.org > Cc: Wu, Jingjing; Jiajia, SunX; Zhang, Helin; Liu, Jijiang > Subject: [PATCH 1/3] ethdev: rename rte_eth_vmdq_mirror_conf >=20 > This patch renames rte_eth_vmdq_mirror_conf to rte_eth_mirror_conf and > move the maximum number check from ethdev level to driver >=20 > Signed-off-by: Jingjing Wu > --- > app/test-pmd/cmdline.c | 18 +++++++++--------- > lib/librte_ether/rte_ethdev.c | 18 ++---------------- > lib/librte_ether/rte_ethdev.h | 19 +++++++++++-------- > lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 11 +++++++---- > lib/librte_pmd_ixgbe/ixgbe_ethdev.h | 4 +++- > 5 files changed, 32 insertions(+), 38 deletions(-) >=20 > diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index > f01db2a..9c1fb43 100644 > --- a/app/test-pmd/cmdline.c > +++ b/app/test-pmd/cmdline.c > @@ -6604,9 +6604,9 @@ cmd_set_mirror_mask_parsed(void > *parsed_result, { > int ret,nb_item,i; > struct cmd_set_mirror_mask_result *res =3D parsed_result; > - struct rte_eth_vmdq_mirror_conf mr_conf; > + struct rte_eth_mirror_conf mr_conf; >=20 > - memset(&mr_conf,0,sizeof(struct rte_eth_vmdq_mirror_conf)); > + memset(&mr_conf, 0, sizeof(struct rte_eth_mirror_conf)); >=20 > unsigned int vlan_list[ETH_VMDQ_MAX_VLAN_FILTERS]; >=20 > @@ -6622,7 +6622,7 @@ cmd_set_mirror_mask_parsed(void > *parsed_result, > if (nb_item <=3D 0) > return; >=20 > - for(i=3D0; i < nb_item; i++) { > + for (i =3D 0; i < nb_item; i++) { > if (vlan_list[i] > ETHER_MAX_VLAN_ID) { > printf("Invalid vlan_id: must be < 4096\n"); > return; > @@ -6634,10 +6634,10 @@ cmd_set_mirror_mask_parsed(void > *parsed_result, > } >=20 > if(!strcmp(res->on, "on")) > - ret =3D rte_eth_mirror_rule_set(res->port_id,&mr_conf, > + ret =3D rte_eth_mirror_rule_set(res->port_id, &mr_conf, > res->rule_id, 1); > else > - ret =3D rte_eth_mirror_rule_set(res->port_id,&mr_conf, > + ret =3D rte_eth_mirror_rule_set(res->port_id, &mr_conf, > res->rule_id, 0); > if(ret < 0) > printf("mirror rule add error: (%s)\n", strerror(-ret)); @@ - > 6711,9 +6711,9 @@ cmd_set_mirror_link_parsed(void *parsed_result, { > int ret; > struct cmd_set_mirror_link_result *res =3D parsed_result; > - struct rte_eth_vmdq_mirror_conf mr_conf; > + struct rte_eth_mirror_conf mr_conf; >=20 > - memset(&mr_conf,0,sizeof(struct rte_eth_vmdq_mirror_conf)); > + memset(&mr_conf, 0, sizeof(struct rte_eth_mirror_conf)); > if(!strcmp(res->what, "uplink-mirror")) { > mr_conf.rule_type_mask =3D ETH_VMDQ_UPLINK_MIRROR; > }else if(!strcmp(res->what, "downlink-mirror")) @@ -6722,10 > +6722,10 @@ cmd_set_mirror_link_parsed(void *parsed_result, > mr_conf.dst_pool =3D res->dstpool_id; >=20 > if(!strcmp(res->on, "on")) > - ret =3D rte_eth_mirror_rule_set(res->port_id,&mr_conf, > + ret =3D rte_eth_mirror_rule_set(res->port_id, &mr_conf, > res->rule_id, 1); > else > - ret =3D rte_eth_mirror_rule_set(res->port_id,&mr_conf, > + ret =3D rte_eth_mirror_rule_set(res->port_id, &mr_conf, > res->rule_id, 0); >=20 > /* check the return value and print it if is < 0 */ diff --git > a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c index > 024fe8b..43c7295 100644 > --- a/lib/librte_ether/rte_ethdev.c > +++ b/lib/librte_ether/rte_ethdev.c > @@ -3034,7 +3034,7 @@ int rte_eth_set_vf_rate_limit(uint8_t port_id, > uint16_t vf, uint16_t tx_rate, >=20 > int > rte_eth_mirror_rule_set(uint8_t port_id, > - struct rte_eth_vmdq_mirror_conf *mirror_conf, > + struct rte_eth_mirror_conf *mirror_conf, > uint8_t rule_id, uint8_t on) > { > struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; @@ -3051,7 > +3051,7 @@ rte_eth_mirror_rule_set(uint8_t port_id, >=20 > if (mirror_conf->dst_pool >=3D ETH_64_POOLS) { > PMD_DEBUG_TRACE("Invalid dst pool, pool id must" > - "be 0-%d\n",ETH_64_POOLS - 1); > + "be 0-%d\n", ETH_64_POOLS - 1); > return -EINVAL; > } >=20 > @@ -3062,13 +3062,6 @@ rte_eth_mirror_rule_set(uint8_t port_id, > return -EINVAL; > } >=20 > - if(rule_id >=3D ETH_VMDQ_NUM_MIRROR_RULE) > - { > - PMD_DEBUG_TRACE("Invalid rule_id, rule_id must be 0- > %d\n", > - ETH_VMDQ_NUM_MIRROR_RULE - 1); > - return -EINVAL; > - } > - > dev =3D &rte_eth_devices[port_id]; > FUNC_PTR_OR_ERR_RET(*dev->dev_ops->mirror_rule_set, - > ENOTSUP); >=20 > @@ -3085,13 +3078,6 @@ rte_eth_mirror_rule_reset(uint8_t port_id, > uint8_t rule_id) > return -ENODEV; > } >=20 > - if(rule_id >=3D ETH_VMDQ_NUM_MIRROR_RULE) > - { > - PMD_DEBUG_TRACE("Invalid rule_id, rule_id must be 0- > %d\n", > - ETH_VMDQ_NUM_MIRROR_RULE-1); > - return -EINVAL; > - } > - > dev =3D &rte_eth_devices[port_id]; > FUNC_PTR_OR_ERR_RET(*dev->dev_ops->mirror_rule_reset, - > ENOTSUP); >=20 > diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.= h > index 16dbe00..562b190 100644 > --- a/lib/librte_ether/rte_ethdev.h > +++ b/lib/librte_ether/rte_ethdev.h > @@ -467,8 +467,10 @@ struct rte_eth_rss_conf { > #define ETH_VMDQ_ACCEPT_BROADCAST 0x0008 /**< accept broadcast > packets. */ > #define ETH_VMDQ_ACCEPT_MULTICAST 0x0010 /**< multicast > promiscuous. */ >=20 > -/* Definitions used for VMDQ mirror rules setting */ > -#define ETH_VMDQ_NUM_MIRROR_RULE 4 /**< Maximum nb. of mirror > rules. . */ > +/* Definitions used for mirror rules setting */ > +#define ETH_MAX_NUM_MIRROR_RULE 16 /**< Maximum nb. of > mirror rules. */ > +#define ETH_MIRROR_MAX_NUM_VLANS 64 > +/** Maximum nb. of vlan per mirror rule*/ >=20 > #define ETH_VMDQ_POOL_MIRROR 0x0001 /**< Virtual Pool Mirroring. > */ > #define ETH_VMDQ_UPLINK_MIRROR 0x0002 /**< Uplink Port Mirroring. > */ @@ -480,18 +482,19 @@ struct rte_eth_rss_conf { > */ > struct rte_eth_vlan_mirror { > uint64_t vlan_mask; /**< mask for valid VLAN ID. */ > - uint16_t vlan_id[ETH_VMDQ_MAX_VLAN_FILTERS]; > + uint16_t vlan_id[ETH_MIRROR_MAX_NUM_VLANS]; > /** VLAN ID list for vlan mirror. */ The comment doesn't follow coding rule, which should be /**< VLAN ID list f= or vlan mirror. */ > }; >=20 > /** > * A structure used to configure traffic mirror of an Ethernet port. > */ > -struct rte_eth_vmdq_mirror_conf { > +struct rte_eth_mirror_conf { > uint8_t rule_type_mask; /**< Mirroring rule type mask we want to > set */ > - uint8_t dst_pool; /**< Destination pool for this mirror rule. */ > + uint8_t dst_pool; /**< Destination pool for this mirror rule. */ > uint64_t pool_mask; /**< Bitmap of pool for pool mirroring */ > - struct rte_eth_vlan_mirror vlan; /**< VLAN ID setting for VLAN > mirroring */ > + struct rte_eth_vlan_mirror vlan; > + /** VLAN ID setting for VLAN mirroring */ The comment doesn't follow coding rule, which should be /**< VLAN ID settin= g for VLAN mirroring*/, Could you please check other places? > }; >=20 > /** > @@ -1211,7 +1214,7 @@ typedef int (*eth_set_vf_rate_limit_t)(struct > rte_eth_dev *dev, /**< @internal Set VF TX rate */ >=20 > typedef int (*eth_mirror_rule_set_t)(struct rte_eth_dev *dev, > - struct rte_eth_vmdq_mirror_conf > *mirror_conf, > + struct rte_eth_mirror_conf *mirror_conf, > uint8_t rule_id, > uint8_t on); > /**< @internal Add a traffic mirroring rule on an Ethernet device */ @@ = - > 3168,7 +3171,7 @@ rte_eth_dev_set_vf_vlan_filter(uint8_t port, uint16_t > vlan_id, > * - (-EINVAL) if the mr_conf information is not correct. > */ > int rte_eth_mirror_rule_set(uint8_t port_id, > - struct rte_eth_vmdq_mirror_conf *mirror_conf, > + struct rte_eth_mirror_conf *mirror_conf, > uint8_t rule_id, > uint8_t on); >=20 > diff --git a/lib/librte_pmd_ixgbe/ixgbe_ethdev.c > b/lib/librte_pmd_ixgbe/ixgbe_ethdev.c > index 5f9a1cf..2e19314 100644 > --- a/lib/librte_pmd_ixgbe/ixgbe_ethdev.c > +++ b/lib/librte_pmd_ixgbe/ixgbe_ethdev.c > @@ -209,7 +209,7 @@ static int ixgbe_set_pool_tx(struct rte_eth_dev > *dev,uint16_t pool,uint8_t on); static int ixgbe_set_pool_vlan_filter(st= ruct > rte_eth_dev *dev, uint16_t vlan, > uint64_t pool_mask,uint8_t vlan_on); > static int ixgbe_mirror_rule_set(struct rte_eth_dev *dev, > - struct rte_eth_vmdq_mirror_conf *mirror_conf, > + struct rte_eth_mirror_conf *mirror_conf, > uint8_t rule_id, uint8_t on); > static int ixgbe_mirror_rule_reset(struct rte_eth_dev *dev, > uint8_t rule_id); > @@ -3388,7 +3388,7 @@ ixgbe_set_pool_vlan_filter(struct rte_eth_dev > *dev, uint16_t vlan, >=20 > static int > ixgbe_mirror_rule_set(struct rte_eth_dev *dev, > - struct rte_eth_vmdq_mirror_conf *mirror_conf, > + struct rte_eth_mirror_conf *mirror_conf, > uint8_t rule_id, uint8_t on) > { > uint32_t mr_ctl,vlvf; > @@ -3412,7 +3412,10 @@ ixgbe_mirror_rule_set(struct rte_eth_dev *dev, > IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private); >=20 > if (ixgbe_vmdq_mode_check(hw) < 0) > - return (-ENOTSUP); > + return -ENOTSUP; > + > + if (rule_id >=3D IXGBE_MAX_NUM_MIRROR_RULE) > + return -EINVAL; >=20 > /* Check if vlan mask is valid */ > if ((mirror_conf->rule_type_mask & ETH_VMDQ_VLAN_MIRROR) && > (on)) { @@ -3526,7 +3529,7 @@ ixgbe_mirror_rule_reset(struct rte_eth_dev > *dev, uint8_t rule_id) > return (-ENOTSUP); >=20 > memset(&mr_info->mr_conf[rule_id], 0, > - sizeof(struct rte_eth_vmdq_mirror_conf)); > + sizeof(struct rte_eth_mirror_conf)); >=20 > /* clear PFVMCTL register */ > IXGBE_WRITE_REG(hw, IXGBE_MRCTL(rule_id), mr_ctl); diff --git > a/lib/librte_pmd_ixgbe/ixgbe_ethdev.h > b/lib/librte_pmd_ixgbe/ixgbe_ethdev.h > index 419ea5d..6422000 100644 > --- a/lib/librte_pmd_ixgbe/ixgbe_ethdev.h > +++ b/lib/librte_pmd_ixgbe/ixgbe_ethdev.h > @@ -177,8 +177,10 @@ struct ixgbe_uta_info { > uint32_t uta_shadow[IXGBE_MAX_UTA]; > }; >=20 > +#define IXGBE_MAX_NUM_MIRROR_RULE 4 /* Maximum nb. of mirror > rules. */ > + > struct ixgbe_mirror_info { > - struct rte_eth_vmdq_mirror_conf > mr_conf[ETH_VMDQ_NUM_MIRROR_RULE]; > + struct rte_eth_mirror_conf > mr_conf[IXGBE_MAX_NUM_MIRROR_RULE]; > /**< store PF mirror rules configuration*/ }; >=20 > -- > 1.9.3