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] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 30 Jan 2015 17:59:40 +0100
From:	Jiri Pirko <jiri@...nulli.us>
To:	roopa@...ulusnetworks.com
Cc:	sfeldma@...il.com, jhs@...atatu.com, bcrl@...ck.org, tgraf@...g.ch,
	john.fastabend@...il.com, stephen@...workplumber.org,
	vyasevic@...hat.com, ronen.arad@...el.com, netdev@...r.kernel.org,
	davem@...emloft.net, shm@...ulusnetworks.com,
	gospo@...ulusnetworks.com
Subject: Re: [PATCH net-next v4 0/7] switchdev offload flags

Fri, Jan 30, 2015 at 07:40:10AM CET, roopa@...ulusnetworks.com wrote:
>From: Roopa Prabhu <roopa@...ulusnetworks.com>
>
>This patch series introduces new offload flags for switchdev.
>Kernel network subsystems can use this flag to accelerate
>network functions by offloading to hw.
>
>I expect that there will be need for subsystem specific feature
>flag in the future.
>
>This patch series currently only addresses bridge driver link
>attribute offloads to hardware.
>
>Looking at the current state of bridge l2 offload in the kernel,
>    - flag 'self' is the way to directly manage the bridge device in hw via
>      the ndo_bridge_setlink/ndo_bridge_getlink calls
>
>    - flag 'master' is always used to manage the in kernel bridge devices
>      via the same ndo_bridge_setlink/ndo_bridge_getlink calls
>
>Today these are used separately. The nic offloads use hwmode "vepa/veb" to go
>directly to hw with the "self" flag.
>
>At this point i am trying not to introduce any new user facing flags/attributes.
>In the model where we want the kernel bridging to be accelerated with
>hardware, we very much want the bridge driver to be involved.
>
>In this proposal,
>- The offload flag/bit helps switch asic drivers to indicate that they
>  accelerate the kernel networking objects/functions
>- The user does not have to specify a new flag to do so. A bridge created with
>  switch asic ports will be accelerated if the switch driver supports it.
>- The user can continue to directly manage l2 in nics (ixgbe) using the
>  existing hwmode/self flags
>- It also does not stop users from using the 'self' flag to talk to the
>  switch asic driver directly
>- Involving the bridge driver makes sure the add/del notifications to user
>  space go out after both kernel and hardware are programmed
>
>(To selectively offload bridge port attributes,
>example learning in hw only etc, we can introduce offload bits for
>per bridge port flag attribute as in my previous patch
>https://patchwork.ozlabs.org/patch/413211/. I have not included that in this
>series)
>
>v2
>   - try a different name for the offload flag/bit
>   - tries to solve the stacked netdev case by traversing the lowerdev
>     list to reach the switch port
>
>v3 -
>    - Tested with bond as bridge port for the stacked device case.
>      Includes a bond_fix_features change to not ignore the
>      NETIF_F_HW_NETFUNC_OFFLOAD flag
>    - Some checkpatch fixes
>
>v4 -
>    - rename flag to NETIF_F_HW_SWITCH_OFFLOAD
>    - add ndo_bridge_setlink/dellink handlers in bond and team drivers as
>      suggested by jiri.
>    - introduce default ndo_dflt_netdev_switch_port_bridge_setlink/dellink
>    handlers that masters can use to call offload api on lowerdevs.
>
>Signed-off-by: Roopa Prabhu <roopa@...ulusnetworks.com>


Having a flu and being completely unusable, I gave this patchset a quick
peek and looks allright. I will review once I recover (Sun/Mon).
Not sure if Dave wants to hold the patchset until then.


>
>Roopa Prabhu (7):
>  netdev: introduce new NETIF_F_HW_SWITCH_OFFLOAD feature flag for
>    switch device offloads
>  bridge: add flags argument to ndo_bridge_setlink and
>    ndo_bridge_dellink
>  swdevice: add new apis to set and del bridge port attributes
>  bridge: offload bridge port attributes to switch asic if feature flag
>    set
>  rocker: set feature NETIF_F_HW_SWITCH_OFFLOAD
>  bonding: handle NETIF_F_HW_SWITCH_OFFLOAD flag and add
>    ndo_bridge_setlink/dellink handlers
>  team: handle NETIF_F_HW_SWITCH_OFFLOAD flag and add
>    ndo_bridge_setlink/dellink handlers
>
> drivers/net/bonding/bond_main.c               |    9 +-
> drivers/net/ethernet/emulex/benet/be_main.c   |    3 +-
> drivers/net/ethernet/intel/ixgbe/ixgbe_main.c |    2 +-
> drivers/net/ethernet/rocker/rocker.c          |    5 +-
> drivers/net/team/team.c                       |    5 +-
> include/linux/netdev_features.h               |    6 +-
> include/linux/netdevice.h                     |    6 +-
> include/net/switchdev.h                       |   37 ++++++++-
> net/bridge/br_netlink.c                       |   30 +++++--
> net/bridge/br_private.h                       |    4 +-
> net/core/rtnetlink.c                          |   10 ++-
> net/switchdev/switchdev.c                     |  110 +++++++++++++++++++++++++
> 12 files changed, 206 insertions(+), 21 deletions(-)
>
>-- 
>1.7.10.4
>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ