lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <97db181208531f427a03c877b9e2cd0cb1105bd1.camel@kernel.org>
Date:   Fri, 06 Nov 2020 14:33:10 -0800
From:   Saeed Mahameed <saeed@...nel.org>
To:     Naveen Mamindlapalli <naveenm@...vell.com>, netdev@...r.kernel.org,
        linux-kernel@...r.kernel.org
Cc:     kuba@...nel.org, davem@...emloft.net, sgoutham@...vell.com,
        lcherian@...vell.com, gakula@...vell.com, jerinj@...vell.com,
        sbhatta@...vell.com, hkelam@...vell.com
Subject: Re: [PATCH v2 net-next 09/13] octeontx2-pf: Implement
 ingress/egress VLAN offload

On Thu, 2020-11-05 at 14:58 +0530, Naveen Mamindlapalli wrote:
> From: Hariprasad Kelam <hkelam@...vell.com>
> 
> This patch implements egress VLAN offload by appending NIX_SEND_EXT_S
> header to NIX_SEND_HDR_S. The VLAN TCI information is specified
> in the NIX_SEND_EXT_S. The VLAN offload in the ingress path is
> implemented by configuring the NIX_RX_VTAG_ACTION_S to strip and
> capture the outer vlan fields. The NIX PF allocates one MCAM entry
> for Rx VLAN offload.
> 
> Signed-off-by: Hariprasad Kelam <hkelam@...vell.com>
> Signed-off-by: Sunil Goutham <sgoutham@...vell.com>
> Signed-off-by: Naveen Mamindlapalli <naveenm@...vell.com>
> ---

..

> @@ -56,6 +58,8 @@ void otx2_mcam_flow_del(struct otx2_nic *pf)
>  int otx2_alloc_mcam_entries(struct otx2_nic *pfvf)
>  {
>  	struct otx2_flow_config *flow_cfg = pfvf->flow_cfg;
> +	netdev_features_t wanted = NETIF_F_HW_VLAN_STAG_RX |
> +				   NETIF_F_HW_VLAN_CTAG_RX;
>  	struct npc_mcam_alloc_entry_req *req;
>  	struct npc_mcam_alloc_entry_rsp *rsp;
>  	int i;
> @@ -88,15 +92,22 @@ int otx2_alloc_mcam_entries(struct otx2_nic
> *pfvf)
>  	if (rsp->count != req->count) {
>  		netdev_info(pfvf->netdev, "number of rules truncated to
> %d\n",
>  			    rsp->count);
> +		netdev_info(pfvf->netdev,
> +			    "Disabling RX VLAN offload due to non-
> availability of MCAM space\n");
>  		/* support only ntuples here */
>  		flow_cfg->ntuple_max_flows = rsp->count;
>  		flow_cfg->ntuple_offset = 0;
>  		pfvf->netdev->priv_flags &= ~IFF_UNICAST_FLT;
>  		pfvf->flags &= ~OTX2_FLAG_UCAST_FLTR_SUPPORT;
> +		pfvf->flags &= ~OTX2_FLAG_RX_VLAN_SUPPORT;
> +		pfvf->netdev->features &= ~wanted;
> +		pfvf->netdev->hw_features &= ~wanted;

Drivers are not allowed to change own features dynamically.

please see:
https://www.kernel.org/doc/html/latest/networking/netdev-features.html

Features dependencies must be resolved via: 
ndo_fix_features() and netdev_update_features();

 
> +static netdev_features_t
> +otx2_features_check(struct sk_buff *skb, struct net_device *dev,
> +		    netdev_features_t features)
> +{
> +	return features;
> +}
> +

what is the point of no-op features_check ?


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ