Joel Sing
9fc3bbb4a7
ipv4/route.c: respect prefsrc for local routes
...
The preferred source address is currently ignored for local routes,
which results in all local connections having a src address that is the
same as the local dst address. Fix this by respecting the preferred source
address when it is provided for local routes.
This bug can be demonstrated as follows:
# ifconfig dummy0 192.168.0.1
# ip route show table local | grep local.*dummy0
local 192.168.0.1 dev dummy0 proto kernel scope host src 192.168.0.1
# ip route change table local local 192.168.0.1 dev dummy0 \
proto kernel scope host src 127.0.0.1
# ip route show table local | grep local.*dummy0
local 192.168.0.1 dev dummy0 proto kernel scope host src 127.0.0.1
We now establish a local connection and verify the source IP
address selection:
# nc -l 192.168.0.1 3128 &
# nc 192.168.0.1 3128 &
# netstat -ant | grep 192.168.0.1:3128.*EST
tcp 0 0 192.168.0.1:3128 192.168.0.1:33228 ESTABLISHED
tcp 0 0 192.168.0.1:33228 192.168.0.1:3128 ESTABLISHED
Signed-off-by: Joel Sing <jsing@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-01-04 11:35:12 -08:00
..
9p
net/9p: Return error on read with NULL buffer
2010-10-28 09:08:49 -05:00
802
net/802: add __rcu annotations
2010-10-25 13:09:44 -07:00
8021q
vlan: rcu annotations
2010-10-25 13:09:43 -07:00
appletalk
atm
atm: correct sysfs 'device' link creation and parent relationships
2010-12-10 15:45:05 -08:00
ax25
net: ax25: fix information leak to userland
2010-11-10 10:14:33 -08:00
bluetooth
Bluetooth: Fix initial RFCOMM DLC security level
2010-12-06 15:47:44 -02:00
bridge
bridge: stp: ensure mac header is set
2011-01-03 12:09:33 -08:00
caif
caif: Remove noisy printout when disconnecting caif socket
2010-11-03 18:50:04 -07:00
can
CAN: Use inode instead of kernel address for /proc file
2010-12-31 11:13:27 -08:00
ceph
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client
2010-12-20 21:32:20 -08:00
core
Revert "ipv4: Allow configuring subnets as local addresses"
2010-12-23 12:03:57 -08:00
dcb
dccp
dccp: fix error in updating the GAR
2010-11-28 11:29:27 -08:00
decnet
DECnet: don't leak uninitialized stack byte
2010-11-28 11:32:30 -08:00
dns_resolver
dsa
econet
econet: Fix crash in aun_incoming().
2010-12-08 20:51:15 -08:00
ethernet
ieee802154
ipv4
ipv4/route.c: respect prefsrc for local routes
2011-01-04 11:35:12 -08:00
ipv6
ipv6: Fragment locally generated tunnel-mode IPSec6 packets as needed.
2010-12-19 20:22:23 -08:00
ipx
irda
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
2010-12-26 12:06:56 -08:00
iucv
[S390] cleanup lowcore access from external interrupts
2010-10-25 16:10:19 +02:00
key
l2tp
l2tp: Fix modalias of l2tp_ip
2010-12-08 12:13:43 -08:00
lapb
llc
llc: fix a device refcount imbalance
2010-12-08 09:58:44 -08:00
mac80211
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
2010-12-26 12:06:56 -08:00
netfilter
netfilter: fix IP_VS dependencies
2010-11-18 13:14:33 -08:00
netlabel
netlink
netlink: fix netlink_change_ngroups()
2010-10-24 16:25:39 -07:00
netrom
packet
net: Fix header size check for GSO case in recvmsg (af_packet)
2010-11-12 11:06:46 -08:00
phonet
rds
rds: Integer overflow in RDS cmsg handling
2010-11-17 12:20:52 -08:00
rfkill
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
2010-10-23 11:47:02 -07:00
rose
rxrpc
sched
net_sched: sch_sfq: fix allot handling
2010-12-20 13:18:16 -08:00
sctp
sctp: fix the return value of getting the sctp partial delivery point
2010-12-16 14:48:44 -08:00
sunrpc
sunrpc: prevent use-after-free on clearing XPT_BUSY
2010-12-07 20:39:55 -05:00
tipc
net: tipc: fix information leak to userland
2010-11-09 09:25:46 -08:00
unix
af_unix: limit recursion level
2010-11-29 09:45:15 -08:00
wanrouter
wimax
wireless
cfg80211: fix can_beacon_sec_chan, reenable HT40
2010-11-18 11:35:05 -05:00
x25
x25: decrement netdev reference counts on unload
2010-12-08 12:13:44 -08:00
xfrm
xfrm: Fix xfrm_state_migrate leak
2010-12-09 20:35:27 -08:00
compat.c
net: Limit socket I/O iovec total length to INT_MAX.
2010-10-28 11:47:52 -07:00
Kconfig
Makefile
nonet.c
socket.c
net: Document the kernel_recvmsg() function
2010-12-10 11:13:18 -08:00
sysctl_net.c
TUNABLE