Messages in this thread | | | Date | Wed, 19 Dec 2007 11:28:39 -0600 | From | Matt Mackall <> | Subject | Re: a problem with NETPOLL/KGDBoE |
| |
On Wed, Dec 19, 2007 at 06:22:55PM +0200, Ramagudi Naziir wrote: > On 12/6/07, Matt Mackall <mpm@selenic.com> wrote: > > netpoll will ignore incoming UDP -from- the wrong port/ip/mac, since > > it's otherwise bypassing the firewall layer. > ... > > I forget how to deal > > with the source address issue in connection with GDB, perhaps Jason > > will remind us. > > I have checked it out. > Seems like there is absolutely no way to configure the source > port gdb uses for the udp connection. So one must invoke a > "target remote udp:ip:port" command, see what was the > chosen source port (tcpdump/netstat), and reconfigure kgdb on the target. > While this works, it is rather awkward. > > Do you think there is/can be another way to solve this issue > (like allowing NETPOLL to listen to a wildcard udp source port) ?
Here are the checks from net/core/netpoll.c:__netpoll_rx:
if (np->local_ip && np->local_ip != ntohl(iph->daddr)) goto out; if (np->remote_ip && np->remote_ip != ntohl(iph->saddr)) goto out; if (np->local_port && np->local_port != ntohs(uh->dest)) goto out;
In other words, we DON'T check remote_port and we don't check the local_port, local_ip, or remote_ip if they're zero. Sorry for the earlier confusion.
My hazy memory here is that my version of kgdboe took the first packet it got and set remote_port from it so that it could reply. Not sure whether that got copied as I can't seem to find the relevant bits in the latest -mm.
-- Mathematics is the supreme nostalgia of our time.
| |