* [PATCH net v2 02/03] vxlan: handle skb_clone failure
[not found] <20130610195822.888424947@vyatta.com>
@ 2013-06-10 20:12 ` Stephen Hemminger
2013-06-10 21:01 ` David Miller
2013-06-10 20:13 ` [PATCH net v2 03/03] [PATCH] vxlan: fix crash on module removal Stephen Hemminger
2013-06-10 20:13 ` [PATCH net v2 01/03] vxlan: only migrate dynamic FDB entries Stephen Hemminger
2 siblings, 1 reply; 13+ messages in thread
From: Stephen Hemminger @ 2013-06-10 20:12 UTC (permalink / raw)
To: davem; +Cc: netdev, Stephen Hemminger
skb_clone can fail if out of memory. Just skip the fanout.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
The multi-destination was added in 3.10, does not need to goto stable
--- a/drivers/net/vxlan.c 2013-06-06 08:29:07.890429399 -0700
+++ b/drivers/net/vxlan.c 2013-06-06 09:38:52.723669153 -0700
@@ -1198,9 +1198,11 @@ static netdev_tx_t vxlan_xmit(struct sk_
struct sk_buff *skb1;
skb1 = skb_clone(skb, GFP_ATOMIC);
- rc1 = vxlan_xmit_one(skb1, dev, rdst, did_rsc);
- if (rc == NETDEV_TX_OK)
- rc = rc1;
+ if (skb1) {
+ rc1 = vxlan_xmit_one(skb1, dev, rdst, did_rsc);
+ if (rc == NETDEV_TX_OK)
+ rc = rc1;
+ }
}
rc1 = vxlan_xmit_one(skb, dev, rdst0, did_rsc);
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH net v2 03/03] [PATCH] vxlan: fix crash on module removal
[not found] <20130610195822.888424947@vyatta.com>
2013-06-10 20:12 ` [PATCH net v2 02/03] vxlan: handle skb_clone failure Stephen Hemminger
@ 2013-06-10 20:13 ` Stephen Hemminger
2013-06-10 21:01 ` David Miller
2013-06-10 20:13 ` [PATCH net v2 01/03] vxlan: only migrate dynamic FDB entries Stephen Hemminger
2 siblings, 1 reply; 13+ messages in thread
From: Stephen Hemminger @ 2013-06-10 20:13 UTC (permalink / raw)
To: davem; +Cc: netdev, Stephen Hemminger
If vxlan is removed with active vxlan's it would crash because
rtnl_link_unregister (which calls vxlan_dellink), was invoked
before unregister_pernet_device (which calls vxlan_stop).
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
Should goto stable
--- a/drivers/net/vxlan.c 2013-06-06 08:29:07.910429205 -0700
+++ b/drivers/net/vxlan.c 2013-06-06 09:38:52.091675246 -0700
@@ -1785,8 +1785,9 @@ late_initcall(vxlan_init_module);
static void __exit vxlan_cleanup_module(void)
{
- rtnl_link_unregister(&vxlan_link_ops);
unregister_pernet_device(&vxlan_net_ops);
+ rtnl_link_unregister(&vxlan_link_ops);
+ destroy_workqueue(vxlan_wq);
rcu_barrier();
}
module_exit(vxlan_cleanup_module);
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH net v2 01/03] vxlan: only migrate dynamic FDB entries
[not found] <20130610195822.888424947@vyatta.com>
2013-06-10 20:12 ` [PATCH net v2 02/03] vxlan: handle skb_clone failure Stephen Hemminger
2013-06-10 20:13 ` [PATCH net v2 03/03] [PATCH] vxlan: fix crash on module removal Stephen Hemminger
@ 2013-06-10 20:13 ` Stephen Hemminger
2013-06-10 20:27 ` Sergei Shtylyov
2013-06-10 21:00 ` David Miller
2 siblings, 2 replies; 13+ messages in thread
From: Stephen Hemminger @ 2013-06-10 20:13 UTC (permalink / raw)
To: davem; +Cc: netdev, Stephen Hemminger
Only migrate dynamic forwarding table entries, don't modify
static entries. If packet received from incorrect source IP address
assume it is an imposter and drop it.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
Should go to -stable as well.
--- a/drivers/net/vxlan.c 2013-06-06 08:27:07.499595174 -0700
+++ b/drivers/net/vxlan.c 2013-06-06 09:38:54.291654035 -0700
@@ -603,9 +603,10 @@ skip:
/* Watch incoming packets to learn mapping between Ethernet address
* and Tunnel endpoint.
+ * Return true if packet is bogus and should be droppped.
*/
-static void vxlan_snoop(struct net_device *dev,
- __be32 src_ip, const u8 *src_mac)
+static bool vxlan_snoop(struct net_device *dev,
+ __be32 src_ip, const u8 *src_mac)
{
struct vxlan_dev *vxlan = netdev_priv(dev);
struct vxlan_fdb *f;
@@ -614,7 +615,11 @@ static void vxlan_snoop(struct net_devic
f = vxlan_find_mac(vxlan, src_mac);
if (likely(f)) {
if (likely(f->remote.remote_ip == src_ip))
- return;
+ return false;
+
+ /* Don't migrate static entries, drop packets */
+ if (!(f->flags & NTF_SELF))
+ return true;
if (net_ratelimit())
netdev_info(dev,
@@ -634,6 +639,8 @@ static void vxlan_snoop(struct net_devic
0, NTF_SELF);
spin_unlock(&vxlan->hash_lock);
}
+
+ return false;
}
@@ -766,8 +773,9 @@ static int vxlan_udp_encap_recv(struct s
vxlan->dev->dev_addr) == 0)
goto drop;
- if (vxlan->flags & VXLAN_F_LEARN)
- vxlan_snoop(skb->dev, oip->saddr, eth_hdr(skb)->h_source);
+ if ((vxlan->flags & VXLAN_F_LEARN) &&
+ vxlan_snoop(skb->dev, oip->saddr, eth_hdr(skb)->h_source))
+ goto drop;
__skb_tunnel_rx(skb, vxlan->dev);
skb_reset_network_header(skb);
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH net v2 01/03] vxlan: only migrate dynamic FDB entries
2013-06-10 20:13 ` [PATCH net v2 01/03] vxlan: only migrate dynamic FDB entries Stephen Hemminger
@ 2013-06-10 20:27 ` Sergei Shtylyov
2013-06-10 20:32 ` Stephen Hemminger
2013-06-10 21:00 ` David Miller
1 sibling, 1 reply; 13+ messages in thread
From: Sergei Shtylyov @ 2013-06-10 20:27 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: davem, netdev
Hello.
On 06/11/2013 12:13 AM, Stephen Hemminger wrote:
> Only migrate dynamic forwarding table entries, don't modify
> static entries. If packet received from incorrect source IP address
> assume it is an imposter and drop it.
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
> Should go to -stable as well.
> --- a/drivers/net/vxlan.c 2013-06-06 08:27:07.499595174 -0700
> +++ b/drivers/net/vxlan.c 2013-06-06 09:38:54.291654035 -0700
> @@ -603,9 +603,10 @@ skip:
>
> /* Watch incoming packets to learn mapping between Ethernet address
> * and Tunnel endpoint.
> + * Return true if packet is bogus and should be droppped.
> */
> -static void vxlan_snoop(struct net_device *dev,
> - __be32 src_ip, const u8 *src_mac)
> +static bool vxlan_snoop(struct net_device *dev,
> + __be32 src_ip, const u8 *src_mac)
Not clear why you changed the indentation of the second line...
WBR, Sergei
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH net v2 01/03] vxlan: only migrate dynamic FDB entries
2013-06-10 20:27 ` Sergei Shtylyov
@ 2013-06-10 20:32 ` Stephen Hemminger
2013-06-10 20:42 ` David Miller
0 siblings, 1 reply; 13+ messages in thread
From: Stephen Hemminger @ 2013-06-10 20:32 UTC (permalink / raw)
To: Sergei Shtylyov; +Cc: davem, netdev
On Tue, 11 Jun 2013 00:27:02 +0400
Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> wrote:
> Hello.
>
> On 06/11/2013 12:13 AM, Stephen Hemminger wrote:
>
> > Only migrate dynamic forwarding table entries, don't modify
> > static entries. If packet received from incorrect source IP address
> > assume it is an imposter and drop it.
>
> > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
>
> > ---
> > Should go to -stable as well.
>
> > --- a/drivers/net/vxlan.c 2013-06-06 08:27:07.499595174 -0700
> > +++ b/drivers/net/vxlan.c 2013-06-06 09:38:54.291654035 -0700
> > @@ -603,9 +603,10 @@ skip:
> >
> > /* Watch incoming packets to learn mapping between Ethernet address
> > * and Tunnel endpoint.
> > + * Return true if packet is bogus and should be droppped.
> > */
> > -static void vxlan_snoop(struct net_device *dev,
> > - __be32 src_ip, const u8 *src_mac)
> > +static bool vxlan_snoop(struct net_device *dev,
> > + __be32 src_ip, const u8 *src_mac)
>
> Not clear why you changed the indentation of the second line...
>
> WBR, Sergei
>
It was int, now bool, and second line didn't get reindented.
Now dave will make resend the whole series...
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH net v2 01/03] vxlan: only migrate dynamic FDB entries
2013-06-10 20:32 ` Stephen Hemminger
@ 2013-06-10 20:42 ` David Miller
0 siblings, 0 replies; 13+ messages in thread
From: David Miller @ 2013-06-10 20:42 UTC (permalink / raw)
To: stephen; +Cc: sergei.shtylyov, netdev
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Mon, 10 Jun 2013 13:32:01 -0700
> Now dave will make resend the whole series...
Attention to detail generally tends to show how much the submitter
cares about the quality of their work :-)
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH net v2 01/03] vxlan: only migrate dynamic FDB entries
2013-06-10 20:13 ` [PATCH net v2 01/03] vxlan: only migrate dynamic FDB entries Stephen Hemminger
2013-06-10 20:27 ` Sergei Shtylyov
@ 2013-06-10 21:00 ` David Miller
1 sibling, 0 replies; 13+ messages in thread
From: David Miller @ 2013-06-10 21:00 UTC (permalink / raw)
To: stephen; +Cc: netdev
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Mon, 10 Jun 2013 13:13:17 -0700
> Only migrate dynamic forwarding table entries, don't modify
> static entries. If packet received from incorrect source IP address
> assume it is an imposter and drop it.
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
>
> ---
> Should go to -stable as well.
Applied and queued up for -stable.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH net v2 02/03] vxlan: handle skb_clone failure
2013-06-10 20:12 ` [PATCH net v2 02/03] vxlan: handle skb_clone failure Stephen Hemminger
@ 2013-06-10 21:01 ` David Miller
0 siblings, 0 replies; 13+ messages in thread
From: David Miller @ 2013-06-10 21:01 UTC (permalink / raw)
To: stephen; +Cc: netdev
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Mon, 10 Jun 2013 13:12:30 -0700
> skb_clone can fail if out of memory. Just skip the fanout.
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Applied.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH net v2 03/03] [PATCH] vxlan: fix crash on module removal
2013-06-10 20:13 ` [PATCH net v2 03/03] [PATCH] vxlan: fix crash on module removal Stephen Hemminger
@ 2013-06-10 21:01 ` David Miller
2013-06-10 21:14 ` David Miller
0 siblings, 1 reply; 13+ messages in thread
From: David Miller @ 2013-06-10 21:01 UTC (permalink / raw)
To: stephen; +Cc: netdev
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Mon, 10 Jun 2013 13:13:15 -0700
> If vxlan is removed with active vxlan's it would crash because
> rtnl_link_unregister (which calls vxlan_dellink), was invoked
> before unregister_pernet_device (which calls vxlan_stop).
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
> Should goto stable
Applied and queued up for -stable.
Thanks.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH net v2 03/03] [PATCH] vxlan: fix crash on module removal
2013-06-10 21:01 ` David Miller
@ 2013-06-10 21:14 ` David Miller
2013-06-10 21:18 ` David Miller
0 siblings, 1 reply; 13+ messages in thread
From: David Miller @ 2013-06-10 21:14 UTC (permalink / raw)
To: stephen; +Cc: netdev
From: David Miller <davem@redhat.com>
Date: Mon, 10 Jun 2013 14:01:14 -0700 (PDT)
> From: Stephen Hemminger <stephen@networkplumber.org>
> Date: Mon, 10 Jun 2013 13:13:15 -0700
>
>> If vxlan is removed with active vxlan's it would crash because
>> rtnl_link_unregister (which calls vxlan_dellink), was invoked
>> before unregister_pernet_device (which calls vxlan_stop).
>>
>> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
>> ---
>> Should goto stable
>
> Applied and queued up for -stable.
Actually, this doesn't even compile.
+ destroy_workqueue(vxlan_wq);
vxlan_wq doesn't exist in the 'net' tree.
It doesn't exist in net-next either.
It gets added as part of your vxlan-next series which you posted at
the same time.
I'm tossing both vxlan patch sets, you'll need to resubmit them
properly.
I'm tossing both becuase I can tell the -next one won't apply properly
on top of this series up when you fix it up.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH net v2 03/03] [PATCH] vxlan: fix crash on module removal
2013-06-10 21:14 ` David Miller
@ 2013-06-10 21:18 ` David Miller
2013-06-10 21:48 ` Stephen Hemminger
0 siblings, 1 reply; 13+ messages in thread
From: David Miller @ 2013-06-10 21:18 UTC (permalink / raw)
To: stephen; +Cc: netdev
From: David Miller <davem@davemloft.net>
Date: Mon, 10 Jun 2013 14:14:21 -0700 (PDT)
> Actually, this doesn't even compile.
One last thing, no compile testing means no functional testing was
done on these patches in the environment in which they were meant to
be applied.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH net v2 03/03] [PATCH] vxlan: fix crash on module removal
2013-06-10 21:18 ` David Miller
@ 2013-06-10 21:48 ` Stephen Hemminger
2013-06-11 4:10 ` David Miller
0 siblings, 1 reply; 13+ messages in thread
From: Stephen Hemminger @ 2013-06-10 21:48 UTC (permalink / raw)
To: David Miller; +Cc: netdev
The issue was trying to split them into net and net-next series.
If I sent one series, would you be able to handle that?
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH net v2 03/03] [PATCH] vxlan: fix crash on module removal
2013-06-10 21:48 ` Stephen Hemminger
@ 2013-06-11 4:10 ` David Miller
0 siblings, 0 replies; 13+ messages in thread
From: David Miller @ 2013-06-11 4:10 UTC (permalink / raw)
To: stephen; +Cc: netdev
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Mon, 10 Jun 2013 14:48:14 -0700
> The issue was trying to split them into net and net-next series.
> If I sent one series, would you be able to handle that?
Everyone who wants to do this, does it like this:
1) You give me the "net" series with the bug fixes.
2) You give me the "net-next" series, and you tell me "this series
depends upon the bug fixes going into 'net' from series X, please
merge that into 'net-next' before applying this series.
And if you're really testing this stuff at all, that's how you're
developing and testing it too. You put together the net patch set,
you _build_ it and you _test_ it. Then you make a branch on
net-next, pull your 'net' stuff into it, and the build your 'net-next'
series on that branch. Then you _build_ it and you _test_ it before
even thinking about posting it here.
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2013-06-11 4:10 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20130610195822.888424947@vyatta.com>
2013-06-10 20:12 ` [PATCH net v2 02/03] vxlan: handle skb_clone failure Stephen Hemminger
2013-06-10 21:01 ` David Miller
2013-06-10 20:13 ` [PATCH net v2 03/03] [PATCH] vxlan: fix crash on module removal Stephen Hemminger
2013-06-10 21:01 ` David Miller
2013-06-10 21:14 ` David Miller
2013-06-10 21:18 ` David Miller
2013-06-10 21:48 ` Stephen Hemminger
2013-06-11 4:10 ` David Miller
2013-06-10 20:13 ` [PATCH net v2 01/03] vxlan: only migrate dynamic FDB entries Stephen Hemminger
2013-06-10 20:27 ` Sergei Shtylyov
2013-06-10 20:32 ` Stephen Hemminger
2013-06-10 20:42 ` David Miller
2013-06-10 21:00 ` David Miller
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).