bpf.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH bpf v2 0/5] bpf: Allow any source IP in bpf_skb_set_tunnel_key
@ 2022-07-18 15:53 Paul Chaignon
  2022-07-18 15:54 ` [PATCH bpf v2 1/5] ip_tunnels: Add new flow flags field to ip_tunnel_key Paul Chaignon
                   ` (6 more replies)
  0 siblings, 7 replies; 10+ messages in thread
From: Paul Chaignon @ 2022-07-18 15:53 UTC (permalink / raw)
  To: Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko
  Cc: netdev, bpf, Martin KaFai Lau, John Fastabend, Kaixi Fan,
	Nikolay Aleksandrov, Yonghong Song

Commit 26101f5ab6bd ("bpf: Add source ip in "struct bpf_tunnel_key"")
added support for getting and setting the outer source IP of encapsulated
packets via the bpf_skb_{get,set}_tunnel_key BPF helper. This change
allows BPF programs to set any IP address as the source, including for
example the IP address of a container running on the same host.

In that last case, however, the encapsulated packets are dropped when
looking up the route because the source IP address isn't assigned to any
interface on the host. To avoid this, we need to set the
FLOWI_FLAG_ANYSRC flag.

Changes in v2:
  - Removed changes to IPv6 code paths as they are unnecessary.

Paul Chaignon (5):
  ip_tunnels: Add new flow flags field to ip_tunnel_key
  vxlan: Use ip_tunnel_key flow flags in route lookups
  geneve: Use ip_tunnel_key flow flags in route lookups
  bpf: Set flow flag to allow any source IP in bpf_tunnel_key
  selftests/bpf: Don't assign outer source IP to host

 drivers/net/geneve.c                                 |  1 +
 drivers/net/vxlan/vxlan_core.c                       | 11 +++++++----
 include/net/ip_tunnels.h                             |  1 +
 net/core/filter.c                                    |  1 +
 tools/testing/selftests/bpf/prog_tests/test_tunnel.c |  1 -
 5 files changed, 10 insertions(+), 5 deletions(-)

-- 
2.25.1


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

* [PATCH bpf v2 1/5] ip_tunnels: Add new flow flags field to ip_tunnel_key
  2022-07-18 15:53 [PATCH bpf v2 0/5] bpf: Allow any source IP in bpf_skb_set_tunnel_key Paul Chaignon
@ 2022-07-18 15:54 ` Paul Chaignon
  2022-07-18 15:54 ` [PATCH bpf v2 2/5] vxlan: Use ip_tunnel_key flow flags in route lookups Paul Chaignon
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Paul Chaignon @ 2022-07-18 15:54 UTC (permalink / raw)
  To: Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko
  Cc: netdev, bpf, Martin KaFai Lau, John Fastabend, Kaixi Fan,
	Nikolay Aleksandrov, Yonghong Song

This commit extends the ip_tunnel_key struct with a new field for the
flow flags, to pass them to the route lookups. This new field will be
populated and used in subsequent commits.

Signed-off-by: Paul Chaignon <paul@isovalent.com>
---
 include/net/ip_tunnels.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/net/ip_tunnels.h b/include/net/ip_tunnels.h
index c24fa934221d..20f60d9da741 100644
--- a/include/net/ip_tunnels.h
+++ b/include/net/ip_tunnels.h
@@ -54,6 +54,7 @@ struct ip_tunnel_key {
 	__be32			label;		/* Flow Label for IPv6 */
 	__be16			tp_src;
 	__be16			tp_dst;
+	__u8			flow_flags;
 };
 
 /* Flags for ip_tunnel_info mode. */
-- 
2.25.1


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

* [PATCH bpf v2 2/5] vxlan: Use ip_tunnel_key flow flags in route lookups
  2022-07-18 15:53 [PATCH bpf v2 0/5] bpf: Allow any source IP in bpf_skb_set_tunnel_key Paul Chaignon
  2022-07-18 15:54 ` [PATCH bpf v2 1/5] ip_tunnels: Add new flow flags field to ip_tunnel_key Paul Chaignon
@ 2022-07-18 15:54 ` Paul Chaignon
  2022-07-18 15:54 ` [PATCH bpf v2 3/5] geneve: " Paul Chaignon
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Paul Chaignon @ 2022-07-18 15:54 UTC (permalink / raw)
  To: Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko
  Cc: netdev, bpf, Martin KaFai Lau, John Fastabend, Kaixi Fan,
	Nikolay Aleksandrov, Yonghong Song

Use the new ip_tunnel_key field with the flow flags in the IPv4 route
lookups for the encapsulated packet. This will be used by the
bpf_skb_set_tunnel_key helper in a subsequent commit.

Signed-off-by: Paul Chaignon <paul@isovalent.com>
---
 drivers/net/vxlan/vxlan_core.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/net/vxlan/vxlan_core.c b/drivers/net/vxlan/vxlan_core.c
index 265d4a0245e7..6991bf7c1cf0 100644
--- a/drivers/net/vxlan/vxlan_core.c
+++ b/drivers/net/vxlan/vxlan_core.c
@@ -2243,7 +2243,7 @@ static struct rtable *vxlan_get_route(struct vxlan_dev *vxlan, struct net_device
 				      struct vxlan_sock *sock4,
 				      struct sk_buff *skb, int oif, u8 tos,
 				      __be32 daddr, __be32 *saddr, __be16 dport, __be16 sport,
-				      struct dst_cache *dst_cache,
+				      __u8 flow_flags, struct dst_cache *dst_cache,
 				      const struct ip_tunnel_info *info)
 {
 	bool use_cache = ip_tunnel_dst_cache_usable(skb, info);
@@ -2270,6 +2270,7 @@ static struct rtable *vxlan_get_route(struct vxlan_dev *vxlan, struct net_device
 	fl4.saddr = *saddr;
 	fl4.fl4_dport = dport;
 	fl4.fl4_sport = sport;
+	fl4.flowi4_flags = flow_flags;
 
 	rt = ip_route_output_key(vxlan->net, &fl4);
 	if (!IS_ERR(rt)) {
@@ -2459,7 +2460,7 @@ static void vxlan_xmit_one(struct sk_buff *skb, struct net_device *dev,
 	unsigned int pkt_len = skb->len;
 	__be16 src_port = 0, dst_port;
 	struct dst_entry *ndst = NULL;
-	__u8 tos, ttl;
+	__u8 tos, ttl, flow_flags = 0;
 	int ifindex;
 	int err;
 	u32 flags = vxlan->cfg.flags;
@@ -2525,6 +2526,7 @@ static void vxlan_xmit_one(struct sk_buff *skb, struct net_device *dev,
 		}
 		dst = &remote_ip;
 		dst_port = info->key.tp_dst ? : vxlan->cfg.dst_port;
+		flow_flags = info->key.flow_flags;
 		vni = tunnel_id_to_key32(info->key.tun_id);
 		ifindex = 0;
 		dst_cache = &info->dst_cache;
@@ -2555,7 +2557,7 @@ static void vxlan_xmit_one(struct sk_buff *skb, struct net_device *dev,
 		rt = vxlan_get_route(vxlan, dev, sock4, skb, ifindex, tos,
 				     dst->sin.sin_addr.s_addr,
 				     &local_ip.sin.sin_addr.s_addr,
-				     dst_port, src_port,
+				     dst_port, src_port, flow_flags,
 				     dst_cache, info);
 		if (IS_ERR(rt)) {
 			err = PTR_ERR(rt);
@@ -3061,7 +3063,8 @@ static int vxlan_fill_metadata_dst(struct net_device *dev, struct sk_buff *skb)
 		rt = vxlan_get_route(vxlan, dev, sock4, skb, 0, info->key.tos,
 				     info->key.u.ipv4.dst,
 				     &info->key.u.ipv4.src, dport, sport,
-				     &info->dst_cache, info);
+				     info->key.flow_flags, &info->dst_cache,
+				     info);
 		if (IS_ERR(rt))
 			return PTR_ERR(rt);
 		ip_rt_put(rt);
-- 
2.25.1


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

* [PATCH bpf v2 3/5] geneve: Use ip_tunnel_key flow flags in route lookups
  2022-07-18 15:53 [PATCH bpf v2 0/5] bpf: Allow any source IP in bpf_skb_set_tunnel_key Paul Chaignon
  2022-07-18 15:54 ` [PATCH bpf v2 1/5] ip_tunnels: Add new flow flags field to ip_tunnel_key Paul Chaignon
  2022-07-18 15:54 ` [PATCH bpf v2 2/5] vxlan: Use ip_tunnel_key flow flags in route lookups Paul Chaignon
@ 2022-07-18 15:54 ` Paul Chaignon
  2022-07-18 15:55 ` [PATCH bpf v2 4/5] bpf: Set flow flag to allow any source IP in bpf_tunnel_key Paul Chaignon
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Paul Chaignon @ 2022-07-18 15:54 UTC (permalink / raw)
  To: Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko
  Cc: netdev, bpf, Martin KaFai Lau, John Fastabend, Kaixi Fan,
	Nikolay Aleksandrov, Yonghong Song

Use the new ip_tunnel_key field with the flow flags in the IPv4 route
lookups for the encapsulated packet. This will be used by the
bpf_skb_set_tunnel_key helper in the subsequent commit.

Signed-off-by: Paul Chaignon <paul@isovalent.com>
---
 drivers/net/geneve.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/geneve.c b/drivers/net/geneve.c
index 2495a5719e1c..018d365f9deb 100644
--- a/drivers/net/geneve.c
+++ b/drivers/net/geneve.c
@@ -815,6 +815,7 @@ static struct rtable *geneve_get_v4_rt(struct sk_buff *skb,
 	fl4->saddr = info->key.u.ipv4.src;
 	fl4->fl4_dport = dport;
 	fl4->fl4_sport = sport;
+	fl4->flowi4_flags = info->key.flow_flags;
 
 	tos = info->key.tos;
 	if ((tos == 1) && !geneve->cfg.collect_md) {
-- 
2.25.1


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

* [PATCH bpf v2 4/5] bpf: Set flow flag to allow any source IP in bpf_tunnel_key
  2022-07-18 15:53 [PATCH bpf v2 0/5] bpf: Allow any source IP in bpf_skb_set_tunnel_key Paul Chaignon
                   ` (2 preceding siblings ...)
  2022-07-18 15:54 ` [PATCH bpf v2 3/5] geneve: " Paul Chaignon
@ 2022-07-18 15:55 ` Paul Chaignon
  2022-07-18 15:55 ` [PATCH bpf v2 5/5] selftests/bpf: Don't assign outer source IP to host Paul Chaignon
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Paul Chaignon @ 2022-07-18 15:55 UTC (permalink / raw)
  To: Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko
  Cc: netdev, bpf, Martin KaFai Lau, John Fastabend, Kaixi Fan,
	Nikolay Aleksandrov, Yonghong Song

Commit 26101f5ab6bd ("bpf: Add source ip in "struct bpf_tunnel_key"")
added support for getting and setting the outer source IP of encapsulated
packets via the bpf_skb_{get,set}_tunnel_key BPF helper. This change
allows BPF programs to set any IP address as the source, including for
example the IP address of a container running on the same host.

In that last case, however, the encapsulated packets are dropped when
looking up the route because the source IP address isn't assigned to any
interface on the host. To avoid this, we need to set the
FLOWI_FLAG_ANYSRC flag.

Fixes: 26101f5ab6bd ("bpf: Add source ip in "struct bpf_tunnel_key"")
Signed-off-by: Paul Chaignon <paul@isovalent.com>
---
 net/core/filter.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/net/core/filter.c b/net/core/filter.c
index 5d16d66727fc..2e3dc9b8e612 100644
--- a/net/core/filter.c
+++ b/net/core/filter.c
@@ -4653,6 +4653,7 @@ BPF_CALL_4(bpf_skb_set_tunnel_key, struct sk_buff *, skb,
 	} else {
 		info->key.u.ipv4.dst = cpu_to_be32(from->remote_ipv4);
 		info->key.u.ipv4.src = cpu_to_be32(from->local_ipv4);
+		info->key.flow_flags = FLOWI_FLAG_ANYSRC;
 	}
 
 	return 0;
-- 
2.25.1


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

* [PATCH bpf v2 5/5] selftests/bpf: Don't assign outer source IP to host
  2022-07-18 15:53 [PATCH bpf v2 0/5] bpf: Allow any source IP in bpf_skb_set_tunnel_key Paul Chaignon
                   ` (3 preceding siblings ...)
  2022-07-18 15:55 ` [PATCH bpf v2 4/5] bpf: Set flow flag to allow any source IP in bpf_tunnel_key Paul Chaignon
@ 2022-07-18 15:55 ` Paul Chaignon
  2022-07-18 19:54 ` [PATCH bpf v2 0/5] bpf: Allow any source IP in bpf_skb_set_tunnel_key Martin KaFai Lau
  2022-07-19  6:58 ` Nikolay Aleksandrov
  6 siblings, 0 replies; 10+ messages in thread
From: Paul Chaignon @ 2022-07-18 15:55 UTC (permalink / raw)
  To: Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko
  Cc: netdev, bpf, Martin KaFai Lau, John Fastabend, Kaixi Fan,
	Nikolay Aleksandrov, Yonghong Song

The previous commit fixed a bug in the bpf_skb_set_tunnel_key helper to
avoid dropping packets whose outer source IP address isn't assigned to a
host interface. This commit changes the corresponding selftest to not
assign the outer source IP address to an interface.

With this change and without the bugfix, the ICMP echo packets sent as
part of the test are dropped.

Signed-off-by: Paul Chaignon <paul@isovalent.com>
---
 tools/testing/selftests/bpf/prog_tests/test_tunnel.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/tools/testing/selftests/bpf/prog_tests/test_tunnel.c b/tools/testing/selftests/bpf/prog_tests/test_tunnel.c
index 3bba4a2a0530..14ccb41a9f59 100644
--- a/tools/testing/selftests/bpf/prog_tests/test_tunnel.c
+++ b/tools/testing/selftests/bpf/prog_tests/test_tunnel.c
@@ -111,7 +111,6 @@ static int config_device(void)
 	SYS("ip link add veth0 type veth peer name veth1");
 	SYS("ip link set veth0 netns at_ns0");
 	SYS("ip addr add " IP4_ADDR1_VETH1 "/24 dev veth1");
-	SYS("ip addr add " IP4_ADDR2_VETH1 "/24 dev veth1");
 	SYS("ip link set dev veth1 up mtu 1500");
 	SYS("ip netns exec at_ns0 ip addr add " IP4_ADDR_VETH0 "/24 dev veth0");
 	SYS("ip netns exec at_ns0 ip link set dev veth0 up mtu 1500");
-- 
2.25.1


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

* Re: [PATCH bpf v2 0/5] bpf: Allow any source IP in bpf_skb_set_tunnel_key
  2022-07-18 15:53 [PATCH bpf v2 0/5] bpf: Allow any source IP in bpf_skb_set_tunnel_key Paul Chaignon
                   ` (4 preceding siblings ...)
  2022-07-18 15:55 ` [PATCH bpf v2 5/5] selftests/bpf: Don't assign outer source IP to host Paul Chaignon
@ 2022-07-18 19:54 ` Martin KaFai Lau
  2022-07-19  6:58 ` Nikolay Aleksandrov
  6 siblings, 0 replies; 10+ messages in thread
From: Martin KaFai Lau @ 2022-07-18 19:54 UTC (permalink / raw)
  To: Paul Chaignon
  Cc: Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko, netdev,
	bpf, Martin KaFai Lau, John Fastabend, Kaixi Fan,
	Nikolay Aleksandrov, Yonghong Song

On Mon, Jul 18, 2022 at 05:53:48PM +0200, Paul Chaignon wrote:
> Commit 26101f5ab6bd ("bpf: Add source ip in "struct bpf_tunnel_key"")
> added support for getting and setting the outer source IP of encapsulated
> packets via the bpf_skb_{get,set}_tunnel_key BPF helper. This change
> allows BPF programs to set any IP address as the source, including for
> example the IP address of a container running on the same host.
> 
> In that last case, however, the encapsulated packets are dropped when
> looking up the route because the source IP address isn't assigned to any
> interface on the host. To avoid this, we need to set the
> FLOWI_FLAG_ANYSRC flag.
Acked-by: Martin KaFai Lau <kafai@fb.com>

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

* Re: [PATCH bpf v2 0/5] bpf: Allow any source IP in bpf_skb_set_tunnel_key
  2022-07-18 15:53 [PATCH bpf v2 0/5] bpf: Allow any source IP in bpf_skb_set_tunnel_key Paul Chaignon
                   ` (5 preceding siblings ...)
  2022-07-18 19:54 ` [PATCH bpf v2 0/5] bpf: Allow any source IP in bpf_skb_set_tunnel_key Martin KaFai Lau
@ 2022-07-19  6:58 ` Nikolay Aleksandrov
  2022-07-19 17:44   ` Alexei Starovoitov
  6 siblings, 1 reply; 10+ messages in thread
From: Nikolay Aleksandrov @ 2022-07-19  6:58 UTC (permalink / raw)
  To: Paul Chaignon, Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko
  Cc: netdev, bpf, Martin KaFai Lau, John Fastabend, Kaixi Fan, Yonghong Song

On 18/07/2022 18:53, Paul Chaignon wrote:
> Commit 26101f5ab6bd ("bpf: Add source ip in "struct bpf_tunnel_key"")
> added support for getting and setting the outer source IP of encapsulated
> packets via the bpf_skb_{get,set}_tunnel_key BPF helper. This change
> allows BPF programs to set any IP address as the source, including for
> example the IP address of a container running on the same host.
> 
> In that last case, however, the encapsulated packets are dropped when
> looking up the route because the source IP address isn't assigned to any
> interface on the host. To avoid this, we need to set the
> FLOWI_FLAG_ANYSRC flag.
> 
> Changes in v2:
>   - Removed changes to IPv6 code paths as they are unnecessary.
> 
> Paul Chaignon (5):
>   ip_tunnels: Add new flow flags field to ip_tunnel_key
>   vxlan: Use ip_tunnel_key flow flags in route lookups
>   geneve: Use ip_tunnel_key flow flags in route lookups
>   bpf: Set flow flag to allow any source IP in bpf_tunnel_key
>   selftests/bpf: Don't assign outer source IP to host
> 
>  drivers/net/geneve.c                                 |  1 +
>  drivers/net/vxlan/vxlan_core.c                       | 11 +++++++----
>  include/net/ip_tunnels.h                             |  1 +
>  net/core/filter.c                                    |  1 +
>  tools/testing/selftests/bpf/prog_tests/test_tunnel.c |  1 -
>  5 files changed, 10 insertions(+), 5 deletions(-)
> 

Looks good, for the set:
Reviewed-by: Nikolay Aleksandrov <razor@blackwall.org>

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

* Re: [PATCH bpf v2 0/5] bpf: Allow any source IP in bpf_skb_set_tunnel_key
  2022-07-19  6:58 ` Nikolay Aleksandrov
@ 2022-07-19 17:44   ` Alexei Starovoitov
  2022-07-19 20:40     ` Paul Chaignon
  0 siblings, 1 reply; 10+ messages in thread
From: Alexei Starovoitov @ 2022-07-19 17:44 UTC (permalink / raw)
  To: Nikolay Aleksandrov
  Cc: Paul Chaignon, Alexei Starovoitov, Daniel Borkmann,
	Andrii Nakryiko, Network Development, bpf, Martin KaFai Lau,
	John Fastabend, Kaixi Fan, Yonghong Song

On Mon, Jul 18, 2022 at 11:58 PM Nikolay Aleksandrov
<razor@blackwall.org> wrote:
>
> On 18/07/2022 18:53, Paul Chaignon wrote:
> > Commit 26101f5ab6bd ("bpf: Add source ip in "struct bpf_tunnel_key"")
> > added support for getting and setting the outer source IP of encapsulated
> > packets via the bpf_skb_{get,set}_tunnel_key BPF helper. This change
> > allows BPF programs to set any IP address as the source, including for
> > example the IP address of a container running on the same host.
> >
> > In that last case, however, the encapsulated packets are dropped when
> > looking up the route because the source IP address isn't assigned to any
> > interface on the host. To avoid this, we need to set the
> > FLOWI_FLAG_ANYSRC flag.
> >
> > Changes in v2:
> >   - Removed changes to IPv6 code paths as they are unnecessary.
> >
> > Paul Chaignon (5):
> >   ip_tunnels: Add new flow flags field to ip_tunnel_key
> >   vxlan: Use ip_tunnel_key flow flags in route lookups
> >   geneve: Use ip_tunnel_key flow flags in route lookups
> >   bpf: Set flow flag to allow any source IP in bpf_tunnel_key
> >   selftests/bpf: Don't assign outer source IP to host
> >
> >  drivers/net/geneve.c                                 |  1 +
> >  drivers/net/vxlan/vxlan_core.c                       | 11 +++++++----
> >  include/net/ip_tunnels.h                             |  1 +
> >  net/core/filter.c                                    |  1 +
> >  tools/testing/selftests/bpf/prog_tests/test_tunnel.c |  1 -
> >  5 files changed, 10 insertions(+), 5 deletions(-)
> >
>
> Looks good, for the set:
> Reviewed-by: Nikolay Aleksandrov <razor@blackwall.org>

vxlan_test is failing.
See BPF CI link in patchwork.

Also it's too late for 'bpf' tree. Pls tag bpf-next on respin.

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

* Re: [PATCH bpf v2 0/5] bpf: Allow any source IP in bpf_skb_set_tunnel_key
  2022-07-19 17:44   ` Alexei Starovoitov
@ 2022-07-19 20:40     ` Paul Chaignon
  0 siblings, 0 replies; 10+ messages in thread
From: Paul Chaignon @ 2022-07-19 20:40 UTC (permalink / raw)
  To: Alexei Starovoitov
  Cc: Nikolay Aleksandrov, Alexei Starovoitov, Daniel Borkmann,
	Andrii Nakryiko, Network Development, bpf, Martin KaFai Lau,
	John Fastabend, Kaixi Fan, Yonghong Song

On Tue, Jul 19, 2022 at 10:44:52AM -0700, Alexei Starovoitov wrote:
> On Mon, Jul 18, 2022 at 11:58 PM Nikolay Aleksandrov
> <razor@blackwall.org> wrote:
> >
> > On 18/07/2022 18:53, Paul Chaignon wrote:
> > > Commit 26101f5ab6bd ("bpf: Add source ip in "struct bpf_tunnel_key"")
> > > added support for getting and setting the outer source IP of encapsulated
> > > packets via the bpf_skb_{get,set}_tunnel_key BPF helper. This change
> > > allows BPF programs to set any IP address as the source, including for
> > > example the IP address of a container running on the same host.
> > >
> > > In that last case, however, the encapsulated packets are dropped when
> > > looking up the route because the source IP address isn't assigned to any
> > > interface on the host. To avoid this, we need to set the
> > > FLOWI_FLAG_ANYSRC flag.
> > >
> > > Changes in v2:
> > >   - Removed changes to IPv6 code paths as they are unnecessary.
> > >
> > > Paul Chaignon (5):
> > >   ip_tunnels: Add new flow flags field to ip_tunnel_key
> > >   vxlan: Use ip_tunnel_key flow flags in route lookups
> > >   geneve: Use ip_tunnel_key flow flags in route lookups
> > >   bpf: Set flow flag to allow any source IP in bpf_tunnel_key
> > >   selftests/bpf: Don't assign outer source IP to host
> > >
> > >  drivers/net/geneve.c                                 |  1 +
> > >  drivers/net/vxlan/vxlan_core.c                       | 11 +++++++----
> > >  include/net/ip_tunnels.h                             |  1 +
> > >  net/core/filter.c                                    |  1 +
> > >  tools/testing/selftests/bpf/prog_tests/test_tunnel.c |  1 -
> > >  5 files changed, 10 insertions(+), 5 deletions(-)
> > >
> >
> > Looks good, for the set:
> > Reviewed-by: Nikolay Aleksandrov <razor@blackwall.org>
> 
> vxlan_test is failing.
> See BPF CI link in patchwork.

I've seen that today and was able to reproduce. It's most likely because
the reply packet is dropped by the stack given the destination address
is not local. The easiest way to update the test is probably to rewrite
the destination address with another BPF program on ingress. Anyway,
thanks for the heads up!

I'm also trying to figure out how I got a passing test before, but most
likely explanation is that my test changes were overwritten because of
the workflow bug [1]

1 - https://github.com/kernel-patches/vmtest/pull/95

> 
> Also it's too late for 'bpf' tree. Pls tag bpf-next on respin.

Will do.

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

end of thread, other threads:[~2022-07-19 20:40 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-18 15:53 [PATCH bpf v2 0/5] bpf: Allow any source IP in bpf_skb_set_tunnel_key Paul Chaignon
2022-07-18 15:54 ` [PATCH bpf v2 1/5] ip_tunnels: Add new flow flags field to ip_tunnel_key Paul Chaignon
2022-07-18 15:54 ` [PATCH bpf v2 2/5] vxlan: Use ip_tunnel_key flow flags in route lookups Paul Chaignon
2022-07-18 15:54 ` [PATCH bpf v2 3/5] geneve: " Paul Chaignon
2022-07-18 15:55 ` [PATCH bpf v2 4/5] bpf: Set flow flag to allow any source IP in bpf_tunnel_key Paul Chaignon
2022-07-18 15:55 ` [PATCH bpf v2 5/5] selftests/bpf: Don't assign outer source IP to host Paul Chaignon
2022-07-18 19:54 ` [PATCH bpf v2 0/5] bpf: Allow any source IP in bpf_skb_set_tunnel_key Martin KaFai Lau
2022-07-19  6:58 ` Nikolay Aleksandrov
2022-07-19 17:44   ` Alexei Starovoitov
2022-07-19 20:40     ` Paul Chaignon

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).