All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Manning <mmanning@vyatta.att-mail.com>
To: netdev@vger.kernel.org
Subject: [PATCH net-next 0/4] net: support binding vlan dev link state to vlan member bridge ports
Date: Tue,  2 Apr 2019 16:35:39 +0100	[thread overview]
Message-ID: <20190402153543.6277-1-mmanning@vyatta.att-mail.com> (raw)

For vlan filtering on bridges, the bridge may also have vlan devices
as upper devices. For switches, these are used to provide L3 packet
processing for ports that are members of a given vlan.

While it is correct that the admin state for these vlan devices is
either set directly for the device or inherited from the lower device,
the link state is also transferred from the lower device. So this is
always up if the bridge is in admin up state and there is at least one
bridge port that is up, regardless of the vlan that the port is in.

The link state of the vlan device may need to track only the state of
the subset of ports that are also members of the corresponding vlan,
rather than that of all ports.

This series provides an optional vlan flag so that the link state of
the vlan device is only up if there is at least one bridge port that is
up AND is a member of the corresponding vlan.


Mike Manning (4):
  vlan: support binding link state to vlan member bridge ports
  vlan: do not transfer link state in vlan bridge binding mode
  bridge: support binding vlan dev link state to vlan member bridge
    ports
  bridge: update vlan dev state when port added to or deleted from vlan

 include/uapi/linux/if_vlan.h |   9 +--
 net/8021q/vlan.c             |  18 +++--
 net/8021q/vlan_dev.c         |  22 +++---
 net/8021q/vlan_netlink.c     |   3 +-
 net/bridge/br.c              |  23 ++++--
 net/bridge/br_private.h      |  17 +++++
 net/bridge/br_vlan.c         | 166 +++++++++++++++++++++++++++++++++++++++++++
 7 files changed, 237 insertions(+), 21 deletions(-)

-- 
2.11.0


             reply	other threads:[~2019-04-02 16:36 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-02 15:35 Mike Manning [this message]
2019-04-02 15:35 ` [PATCH net-next 1/4] vlan: support binding link state to vlan member bridge ports Mike Manning
2019-04-02 19:20   ` Nikolay Aleksandrov
2019-04-02 20:13     ` Nikolay Aleksandrov
2019-04-02 15:35 ` [PATCH net-next 2/4] vlan: do not transfer link state in vlan bridge binding mode Mike Manning
2019-04-02 20:15   ` Nikolay Aleksandrov
2019-04-03 17:46     ` Mike Manning
2019-04-02 15:35 ` [PATCH net-next 3/4] bridge: support binding vlan dev link state to vlan member bridge ports Mike Manning
2019-04-02 19:22   ` Nikolay Aleksandrov
2019-04-03 17:43     ` Mike Manning
2019-04-03 17:53       ` Nikolay Aleksandrov
2019-04-03 18:17         ` Nikolay Aleksandrov
2019-04-03 18:23           ` Nikolay Aleksandrov
2019-04-17 18:16             ` Mike Manning
2019-04-02 15:35 ` [PATCH net-next 4/4] bridge: update vlan dev state when port added to or deleted from vlan Mike Manning
2019-04-02 20:10   ` Nikolay Aleksandrov
2019-04-03 17:44     ` Mike Manning

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=20190402153543.6277-1-mmanning@vyatta.att-mail.com \
    --to=mmanning@vyatta.att-mail.com \
    --cc=netdev@vger.kernel.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 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.