From: Chris Friesen <chris.friesen@windriver.com>
To: intel-wired-lan@osuosl.org
Subject: [Intel-wired-lan] vlan packet handling in ixgbevf driver when in promiscuous mode
Date: Fri, 29 May 2015 14:59:48 -0600 [thread overview]
Message-ID: <5568D344.9090903@windriver.com> (raw)
Hi,
I'm doing some work with ixgbevf in the 3.10 kernel, but the current linux
kernel git version seems to have similar behaviour.
Basically I'm interested in doing packet sniffing in a VM guest using PCI
passthrough of a VF of an 82599.
What I'm seeing is that if I register for a vlan in the guest (creating
eth1.100, for example) and then run tcpdump on the underlying device (eth1, for
example) then I see the packet with the vlan header in it.
If I remove that vlan, then I see the packet with no vlan header.
I think this is coming from ixgbevf_receive_skb() in 3.10 (or
ixgbevf_process_skb_fields() in current upstream git) where it has code that
looks like this:
if (test_bit(vid & VLAN_VID_MASK, active_vlans))
__vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q), vid);
While this makes sense for normal operation (where traffic from other vlans
isn't coming in anyways) I don't think it makes sense when promiscuous mode is
enabled.
In promiscuous mode I want to be able to see exactly what packets are coming on
the (virtual) wire, so I should be able to see the vlan header even if I haven't
actually registered for that vlan.
Basically I think that code above should add an "or device is in promiscuous
mode" clause.
Thoughts?
Chris
next reply other threads:[~2015-05-29 20:59 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-29 20:59 Chris Friesen [this message]
2015-06-01 16:48 ` [Intel-wired-lan] vlan packet handling in ixgbevf driver when in promiscuous mode Rose, Gregory V
2015-06-02 0:01 ` Chris Friesen
2015-06-02 0:47 ` Hiroshi Shimamoto
2015-06-02 3:18 ` Alexander Duyck
2015-06-04 15:54 ` Rose, Gregory V
2015-06-04 18:31 ` Chris Friesen
2015-06-04 20:34 ` Alexander Duyck
2015-06-04 20:45 ` Chris Friesen
2015-06-04 21:02 ` Alexander Duyck
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=5568D344.9090903@windriver.com \
--to=chris.friesen@windriver.com \
--cc=intel-wired-lan@osuosl.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox