stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, John Hurley <john.hurley@netronome.com>,
	Jakub Kicinski <jakub.kicinski@netronome.com>,
	"David S. Miller" <davem@davemloft.net>
Subject: [PATCH 4.16 44/55] nfp: flower: set tunnel ttl value to net default
Date: Fri, 18 May 2018 10:15:40 +0200	[thread overview]
Message-ID: <20180518081459.505511475@linuxfoundation.org> (raw)
In-Reply-To: <20180518081457.428920292@linuxfoundation.org>

4.16-stable review patch.  If anyone has any objections, please let me know.

------------------

From: John Hurley <john.hurley@netronome.com>

[ Upstream commit 50a5852a657f793a8482fe3af4a141b460d3499e ]

Firmware requires that the ttl value for an encapsulating ipv4 tunnel
header be included as an action field. Prior to the support of Geneve
tunnel encap (when ttl set was removed completely), ttl value was
extracted from the tunnel key. However, tests have shown that this can
still produce a ttl of 0.

Fix the issue by setting the namespace default value for each new tunnel.
Follow up patch for net-next will do a full route lookup.

Fixes: 3ca3059dc3a9 ("nfp: flower: compile Geneve encap actions")
Fixes: b27d6a95a70d ("nfp: compile flower vxlan tunnel set actions")
Signed-off-by: John Hurley <john.hurley@netronome.com>
Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/net/ethernet/netronome/nfp/flower/action.c |   10 ++++++++--
 drivers/net/ethernet/netronome/nfp/flower/cmsg.h   |    5 ++++-
 2 files changed, 12 insertions(+), 3 deletions(-)

--- a/drivers/net/ethernet/netronome/nfp/flower/action.c
+++ b/drivers/net/ethernet/netronome/nfp/flower/action.c
@@ -183,17 +183,21 @@ static int
 nfp_fl_set_ipv4_udp_tun(struct nfp_fl_set_ipv4_udp_tun *set_tun,
 			const struct tc_action *action,
 			struct nfp_fl_pre_tunnel *pre_tun,
-			enum nfp_flower_tun_type tun_type)
+			enum nfp_flower_tun_type tun_type,
+			struct net_device *netdev)
 {
 	size_t act_size = sizeof(struct nfp_fl_set_ipv4_udp_tun);
 	struct ip_tunnel_info *ip_tun = tcf_tunnel_info(action);
 	u32 tmp_set_ip_tun_type_index = 0;
 	/* Currently support one pre-tunnel so index is always 0. */
 	int pretun_idx = 0;
+	struct net *net;
 
 	if (ip_tun->options_len)
 		return -EOPNOTSUPP;
 
+	net = dev_net(netdev);
+
 	set_tun->head.jump_id = NFP_FL_ACTION_OPCODE_SET_IPV4_TUNNEL;
 	set_tun->head.len_lw = act_size >> NFP_FL_LW_SIZ;
 
@@ -204,6 +208,7 @@ nfp_fl_set_ipv4_udp_tun(struct nfp_fl_se
 
 	set_tun->tun_type_index = cpu_to_be32(tmp_set_ip_tun_type_index);
 	set_tun->tun_id = ip_tun->key.tun_id;
+	set_tun->ttl = net->ipv4.sysctl_ip_default_ttl;
 
 	/* Complete pre_tunnel action. */
 	pre_tun->ipv4_dst = ip_tun->key.u.ipv4.dst;
@@ -511,7 +516,8 @@ nfp_flower_loop_action(const struct tc_a
 		*a_len += sizeof(struct nfp_fl_pre_tunnel);
 
 		set_tun = (void *)&nfp_fl->action_data[*a_len];
-		err = nfp_fl_set_ipv4_udp_tun(set_tun, a, pre_tun, *tun_type);
+		err = nfp_fl_set_ipv4_udp_tun(set_tun, a, pre_tun, *tun_type,
+					      netdev);
 		if (err)
 			return err;
 		*a_len += sizeof(struct nfp_fl_set_ipv4_udp_tun);
--- a/drivers/net/ethernet/netronome/nfp/flower/cmsg.h
+++ b/drivers/net/ethernet/netronome/nfp/flower/cmsg.h
@@ -178,7 +178,10 @@ struct nfp_fl_set_ipv4_udp_tun {
 	__be16 reserved;
 	__be64 tun_id __packed;
 	__be32 tun_type_index;
-	__be32 extra[3];
+	__be16 reserved2;
+	u8 ttl;
+	u8 reserved3;
+	__be32 extra[2];
 };
 
 /* Metadata with L2 (1W/4B)

  parent reply	other threads:[~2018-05-18  8:18 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-18  8:14 [PATCH 4.16 00/55] 4.16.10-stable review Greg Kroah-Hartman
2018-05-18  8:14 ` [PATCH 4.16 01/55] 8139too: Use disable_irq_nosync() in rtl8139_poll_controller() Greg Kroah-Hartman
2018-05-18  8:14 ` [PATCH 4.16 02/55] bridge: check iface upper dev when setting master via ioctl Greg Kroah-Hartman
2018-05-18  8:14 ` [PATCH 4.16 03/55] dccp: fix tasklet usage Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 04/55] ipv4: fix fnhe usage by non-cached routes Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 05/55] ipv4: fix memory leaks in udp_sendmsg, ping_v4_sendmsg Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 06/55] llc: better deal with too small mtu Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 07/55] net: ethernet: sun: niu set correct packet size in skb Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 08/55] net: ethernet: ti: cpsw: fix packet leaking in dual_mac mode Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 09/55] net/mlx4_en: Fix an error handling path in mlx4_en_init_netdev() Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 10/55] net/mlx4_en: Verify coalescing parameters are in range Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 11/55] net/mlx5e: Err if asked to offload TC match on frag being first Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 12/55] net/mlx5: E-Switch, Include VF RDMA stats in vport statistics Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 13/55] net sched actions: fix refcnt leak in skbmod Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 14/55] net_sched: fq: take care of throttled flows before reuse Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 15/55] net/smc: restrict non-blocking connect finish Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 16/55] net: support compat 64-bit time in {s,g}etsockopt Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 17/55] net/tls: Dont recursively call push_record during tls_write_space callbacks Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 18/55] net/tls: Fix connection stall on partial tls record Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 19/55] openvswitch: Dont swap table in nlattr_set() after OVS_ATTR_NESTED is found Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 21/55] r8169: fix powering up RTL8168h Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 22/55] rds: do not leak kernel memory to user land Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 23/55] sctp: delay the authentication for the duplicated cookie-echo chunk Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 24/55] sctp: fix the issue that the cookie-ack with auth cant get processed Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 25/55] sctp: handle two v4 addrs comparison in sctp_inet6_cmp_addr Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 26/55] sctp: remove sctp_chunk_put from fail_mark err path in sctp_ulpevent_make_rcvmsg Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 27/55] sctp: use the old asoc when making the cookie-ack chunk in dupcook_d Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 28/55] tcp_bbr: fix to zero idle_restart only upon S/ACKed data Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 29/55] tcp: ignore Fast Open on repair mode Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 30/55] tg3: Fix vunmap() BUG_ON() triggered from tg3_free_consistent() Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 31/55] bonding: do not allow rlb updates to invalid mac Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 32/55] bonding: send learning packets for vlans on slave Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 33/55] net: sched: fix error path in tcf_proto_create() when modules are not configured Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 34/55] net/mlx5e: TX, Use correct counter in dma_map error flow Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 35/55] net/mlx5: Avoid cleaning flow steering table twice during " Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 36/55] hv_netvsc: set master device Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 37/55] ipv6: fix uninit-value in ip6_multipath_l3_keys() Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 38/55] net/mlx5e: Allow offloading ipv4 header re-write for icmp Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 39/55] nsh: fix infinite loop Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 40/55] udp: fix SO_BINDTODEVICE Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 41/55] mlxsw: spectrum_switchdev: Do not remove mrouter port from MDBs ports list Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 42/55] net/mlx5e: DCBNL fix min inline header size for dscp Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 43/55] net: systemport: Correclty disambiguate driver instances Greg Kroah-Hartman
2018-05-18  8:15 ` Greg Kroah-Hartman [this message]
2018-05-18  8:15 ` [PATCH 4.16 45/55] sctp: clear the new asocs stream outcnt in sctp_stream_update Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 46/55] tcp: restore autocorking Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 47/55] tipc: fix one byte leak in tipc_sk_set_orig_addr() Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 48/55] hv_netvsc: Fix net device attach on older Windows hosts Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 49/55] ipv4: reset fnhe_mtu_locked after cache route flushed Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 50/55] mlxsw: core: Fix an error handling path in mlxsw_core_bus_device_register() Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 51/55] net/mlx5: Fix mlx5_get_vector_affinity function Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 52/55] net: phy: sfp: fix the BR,min computation Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 53/55] net/smc: keep clcsock reference in smc_tcp_listen_work() Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 54/55] scsi: aacraid: Correct hba_send to include iu_type Greg Kroah-Hartman
2018-05-18  8:15 ` [PATCH 4.16 55/55] proc: do not access cmdline nor environ from file-backed areas Greg Kroah-Hartman
2018-05-18 13:29 ` [PATCH 4.16 00/55] 4.16.10-stable review Guenter Roeck
2018-05-18 13:56   ` Greg Kroah-Hartman
2018-05-18 19:25 ` Naresh Kamboju
2018-05-19  7:43   ` Greg Kroah-Hartman
2018-05-18 20:45 ` Shuah Khan
2018-05-19  7:42   ` Greg Kroah-Hartman

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=20180518081459.505511475@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=davem@davemloft.net \
    --cc=jakub.kicinski@netronome.com \
    --cc=john.hurley@netronome.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@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 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).