19 Feb, 2011
1 commit
-
This will be used to optimize __ip_dev_find() and friends.
With help from Eric Dumazet.
Signed-off-by: David S. Miller
07 Dec, 2010
1 commit
-
If caller holds RTNL, we dont need a memory barrier
(smp_read_barrier_depends) included in rcu_dereference().Just use rtnl_dereference() to properly document the assertions.
Signed-off-by: Eric Dumazet
Signed-off-by: David S. Miller
18 Nov, 2010
1 commit
-
Define IPV4_DEVCONF_MAX to get rid of MAX - 1 notation.
Signed-off-by: Thomas Graf
Signed-off-by: David S. Miller
13 Nov, 2010
1 commit
-
in_dev->mc_list is protected by one rwlock (in_dev->mc_list_lock).
This can easily be converted to a RCU protection.
Writers hold RTNL, so mc_list_lock is removed, not replaced by a
spinlock.Signed-off-by: Eric Dumazet
Cc: Cypher Wu
Cc: Américo Wang
Signed-off-by: David S. Miller
01 Oct, 2010
1 commit
-
ip_dev_find(net, addr) finds a device given an IPv4 source address and
takes a reference on it.Introduce __ip_dev_find(), taking a third argument, to optionally take
the device reference. Callers not asking the reference to be taken
should be in an rcu_read_lock() protected section.Signed-off-by: Eric Dumazet
Signed-off-by: David S. Miller
16 Sep, 2010
1 commit
-
dev->ip_ptr is protected by rtnl and rcu.
Yet some places dont use appropriate primitives and/or locking rules.
Signed-off-by: Eric Dumazet
Signed-off-by: David S. Miller
17 Feb, 2010
1 commit
-
Stop using the binary sysctl enumeartion in sysctl.h as an index into
a per interface array. This leads to unnecessary binary sysctl number
allocation, and a fragility in data structure and implementation
because of unnecessary coupling.Signed-off-by: Eric W. Biederman
Signed-off-by: David S. Miller
11 Jan, 2010
1 commit
-
Conflicts:
drivers/net/benet/be_cmds.h
include/linux/sysctl.h
07 Jan, 2010
1 commit
-
This is to be used together with switch technologies, like RFC3069,
that where the individual ports are not allowed to communicate with
each other, but they are allowed to talk to the upstream router. As
described in RFC 3069, it is possible to allow these hosts to
communicate through the upstream router by proxy_arp'ing.This patch basically allow proxy arp replies back to the same
interface (from which the ARP request/solicitation was received).Tunable per device via proc "proxy_arp_pvlan":
/proc/sys/net/ipv4/conf/*/proxy_arp_pvlanThis switch technology is known by different vendor names:
- In RFC 3069 it is called VLAN Aggregation.
- Cisco and Allied Telesyn call it Private VLAN.
- Hewlett-Packard call it Source-Port filtering or port-isolation.
- Ericsson call it MAC-Forced Forwarding (RFC Draft).Signed-off-by: Jesper Dangaard Brouer
Signed-off-by: David S. Miller
26 Dec, 2009
1 commit
-
when using policy routing and the skb mark:
there are cases where a back path validation requires us
to use a different routing table for src ip validation than
the one used for mapping ingress dst ip.
One such a case is transparent proxying where we pretend to be
the destination system and therefore the local table
is used for incoming packets but possibly a main table would
be used on outbound.
Make the default behavior to allow the above and if users
need to turn on the symmetry via sysctl src_valid_markSigned-off-by: Jamal Hadi Salim
Signed-off-by: David S. Miller
04 Dec, 2009
1 commit
-
commit 8ec1e0ebe26087bfc5c0394ada5feb5758014fc8
Author: Patrick McHardy
Date: Thu Dec 3 12:16:35 2009 +0100ipv4: add sysctl to accept packets with local source addresses
Change fib_validate_source() to accept packets with a local source address when
the "accept_local" sysctl is set for the incoming inet device. Combined with the
previous patches, this allows to communicate between multiple local interfaces
over the wire.Signed-off-by: Patrick McHardy
Signed-off-by: David S. Miller
05 Nov, 2009
1 commit
-
This cleanup patch puts struct/union/enum opening braces,
in first line to ease grep games.struct something
{becomes :
struct something {
Signed-off-by: Eric Dumazet
Signed-off-by: David S. Miller
28 Jul, 2009
1 commit
-
Even though reverse path filter was changed from simple boolean to
trinary control, the loose mode only works if both all and device are
configured because of this logic error.Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller
01 Feb, 2009
1 commit
-
This adds another inet device option to enable gratuitous ARP
when device is brought up or address change. This is handy for
clusters or virtualization.Signed-off-by: Stephen Hemminger
Signed-off-by: Jeremy Fitzhardinge
Signed-off-by: David S. Miller
08 Oct, 2008
1 commit
-
This patch add mc_count to struct in_device and updates
increment/decrement/initilaize of this field in IPv4 and in IPv6.- Also printing the vfs /proc entry (/proc/net/igmp) is adjusted to
use the new mc_count.Signed-off-by: Rami Rosen
Signed-off-by: David S. Miller
04 Jun, 2008
1 commit
-
The field was supposed to allow the creation of an anycast route by
assigning an anycast address to an address prefix. It was never
implemented so this field is unused and serves no purpose. Remove it.Signed-off-by: Thomas Graf
Signed-off-by: David S. Miller
26 Mar, 2008
1 commit
-
Introduce per-net_device inlines: dev_net(), dev_net_set().
Without CONFIG_NET_NS, no namespace other than &init_net exists.
Let's explicitly define them to help compiler optimizations.Signed-off-by: YOSHIFUJI Hideaki
29 Feb, 2008
1 commit
-
Add namespace parameter to devinet_ioctl and locate device inside it for
state changes.Signed-off-by: Denis V. Lunev
Signed-off-by: David S. Miller
01 Feb, 2008
1 commit
-
struct ipv4_devconf can now become static.
Signed-off-by: Adrian Bunk
Acked-by: Pavel Emelyanov
Signed-off-by: David S. Miller
29 Jan, 2008
6 commits
-
in_dev_find() need a namespace to pass it to fib_get_table(), so add
an argument.Signed-off-by: Denis V. Lunev
Signed-off-by: David S. Miller -
Signed-off-by: Denis V. Lunev
Signed-off-by: David S. Miller -
arp_ignore has two arguments: dev & in_dev. dev is used for
inet_confirm_addr calling only.inet_confirm_addr, in turn, either gets in_dev from the device passed
or iterates over all network devices if the device passed is NULL. It
seems logical to directly pass in_dev into inet_confirm_addr.Signed-off-by: Denis V. Lunev
Signed-off-by: David S. Miller -
These are scattered over the code, but almost all the
"critical" places already have the proper struct net
at hand except for snmp proc showing function and routing
rtnl handler.Signed-off-by: Pavel Emelyanov
Signed-off-by: David S. Miller -
This is essentially IN_DEV_ANDCONF with proper arguments.
Signed-off-by: Pavel Emelyanov
Signed-off-by: David S. Miller -
AFAIS these two entries should do the same thing - change the
forwarding state on ipv4_devconf and on all the devices.I propose to merge the handlers together using ctl paths.
The inet_forward_change() is static after this and I move
it higher to be closer to other "propagation" helpers and
to avoid diff making patches based on { and } matching :)
i.e. - make them easier to read.Signed-off-by: Pavel Emelyanov
Signed-off-by: David S. Miller
23 Jun, 2007
1 commit
-
When CONFIG_INET=y and CONFIG_SYSCTL=n:
In file included from net/core/netpoll.c:16:
include/linux/inetdevice.h:15: error:
'__NET_IPV4_CONF_MAX' undeclared here (not in a function)
make[2]: *** [net/core/netpoll.o] Error 1
make[1]: *** [net/core] Error 2
make: *** [net] Error 2So #include sysctl.h from inetdevice.h.
Signed-off-by: Satyam Sharma
Signed-off-by: David S. Miller
08 Jun, 2007
3 commits
-
Previously inet devices were only constructed when addresses are added
(or rarely in ipmr). Therefore the default config values they get are
the ones at the time of these operations.Now that we're creating inet devices earlier, this changes the
behaviour of default config values in an incompatible way (see bug
#8519).This patch creates a compromise by setting the default values at the
same point as before but only for those that have not been explicitly
set by the user since the inet device's creation.Signed-off-by: Herbert Xu
Signed-off-by: David S. Miller -
Previously once inetdev_init has been called on a device any changes
made to ipv4_devconf_dflt would have no effect on that device's
configuration.This creates a problem since we have moved the point where
inetdev_init is called from when an address is added to where the
device is registered.This patch is the first half of a set that tries to mimic the old
behaviour while still calling inetdev_init.It propagates any changes to ipv4_devconf_dflt to those devices that
have not had the corresponding attribute set.The next patch will forcibly set all values at the point where
inetdev_init was previously called.Signed-off-by: Herbert Xu
Signed-off-by: David S. Miller -
This patch converts the ipv4_devconf config members (everything except
sysctl) to an array. This allows easier manipulation which will be
needed later on to provide better management of default config values.Signed-off-by: Herbert Xu
Signed-off-by: David S. Miller
03 Dec, 2006
1 commit
-
Signed-off-by: Al Viro
Signed-off-by: David S. Miller
29 Sep, 2006
4 commits
-
inet_confirm_addr(), inet_ifa_byprefix(), ip_dev_find(), inet_make_mask() and
inet_ifa_match() annotated, along with inferred net-endian variablesSigned-off-by: Al Viro
Signed-off-by: David S. Miller -
ifa_local, ifa_address, ifa_mask, ifa_broadcast and ifa_anycast are
net-endian. Annotated them and variables that are inferred to be
net-endian.Signed-off-by: Al Viro
Signed-off-by: David S. Miller -
Signed-off-by: Al Viro
Signed-off-by: David S. Miller -
argument and return value are net-endian. Annotated function and inferred
net-endian variables in callers.Signed-off-by: Al Viro
Signed-off-by: David S. Miller
21 Mar, 2006
1 commit
-
Signed-off-by: Neil Horman
Signed-off-by: David S. Miller
04 Oct, 2005
1 commit
-
The following patch renames __in_dev_get() to __in_dev_get_rtnl() and
introduces __in_dev_get_rcu() to cover the second case.1) RCU with refcnt should use in_dev_get().
2) RCU without refcnt should use __in_dev_get_rcu().
3) All others must hold RTNL and use __in_dev_get_rtnl().There is one exception in net/ipv4/route.c which is in fact a pre-existing
race condition. I've marked it as such so that we remember to fix it.This patch is based on suggestions and prior work by Suzanne Wood and
Paul McKenney.Signed-off-by: Herbert Xu
Signed-off-by: David S. Miller
30 May, 2005
1 commit
-
Add an option to make secondary IP addresses get promoted
when primary IP addresses are removed from the device.
It defaults to off to preserve existing behavior.Signed-off-by: Harald Welte
Signed-off-by: David S. Miller
17 Apr, 2005
1 commit
-
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.Let it rip!