This looks like another network-namespace regression.
icmp_send() does:
net = rt->u.dst.dev->nd_net;
The bridge netfilter code attaches a fake dst_entry to the
skb which has dev == NULL when passing it to IPv4 netfilter.
Pavel, do you have a better ideas for fixing this than
instantiating a dst_entry in br_netfilter.c for every
device (or at least for every namespace)?
--Hm... Why not make this dst entry point to looback device? This would allow us to make the dst entry per-namespace and instantiate it with the ns's lo. Thanks, Pavel --
I thought of that myself, but that will result in MTU problems. The current way is not ideal either (hardcoded MTU of 1500 for the fake net_device), but that at least works in normal bridge setups. --
[CC list trimmed slightly] The description of the problem was not entirely correct, the bridge-netfilter dst_entry does have a proper device pointer, it points to a dummy net_device structure however that doesn't have a namespace associated with it. This blows up in __ip_route_output_key. --
For now I suggest this fix. Andy, could you please test whether it fixes the problem?
I'm guessing it will. I've been testing my older kernels today and somehow I'm unable to reproduce the original problem, so I need to figure out what is different about my config now and before. I'll definitely post back when I test this, but I wanted to make sure you guys knew I was at least trying it. :) --
I just got done testing 159d83363b629c91d020734207c1bc788b96af5a and I can confirm that is resolves my issue. --
Thanks Andy. --
From: Patrick McHardy <kaber@trash.net> Even though we don't have a test report back yet, I've applied this, thanks Patrick. --
| Karl Meyer | PROBLEM: 2.6.23-rc "NETDEV WATCHDOG: eth0: transmit timed out" |
| David Miller | Slow DOWN, please!!! |
| Mark Fasheh | [PATCH 0/39] Ocfs2 updates for 2.6.28 |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
git: | |
| Shawn O. Pearce | Re: pack operation is thrashing my server |
| Pierre Habouzit | git send-email improvements |
| Matthieu Moy | git push to a non-bare repository |
| Shawn O. Pearce | libgit2 - a true git library |
| Elad Efrat | Integrating securelevel and kauth(9) |
| Hubert Feyrer | Re: Compressed vnd handling tested successfully |
| Lord Isildur | Re: Fork bomb protection patch |
| Matt Thomas | Re: FFS journal |
| Will Maier | cron doesn't run commands in /etc/crontab? |
| Richard Stallman | Real men don't attack straw men |
| Harald Dunkel | Re: Packet Filter: how to keep device names on hardware failure? |
| Jordi Espasa Clofent | Resolving dependencies with pkg_add |
| Question on swap as ramdisk partition | 1 hour ago | Linux kernel |
| Netfilter kernel module | 11 hours ago | Linux kernel |
| serial driver xmit problem | 14 hours ago | Linux kernel |
| Why Windows is better than Linux | 14 hours ago | Linux general |
| How can I see my kernel messages in vt12? | 21 hours ago | Linux kernel |
| Grub | 1 day ago | Linux general |
| vmalloc_fault handling in x86_64 | 1 day ago | Linux kernel |
| epoll_wait()ing on epoll FD | 1 day ago | Linux kernel |
| Framebuffer in x86_64 causes problems to multiseat | 1 day ago | Linux kernel |
| Difference between 2.4 and 2.6 regarding thread creation | 2 days ago | Linux general |
