netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch net-next 0/5] mlxsw: GRE: Offload decap without encap
@ 2017-10-16 14:26 Jiri Pirko
  2017-10-16 14:26 ` [patch net-next 1/5] mlxsw: spectrum: Move netdevice NB to struct mlxsw_sp Jiri Pirko
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Jiri Pirko @ 2017-10-16 14:26 UTC (permalink / raw)
  To: netdev; +Cc: davem, petrm, idosch, mlxsw

From: Jiri Pirko <jiri@mellanox.com>

Petr says:

The current code doesn't offload GRE decapsulation unless there's a
corresponding encapsulation route as well. While not strictly incorrect (when
encap route is absent, the decap route traps traffic to CPU and the kernel
handles it), it's a missed optimization opportunity.

With this patchset, IPIP entries are created as soon as offloadable tunneling
netdevice is created. This then leads to offloading of decap route, if one
exists, or is added afterwards, even when no encap route is present.

In Linux, when there is a decap route, matching IP-in-IP packets are always
decapsulated. However, with IPv4 overlays in particular, whether the inner
packet is then forwarded depends on setting of net.ipv4.conf.*.rp_filter. When
RP filtering is turned on, inner packets aren't forwarded unless there's a
matching encap route. The mlxsw driver doesn't reflect this behavior in other
router interfaces, and thus it's not implemented for tunnel types either. A
better support for this will be subject of follow-up work.

Petr Machata (5):
  mlxsw: spectrum: Move netdevice NB to struct mlxsw_sp
  mlxsw: spectrum_router: Move mlxsw_sp_netdev_ipip_type()
  mlxsw: spectrum: Support decap-only IP-in-IP tunnels
  mlxsw: spectrum: Support IPIP overlay VRF migration
  mlxsw: spectrum: Drop refcounting of IPIP entries

 drivers/net/ethernet/mellanox/mlxsw/spectrum.c     |  31 ++-
 drivers/net/ethernet/mellanox/mlxsw/spectrum.h     |   8 +
 .../net/ethernet/mellanox/mlxsw/spectrum_ipip.h    |   1 -
 .../net/ethernet/mellanox/mlxsw/spectrum_router.c  | 233 ++++++++++++++++-----
 4 files changed, 209 insertions(+), 64 deletions(-)

-- 
2.9.5

^ permalink raw reply	[flat|nested] 9+ messages in thread
* [patch net-next 0/5] mlxsw: GRE: Offload decap without encap
@ 2017-10-16 14:27 Jiri Pirko
  2017-10-16 14:29 ` Jiri Pirko
  0 siblings, 1 reply; 9+ messages in thread
From: Jiri Pirko @ 2017-10-16 14:27 UTC (permalink / raw)
  To: netdev; +Cc: davem, idosch, mlxsw

From: Jiri Pirko <jiri@mellanox.com>

Petr says:

The current code doesn't offload GRE decapsulation unless there's a
corresponding encapsulation route as well. While not strictly incorrect (when
encap route is absent, the decap route traps traffic to CPU and the kernel
handles it), it's a missed optimization opportunity.

With this patchset, IPIP entries are created as soon as offloadable tunneling
netdevice is created. This then leads to offloading of decap route, if one
exists, or is added afterwards, even when no encap route is present.

In Linux, when there is a decap route, matching IP-in-IP packets are always
decapsulated. However, with IPv4 overlays in particular, whether the inner
packet is then forwarded depends on setting of net.ipv4.conf.*.rp_filter. When
RP filtering is turned on, inner packets aren't forwarded unless there's a
matching encap route. The mlxsw driver doesn't reflect this behavior in other
router interfaces, and thus it's not implemented for tunnel types either. A
better support for this will be subject of follow-up work.

Petr Machata (5):
  mlxsw: spectrum: Move netdevice NB to struct mlxsw_sp
  mlxsw: spectrum_router: Move mlxsw_sp_netdev_ipip_type()
  mlxsw: spectrum: Support decap-only IP-in-IP tunnels
  mlxsw: spectrum: Support IPIP overlay VRF migration
  mlxsw: spectrum: Drop refcounting of IPIP entries

 drivers/net/ethernet/mellanox/mlxsw/spectrum.c     |  31 ++-
 drivers/net/ethernet/mellanox/mlxsw/spectrum.h     |   8 +
 .../net/ethernet/mellanox/mlxsw/spectrum_ipip.h    |   1 -
 .../net/ethernet/mellanox/mlxsw/spectrum_router.c  | 233 ++++++++++++++++-----
 4 files changed, 209 insertions(+), 64 deletions(-)

-- 
2.9.5

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2017-10-16 20:30 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-16 14:26 [patch net-next 0/5] mlxsw: GRE: Offload decap without encap Jiri Pirko
2017-10-16 14:26 ` [patch net-next 1/5] mlxsw: spectrum: Move netdevice NB to struct mlxsw_sp Jiri Pirko
2017-10-16 14:26 ` [patch net-next 2/5] mlxsw: spectrum_router: Move mlxsw_sp_netdev_ipip_type() Jiri Pirko
2017-10-16 14:26 ` [patch net-next 3/5] mlxsw: spectrum: Support decap-only IP-in-IP tunnels Jiri Pirko
2017-10-16 14:26 ` [patch net-next 4/5] mlxsw: spectrum: Support IPIP overlay VRF migration Jiri Pirko
2017-10-16 14:26 ` [patch net-next 5/5] mlxsw: spectrum: Drop refcounting of IPIP entries Jiri Pirko
2017-10-16 20:30 ` [patch net-next 0/5] mlxsw: GRE: Offload decap without encap David Miller
  -- strict thread matches above, loose matches on Subject: below --
2017-10-16 14:27 Jiri Pirko
2017-10-16 14:29 ` Jiri Pirko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).