All of lore.kernel.org
 help / color / mirror / Atom feed
From: Patrick McHardy <kaber@trash.net>
To: Dave Johnson <djohnson+linux-kernel@sw.starentnetworks.com>
Cc: David Miller <davem@davemloft.net>,
	jes@trained-monkey.org, mchan@broadcom.com,
	ram.vepa@neterion.com, linux-kernel@vger.kernel.org,
	netdev@vger.kernel.org, bguo@sw.starentnetworks.com
Subject: Re: [PATCH 1/2] NET: Re-add VLAN tag for devices incapable of keeping it
Date: Mon, 05 Nov 2007 19:00:19 +0100	[thread overview]
Message-ID: <472F5A33.20906@trash.net> (raw)
In-Reply-To: <18223.22291.622615.129374@zeus.sw.starentnetworks.com>

Dave Johnson wrote:
> +/* VLAN rx hw acceleration helper.  This acts like netif_{rx,receive_skb}(). */
> +static inline int __vlan_hwaccel_rx(struct sk_buff *skb,
> +				    struct vlan_group *grp,
> +				    unsigned short vlan_tag, int polling)
> +{
> ...
> +		/* Driver removed vlan tag from the packet, but we have no
> +		 * vlan device for this VID.
> +		 *
> +		 * This can occur for 2 reasons:
> +		 * 1) Have a vlan group, we want some VIDs, just not this VID.
> +		 * 2) Have no vlan group, but hardware limitation requires it
> +		 *    to remove vlan tags anyway.
> +		 *
> +		 * Normally if no vlan group is configured, the underlying
> +		 * driver will configure the hardware to NOT strip out the
> +		 * vlan tag.  It can then call netif_receive_skb/netif_rx
> +		 * with the vlan tag still intact.  However some devices
> +		 * cannot be configured to keep the vlan tag and must not
> +		 * call netif_receive_skb/netif_rx with the vlan tag
> +		 * missing.  This would allow the normal protocol handlers
> +		 * to process this tagged packet as if it arived without a
> +		 * vlan tag.
> +		 *
> +		 * We need to re-add the TAG and hand the packet off to the
> +		 * base device with the TAG present so any protocol handlers
> +		 * (PF_PACKET, etc...) will get a chance to see it.
> +		 */


This looks like a rather expensive operation for the unlikely case
that packets will be received by a packet socket. IMO it should only
be reconstructed if actually needed, by af_packet itself.

As we discussed some time back storing the VLAN tag in the CB on
TX clashes with other users of the CB like qdiscs, so we need a
new field in the skb for this anyway.


  reply	other threads:[~2007-11-05 18:00 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-31 18:43 expected behavior of PF_PACKET on NETIF_F_HW_VLAN_RX device? Dave Johnson
2007-10-31 19:33 ` Stephen Hemminger
2007-11-01  1:06   ` Ben Greear
2007-11-01  1:10     ` David Miller
2007-11-01  1:23     ` Stephen Hemminger
2007-11-01  1:31       ` Ben Greear
2007-11-01  4:50       ` David Miller
2007-11-01 15:04         ` Ben Greear
2007-11-01 21:35           ` David Miller
2007-11-01 21:36           ` Dave Johnson
2007-11-01 21:48             ` Rick Jones
2007-11-01 21:59               ` David Miller
2007-11-01 22:04                 ` Rick Jones
2007-11-01 22:07                   ` David Miller
2007-11-01 23:26                     ` Rick Jones
2007-11-05 17:46                       ` [PATCH 1/2] NET: Re-add VLAN tag for devices incapable of keeping it Dave Johnson
2007-11-05 18:00                         ` Patrick McHardy [this message]
2007-11-05 23:15                           ` David Miller
2007-11-06  0:21                             ` Patrick McHardy
2007-11-06  0:35                               ` David Miller
2007-11-06 18:03                               ` Krzysztof Halasa
2007-11-06 18:56                                 ` Ben Greear
2007-11-06 20:08                                   ` Krzysztof Halasa
2007-11-06 23:55                                 ` Patrick McHardy
2007-11-05 17:47                       ` [PATCH 2/2] " Dave Johnson
2007-11-06  2:39                         ` Ramkrishna Vepa
2007-11-06  2:39                           ` Ramkrishna Vepa
2007-11-06 18:28                           ` Ramkrishna Vepa
2007-11-06 18:28                             ` Ramkrishna Vepa
2007-11-06 18:34                             ` Dave Johnson
2007-11-01 21:58             ` expected behavior of PF_PACKET on NETIF_F_HW_VLAN_RX device? David Miller
2007-11-02 18:08             ` Dave Johnson
2007-11-02 21:20               ` David Miller
2007-11-02 21:52               ` Michael Chan

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=472F5A33.20906@trash.net \
    --to=kaber@trash.net \
    --cc=bguo@sw.starentnetworks.com \
    --cc=davem@davemloft.net \
    --cc=djohnson+linux-kernel@sw.starentnetworks.com \
    --cc=jes@trained-monkey.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mchan@broadcom.com \
    --cc=netdev@vger.kernel.org \
    --cc=ram.vepa@neterion.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.