GitHub/LineageOS/G12/android_kernel_amlogic_linux-4.9.git
16 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
David S. Miller [Fri, 28 Mar 2008 01:01:13 +0000 (18:01 -0700)]
Merge branch 'master' of git://git./linux/kernel/git/linville/wireless-2.6.26

16 years ago[SCTP]: Remove sctp_add_cmd_sf wrapper bloat
Ilpo Järvinen [Fri, 28 Mar 2008 00:54:29 +0000 (17:54 -0700)]
[SCTP]: Remove sctp_add_cmd_sf wrapper bloat

With a was number of callsites sctp_add_cmd_sf wrapper bloats
kernel by some amount. Due to unlikely tracking allyesconfig,
with the initial result were around ~7kB (thus caught my
attention) while a non-debug config produced only ~2.3kB effect.

I (ij) proposed first a patch to uninline it but Vlad responded
with a patch that removed the only sctp_add_cmd call which is
wrapped by sctp_add_cmd_sf (I wasn't sure if I could do that).
I did minor cleanup to Vlad's patch.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: uninline skb_trim, de-bloats
Ilpo Järvinen [Fri, 28 Mar 2008 00:54:01 +0000 (17:54 -0700)]
[NET]: uninline skb_trim, de-bloats

Allyesconfig (v2.6.24-mm1):
-10976  209 funcs, 123 +, 11099 -, diff: -10976 --- skb_trim

Without number of debug related CONFIGs (v2.6.25-rc2-mm1):
-7360  192 funcs, 131 +, 7491 -, diff: -7360 --- skb_trim
skb_trim                      |  +42

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: uninline dst_release
Ilpo Järvinen [Fri, 28 Mar 2008 00:53:31 +0000 (17:53 -0700)]
[NET]: uninline dst_release

Codiff stats (allyesconfig, v2.6.24-mm1):
-16420  187 funcs, 103 +, 16523 -, diff: -16420 --- dst_release

Without number of debug related CONFIGs (v2.6.25-rc2-mm1):
-7257  186 funcs, 70 +, 7327 -, diff: -7257 --- dst_release
dst_release                   |  +40

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: uninline skb_push, de-bloats a lot
Ilpo Järvinen [Fri, 28 Mar 2008 00:52:40 +0000 (17:52 -0700)]
[NET]: uninline skb_push, de-bloats a lot

Allyesconfig (v2.6.24-mm1):

-21593  356 funcs, 2418 +, 24011 -, diff: -21593 --- skb_push

Without many debug related CONFIGs (v2.6.25-rc2-mm1):

-13890  341 funcs, 189 +, 14079 -, diff: -13890 --- skb_push
skb_push                      |  +46

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: uninline dev_alloc_skb, de-bloats a lot
Ilpo Järvinen [Fri, 28 Mar 2008 00:51:31 +0000 (17:51 -0700)]
[NET]: uninline dev_alloc_skb, de-bloats a lot

Allyesconfig (v2.6.24-mm1):

-23668  392 funcs, 104 +, 23772 -, diff: -23668 --- dev_alloc_skb

Without many debug CONFIGs (v2.6.25-rc2-mm1):

-12178  382 funcs, 157 +, 12335 -, diff: -12178 --- dev_alloc_skb
dev_alloc_skb                 |  +37

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: uninline skb_pull, de-bloats a lot
Ilpo Järvinen [Fri, 28 Mar 2008 00:47:24 +0000 (17:47 -0700)]
[NET]: uninline skb_pull, de-bloats a lot

Allyesconfig (v2.6.24-mm1):

-28162  354 funcs, 3005 +, 31167 -, diff: -28162 --- skb_pull

Without number of debug related CONFIGs (v2.6.25-rc2-mm1):

-9697  338 funcs, 221 +, 9918 -, diff: -9697 --- skb_pull
skb_pull                      |  +44

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: uninline skb_put, de-bloats a lot
Ilpo Järvinen [Fri, 28 Mar 2008 00:43:41 +0000 (17:43 -0700)]
[NET]: uninline skb_put, de-bloats a lot

Allyesconfig (v2.6.24-mm1):

~500 files changed
...
 869 funcs, 198 +, 111003 -, diff: -110805 --- skb_put
  skb_put                       | +104

Without number of debug related CONFIGs (v2.6.25-rc2-mm1):

-60744  855 funcs, 861 +, 61605 -, diff: -60744 --- skb_put
  skb_put                       |  +57

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[IPV6]: Remove three unused method declarations in include/net/ipv6.h
Rami Rosen [Fri, 28 Mar 2008 00:39:19 +0000 (17:39 -0700)]
[IPV6]: Remove three unused method declarations in include/net/ipv6.h

This patch removes three unused method declarations in include/net/ipv6.h:
inet_getfrag_t(), ipv6_build_nfrag_opts() and ipv6_build_frag_opts().

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[PKT_SCHED]: Pass real namespace in net scheduler classifiers.
Denis V. Lunev [Thu, 27 Mar 2008 23:53:37 +0000 (16:53 -0700)]
[PKT_SCHED]: Pass real namespace in net scheduler classifiers.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS]: Do no include NET related headers if CONFIG_NET is not set.
Denis V. Lunev [Thu, 27 Mar 2008 21:26:30 +0000 (14:26 -0700)]
[NETNS]: Do no include NET related headers if CONFIG_NET is not set.

This fix broken compilation for 'allnoconfig'. This was introduced by
Introduced by commit 1218854afa6f659be90b748cf1bc7badee954a35 ("[NET]
NETNS: Omit seq_net_private->net without CONFIG_NET_NS.")

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS]: Compile NET /proc support only if CONFIG_NET is set.
Denis V. Lunev [Thu, 27 Mar 2008 21:25:53 +0000 (14:25 -0700)]
[NETNS]: Compile NET /proc support only if CONFIG_NET is set.

This fix broken compilation for 'allnoconfig'. This was introduced by
Introduced by commit 1218854afa6f659be90b748cf1bc7badee954a35 ("[NET]
NETNS: Omit seq_net_private->net without CONFIG_NET_NS.")

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agolibertas: reduce debug output
Holger Schurig [Wed, 26 Mar 2008 09:04:44 +0000 (10:04 +0100)]
libertas: reduce debug output

This patch tries to make dmesg logs between different runs easier
to compare by

* removing the jiffies (use CONFIG_PRINTK_TIME if you need
  timing)
* remove the line numbers, they change with each applied patch

It also changes the deprecated __FUNCTION__ to __func__ to make
checkpatch.pl happy.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: reorder fields to make some structures smaller
Johannes Berg [Wed, 26 Mar 2008 22:21:47 +0000 (23:21 +0100)]
mac80211: reorder fields to make some structures smaller

This patch reorders some fields in various structures to have
less padding within the structures, making them smaller. It
doesn't yet make any type adjustments, but often size_t is used
for example for IE lengths which is total overkill since size_t
will be 8 bytes long on 64-bit yet the length can at most fill
a u8.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoprism54: correct thinko in "prism54: Convert stats_sem in a mutex"
John W. Linville [Wed, 26 Mar 2008 19:21:33 +0000 (15:21 -0400)]
prism54: correct thinko in "prism54: Convert stats_sem in a mutex"

mutex_trylock has different return code semantics than down_trylock...

Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: A-MPDU MLME use dynamic allocation
Ron Rindjunsky [Wed, 26 Mar 2008 18:36:03 +0000 (20:36 +0200)]
mac80211: A-MPDU MLME use dynamic allocation

This patch alters the A-MPDU MLME in sta_info to use dynamic allocation,
thus drastically improving memory usage - from a constant ~2 Kbyte in
the previous (static) allocation to a lower limit of ~200 Byte and an upper
limit of ~2 Kbyte.

Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agocfg80211: don't export ieee80211_get_channel
Johannes Berg [Wed, 26 Mar 2008 13:14:55 +0000 (14:14 +0100)]
cfg80211: don't export ieee80211_get_channel

This patch makes ieee80211_get_channel a static inline defined in
cfg80211's header file which simply calls __ieee80211_get_channel
to avoid symbol clashes with the ieee80211 code.

The problem was pointed out by David Miller, thanks!

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Cc: David Miller <davem@davemloft.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: the compact flash driver is no longer experimental
Holger Schurig [Wed, 26 Mar 2008 12:26:55 +0000 (13:26 +0100)]
libertas: the compact flash driver is no longer experimental

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: remove CMD_802_11_PWR_CFG
Holger Schurig [Wed, 26 Mar 2008 08:57:45 +0000 (09:57 +0100)]
libertas: remove CMD_802_11_PWR_CFG

This has nowhere been used. Note: in the firmware manual this was
documented as CMD_802_11_PA_CFG. If we ever need it, we can/should
re-implement it as a direct command.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: kill useless #define LBS_MONITOR_OFF 0
Holger Schurig [Wed, 26 Mar 2008 08:57:14 +0000 (09:57 +0100)]
libertas: kill useless #define LBS_MONITOR_OFF 0

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: iwl_priv - clean up in types of members
Tomas Winkler [Tue, 25 Mar 2008 23:33:41 +0000 (16:33 -0700)]
iwlwifi: iwl_priv - clean up in types of members

This patch fix types of is_open and iw_mode members
of iwl_priv sturct

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: allow a default callback for ASYNC host commands
Emmanuel Grumbach [Tue, 25 Mar 2008 23:33:40 +0000 (16:33 -0700)]
iwlwifi: allow a default callback for ASYNC host commands

This patch provides a default callback for ASYNC host commands instead
of calling to BUG_ON. Most of the callbacks are now just empty functions

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: fix wrong Rx A-MPDU control via debugfs
Ron Rindjunsky [Tue, 25 Mar 2008 23:33:39 +0000 (16:33 -0700)]
mac80211: fix wrong Rx A-MPDU control via debugfs

This patch eliminate the use of buf_size as a trigger in favor of a new
flag to control Rx A-MPDU sessions through debugfs

Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: improve NIC i/o debug prints information
Tomas Winkler [Tue, 25 Mar 2008 23:33:38 +0000 (16:33 -0700)]
iwlwifi: improve NIC i/o debug prints information

This patch gives the function's caller name in case NIC
access reference count was not used by it.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: rename iwl-4965-io.h to iwl-io.h
Tomas Winkler [Tue, 25 Mar 2008 23:33:37 +0000 (16:33 -0700)]
iwlwifi: rename iwl-4965-io.h to iwl-io.h

This patch renames iwl-4965-io.h back to iw-io.h
it also remove 4965 from all functions it supplies

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: Add led support
Mohamed Abbas [Tue, 25 Mar 2008 23:33:36 +0000 (16:33 -0700)]
iwlwifi: Add led support

This patch add LEDS support to 3965 and 4965 drivers. It is based on
led trigger and class. For our drivers we needed to avoid two things.
1- We receive led trigger on/off on each Rx\Tx frame. In our driver
    we can not call led command like that. In this driver once driver
    receive a start of traffic it call the led command to start blinking
    then we count all bytes of Tx and Rx frame, after two second we count the
    blink rate of last two second then id blink rate changed we call the led
     commands
2- Since we can call led command very often, we make sure we call the
    led command after we receive the statistics notification so
    we don't need to wake up the ucode id it is in sleep state.
    This patch was tested with 4965 and 3945.

Signed-off-by: Mohamed Abbas <mabbas@linux.intel.com>
Signed-off-by: Ian Schram<ischram@telenet.be>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: do not register bands with no supported channels
John W. Linville [Tue, 25 Mar 2008 19:58:40 +0000 (15:58 -0400)]
iwlwifi: do not register bands with no supported channels

Otherwise, b/g-only devices fail in wiphy_register.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: silently accept deletion of non-existant key
John W. Linville [Tue, 25 Mar 2008 15:43:15 +0000 (11:43 -0400)]
mac80211: silently accept deletion of non-existant key

Otherwise, 'iwconfig wlan0 key off' with no key set results in:

Error for wireless request "Set Encode" (8B2A) :
    SET failed on device wlan0 ; No such file or directory.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years ago[NETNS][IPV6] flowlabels - make proc per namespace
Benjamin Thery [Wed, 26 Mar 2008 23:53:30 +0000 (16:53 -0700)]
[NETNS][IPV6] flowlabels - make proc per namespace

Make /proc/net/ip6_flowlabel show only flow labels belonging to the
current network namespace.

Signed-off-by: Benjamin Thery <benjamin.thery@bull.net>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS][IPV6] flowlabels - make flowlabels per namespace
Benjamin Thery [Wed, 26 Mar 2008 23:53:08 +0000 (16:53 -0700)]
[NETNS][IPV6] flowlabels - make flowlabels per namespace

This patch introduces a new member, fl_net, in struct ip6_flowlabel.
This allows to create labels with the same value in different namespaces.

Signed-off-by: Benjamin Thery <benjamin.thery@bull.net>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS][IPV6] anycast - handle several network namespace
Daniel Lezcano [Wed, 26 Mar 2008 23:52:32 +0000 (16:52 -0700)]
[NETNS][IPV6] anycast - handle several network namespace

Make use of the network namespace information to have this protocol to
handle several network namespace.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Signed-off-by: Benjamin Thery <benjamin.thery@bull.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[IPV6]: Fix potential net leak and oops in ipv6 routing code.
Pavel Emelyanov [Wed, 26 Mar 2008 23:49:40 +0000 (16:49 -0700)]
[IPV6]: Fix potential net leak and oops in ipv6 routing code.

The commits f3db4851 ([NETNS][IPV6] ip6_fib - fib6_clean_all handle several
network namespaces) and 69ddb805 ([NETNS][IPV6] route6 - Make proc entry
/proc/net/rt6_stats per namespace) made some proc files per net.

Both of them introduced potential OOPS - get_proc_net can return NULL, but
this check is lost - and a struct net leak - in case single_open() fails the
previously got net is not put.

Kill all these bugs with one patch.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Acked-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[TIPC]: Cosmetic cleanup of TIPC polling logic
Allan Stephens [Wed, 26 Mar 2008 23:48:21 +0000 (16:48 -0700)]
[TIPC]: Cosmetic cleanup of TIPC polling logic

This patch eliminates an unnecessary poll-related routine
by merging it into TIPC's main polling routine, and updates
the comments associated with this code.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[VLAN]: Reduce memory consumed by vlan_groups
Pavel Emelyanov [Wed, 26 Mar 2008 23:27:22 +0000 (16:27 -0700)]
[VLAN]: Reduce memory consumed by vlan_groups

Currently each vlan_groupd contains 8 pointers on arrays with 512
pointers on struct net_device each  :)  Such a construction "in many
cases ... wastes memory".

My proposal is to allow for some of these arrays pointers be NULL,
meaning that there are no devices in it. When a new device is added
to the vlan_group, the appropriate array is allocated.

The check in vlan_group_get_device's is safe, since the pointer
vg->vlan_devices_arrays[x] can only switch from NULL to not-NULL.
The vlan_group_prealloc_vid() is guarded with rtnl lock and is
also safe.

I've checked (I hope that) all the places, that use these arrays
and found, that the register_vlan_dev is the only place, that can
put a vlan device on an empty vlan_group.

Rough calculations shows, that after the patch a setup with a
single vlan dev (or up to 512 vlans with sequential vids) will
occupy approximately 8 times less memory.

The question I have is - does this patch makes sense, or a totally
new structures are required to store the vlan_devs?

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
16 years ago[NETNS][ICMP]: Build fix for NET_NS=n case (dev->nd_net is omitted).
Pavel Emelyanov [Wed, 26 Mar 2008 09:19:25 +0000 (02:19 -0700)]
[NETNS][ICMP]: Build fix for NET_NS=n case (dev->nd_net is omitted).

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS][ICMP]: Use per-net sysctls in ipv4/icmp.c.
Pavel Emelyanov [Wed, 26 Mar 2008 09:00:21 +0000 (02:00 -0700)]
[NETNS][ICMP]: Use per-net sysctls in ipv4/icmp.c.

This mostly re-uses the net, used in icmp netnsization patches from Denis.

After this ICMP sysctls are completely virtualized.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS][ICMP]: Make ctl tables for ICMP sysctls per-net.
Pavel Emelyanov [Wed, 26 Mar 2008 08:56:24 +0000 (01:56 -0700)]
[NETNS][ICMP]: Make ctl tables for ICMP sysctls per-net.

Add some flesh to ipv4_sysctl_init_net and ipv4_sysctl_exit_net,
i.e. copy the table, alter .data pointers and register it per-net.

Other ipv4_table's sysctls are now global, but this is going to
change once sysctl permissions patches migrate from -mm tree to
mainline in 2.6.26 merge window :)

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS][ICMP]: Move ICMP sysctls on struct net.
Pavel Emelyanov [Wed, 26 Mar 2008 08:55:37 +0000 (01:55 -0700)]
[NETNS][ICMP]: Move ICMP sysctls on struct net.

Initialization is moved to icmp_sk_init, all the places, that
refer to them use init_net for now.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS][ICMP]: Register pernet subsys to make ICMP sysctls per-net.
Pavel Emelyanov [Wed, 26 Mar 2008 08:54:18 +0000 (01:54 -0700)]
[NETNS][ICMP]: Register pernet subsys to make ICMP sysctls per-net.

This includes adding pernet_operations, empty init and exit
hooks and a bit of changes in sysctl_ipv4_init just not to
have this part in next patches.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS]: Compilation warnings under CONFIG_NET_NS.
Denis V. Lunev [Wed, 26 Mar 2008 07:48:17 +0000 (00:48 -0700)]
[NETNS]: Compilation warnings under CONFIG_NET_NS.

Recent commits from YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
have been introduced a several compilation warnings
'assignment discards qualifiers from pointer target type'
due to extra const modifier in the inline call parameters of
{dev|sock|twsk}_net_set.

Drop it.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS]: Compilation fix for include/linux/netdevice.h.
Denis V. Lunev [Wed, 26 Mar 2008 07:47:14 +0000 (00:47 -0700)]
[NETNS]: Compilation fix for include/linux/netdevice.h.

Commit commit c346dca10840a874240c78efe3f39acf4312a1f2
([NET] NETNS: Omit net_device->nd_net without CONFIG_NET_NS)
breaks compilation with CONFIG_NET_NS set.

Fix the typo.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoMerge branch 'upstream-net26' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
David S. Miller [Wed, 26 Mar 2008 06:11:25 +0000 (23:11 -0700)]
Merge branch 'upstream-net26' of /linux/kernel/git/jgarzik/netdev-2.6

16 years agogianfar: Fix Rx/Tx HW interrupt coalescing counter reset procedure.
Andy Fleming [Mon, 24 Mar 2008 15:53:28 +0000 (10:53 -0500)]
gianfar: Fix Rx/Tx HW interrupt coalescing counter reset procedure.

- Fix Rx/Tx HW interrupt coalescing counter reset logic. Disabling
is required before resetting the counter.

- Update the Default both Rx and Tx coalescing timer
threshold. Formerly 4 is set which is equal to 1.5 frame at the line
rate of 1GbE interface, and it doesn't match to the coalescing frame
count which is set to 16. Threashold 21 is matched to frame count 16.

Signed-off-by: Dai Haruki <dai.haruki@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agogianfar: Only process completed frames
Andy Fleming [Mon, 24 Mar 2008 15:53:27 +0000 (10:53 -0500)]
gianfar: Only process completed frames

If the LAST bit is not set in the RxBD, it's possible we're processing
an incomplete frame, which is bad.  While we're at it, add a constant
for the error bitmask, so the whole if-clause fits on one line,
and is more legible.

Signed-off-by: Dai Haruki <dai.haruki@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agogianfar: Fix frame size calculation when hardware VLAN acceleration is on
Dai Haruki [Mon, 24 Mar 2008 15:53:26 +0000 (10:53 -0500)]
gianfar: Fix frame size calculation when hardware VLAN acceleration is on

In gfar_change_mtu(), the frame size needs to be increased to account
for the extra 4 bytes VLAN adds to the ethernet header.  However,
it was being increased by the length of the whole header (18 bytes),
which is wrong.

Signed-off-by: Dai Haruki <dai.haruki@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agogianfar: Fix the data buffer stashing amount
Dai Haruki [Mon, 24 Mar 2008 15:53:29 +0000 (10:53 -0500)]
gianfar: Fix the data buffer stashing amount

- Buffer stashing parameter change to 96 from 64 in order to cover
the Layer 4 header.

Signed-off-by: Dai Haruki <dai.haruki@freescale.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoUse single_open instead of manual manipulations.
Pavel Emelyanov [Mon, 18 Feb 2008 10:55:10 +0000 (13:55 +0300)]
Use single_open instead of manual manipulations.

The code opening proc entry for each device makes the
same thing, as the single_open does, so remove the
unneeded code.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agophy/broadcom: add support for BCM5481 PHY
Anton Vorontsov [Tue, 4 Mar 2008 16:41:32 +0000 (19:41 +0300)]
phy/broadcom: add support for BCM5481 PHY

This patch adds support for BCM5481 PHY. Unfortunately it's hard to
get specifications for this PHY, so its special register 0x18 isn't
annotated properly (but we know it's used to set up the delays).

I've kept the magic numbers, so we'll not forget to fix it at the
first opportunity, and will name that register and its bits correctly.

p.s. also fixed the line with broken indention, introduced by
commit 03157ac31eb4a8883382a212b161d2e6c5059fbf
    PHYLIB: Add BCM5482 PHY support

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoqla3xxx: convert byte order of constant instead of variable
Marcin Slusarz [Tue, 4 Mar 2008 23:19:20 +0000 (15:19 -0800)]
qla3xxx: convert byte order of constant instead of variable

Convert byte order of constant instead of variable which can be done at
compile time (vs run time)

Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Acked-by: Ron Mercer <ron.mercer@qlogic.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agodrivers/net/mv643xx_eth.c: Use FIELD_SIZEOF
Julia Lawall [Tue, 4 Mar 2008 23:19:19 +0000 (15:19 -0800)]
drivers/net/mv643xx_eth.c: Use FIELD_SIZEOF

Robert P.J. Day proposed to use the macro FIELD_SIZEOF in replace of code
that matches its definition.

The modification was made using the following semantic patch
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@haskernel@
@@

#include <linux/kernel.h>

@depends on haskernel@
type t;
identifier f;
@@

- (sizeof(((t*)0)->f))
+ FIELD_SIZEOF(t, f)

@depends on haskernel@
type t;
identifier f;
@@

- sizeof(((t*)0)->f)
+ FIELD_SIZEOF(t, f)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoAdd support the Korina (IDT RC32434) Ethernet MAC
Florian Fainelli [Wed, 19 Mar 2008 16:14:51 +0000 (17:14 +0100)]
Add support the Korina (IDT RC32434) Ethernet MAC

This patch adds support for the IDT rc32434 Ethernet MAC
we can find in the IDT boards and the Mikrotik RB500.
Driver references some code from the linux-mips RB500
support.

Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Philip Rischel <rischelp@idt.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoforcedeth: Use round_jiffies for stats timer
Daniel Drake [Tue, 18 Mar 2008 11:07:18 +0000 (11:07 +0000)]
forcedeth: Use round_jiffies for stats timer

This timer doesn't need to run at precise times, so round it to a whole
second to decrease wakeups.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agos2io annotations
Al Viro [Sun, 16 Mar 2008 22:23:14 +0000 (22:23 +0000)]
s2io annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoendianness annotations: rndis
Al Viro [Sun, 16 Mar 2008 22:43:06 +0000 (22:43 +0000)]
endianness annotations: rndis

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoannotate cxgb3 (ab)uses of skb->priority/skb->csum
Al Viro [Sun, 16 Mar 2008 22:22:54 +0000 (22:22 +0000)]
annotate cxgb3 (ab)uses of skb->priority/skb->csum

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoskfp annotations
Al Viro [Sun, 16 Mar 2008 22:22:24 +0000 (22:22 +0000)]
skfp annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agomisc drivers/net annotations
Al Viro [Sun, 16 Mar 2008 22:21:54 +0000 (22:21 +0000)]
misc drivers/net annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoni52: more unbreaking
Al Viro [Wed, 19 Mar 2008 09:44:39 +0000 (09:44 +0000)]
ni52: more unbreaking

missed read*/write* plus a bunch of wrong-sized ones...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoni52: switch to ioremap()
Al Viro [Wed, 19 Mar 2008 09:44:29 +0000 (09:44 +0000)]
ni52: switch to ioremap()

isa_bus_to_virt() is the wrong thing to do here; it happens
to work on i386, but only by accident.  What we want is
normal ioremap/readb/etc. set - it's all in iomem.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoni52: clean up check586()
Al Viro [Wed, 19 Mar 2008 09:44:19 +0000 (09:44 +0000)]
ni52: clean up check586()

take iscp-based testing into helper, kill the loop, stop
wanking with reassignments of priv->iscp

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoni52: clean up initialization of priv
Al Viro [Wed, 19 Mar 2008 09:44:09 +0000 (09:44 +0000)]
ni52: clean up initialization of priv

* initialize spinlock once
* check586() used to be done before we'd allocated ->priv; these days
  it's there from the very beginning, so we don't have to play with
  private copy.  Consequently, we don't need to mess with reinitializing
  ->base, etc. afterwards.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoni52: make ->base char __iomem *
Al Viro [Wed, 19 Mar 2008 09:43:59 +0000 (09:43 +0000)]
ni52: make ->base char __iomem *

... and store the virt address where we map the ->mem_addr, while we
are at it.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoni52: kill the second argument of check586(), get rid of bogus pointer
Al Viro [Wed, 19 Mar 2008 09:43:49 +0000 (09:43 +0000)]
ni52: kill the second argument of check586(), get rid of bogus pointer

Passing ISA bus address explicitly cast to char * only to cast it back to
unsigned long is dumb; so's passing it at all when it's always dev->mem_start...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoni52: unbreak scp_struct
Al Viro [Wed, 19 Mar 2008 09:43:39 +0000 (09:43 +0000)]
ni52: unbreak scp_struct

unsigned short != u8, it's u16...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoni52 trivial iomem annotations
Al Viro [Wed, 19 Mar 2008 09:43:29 +0000 (09:43 +0000)]
ni52 trivial iomem annotations

Driver is still broken, though; partially from Alan's checkpatch-induced
fun, partially from layers of ancient mess ;-)

By the end of the series... hell, might be even worth trying to stick
such card into old alpha or ppc with an ISA slot and see if it work -
would be for the first time ever in case of alpha and for the first
time since at least 2.5.3 in case of ppc...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoixgb: remove irq_sem
Jesse Brandeburg [Fri, 21 Mar 2008 18:07:03 +0000 (11:07 -0700)]
ixgb: remove irq_sem

ixgb can remove irq_sem by auditing all the call sites to make sure
that each of them makes sure the adapter is in the correct state
before re-enabling interrupts.  after doing this to all of our other
drivers it is becoming easier.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoe1000: remove irq_sem
Jesse Brandeburg [Fri, 21 Mar 2008 18:06:58 +0000 (11:06 -0700)]
e1000: remove irq_sem

irq_sem was just a hack to prevent interrupts from being enabled
unexpectedly in deep call paths.  Simply finding those call paths and
fixing them by hand results in a driver that behaves as we expect and
doesn't need the atomic at all.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoe1000e: remove irq_sem
Jesse Brandeburg [Fri, 21 Mar 2008 18:06:52 +0000 (11:06 -0700)]
e1000e: remove irq_sem

irq_sem can safely be removed by auditing all irq.*able sites to
make sure that interrupts don't get enabled unexpectedly when the
interface is down.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoe1000e: remove no longer used e1000e_read_nvm_spi
Auke Kok [Fri, 21 Mar 2008 18:06:47 +0000 (11:06 -0700)]
e1000e: remove no longer used e1000e_read_nvm_spi

This function is no longer used now that 82573 uses the eerd
read method as well. Thanks to Adrian Bunk for pointing this out.

Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoixgb: move externs out of .c files
Auke Kok [Fri, 21 Mar 2008 18:06:42 +0000 (11:06 -0700)]
ixgb: move externs out of .c files

Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoixgb: convert boolean_t to bool
Joe Perches [Fri, 21 Mar 2008 18:06:37 +0000 (11:06 -0700)]
ixgb: convert boolean_t to bool

> send me a patch for e1000 and for ixgb and I'll happily apply those :)

boolean_t to bool
TRUE to true
FALSE to false

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoixgb: add explicit state checking
Jesse Brandeburg [Fri, 21 Mar 2008 18:06:32 +0000 (11:06 -0700)]
ixgb: add explicit state checking

In order to remove the irq_sem code we need to implement strict
adapter state checking to prevent accidental double up or downs
or resets. This code is largely copied from e1000/e1000e.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoe1000: Convert boolean_t to bool
Joe Perches [Fri, 21 Mar 2008 18:06:25 +0000 (11:06 -0700)]
e1000: Convert boolean_t to bool

On Thu, 2008-03-06 at 10:07 -0800, Kok, Auke wrote:
> send me a patch for e1000 and for ixgb and I'll happily apply those :)

boolean_t to bool
TRUE to true
FALSE to false
comment typo ahread to ahead

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years ago[NETFILTER]: nf_conntrack_sip: update copyright
Patrick McHardy [Wed, 26 Mar 2008 03:27:05 +0000 (20:27 -0700)]
[NETFILTER]: nf_conntrack_sip: update copyright

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_conntrack_sip: RTP routing optimization
Patrick McHardy [Wed, 26 Mar 2008 03:26:43 +0000 (20:26 -0700)]
[NETFILTER]: nf_conntrack_sip: RTP routing optimization

Optimize call routing between NATed endpoints: when an external
registrar sends a media description that contains an existing RTP
expectation from a different SNATed connection, the gatekeeper
is trying to route the call directly between the two endpoints.

We assume both endpoints can reach each other directly and
"un-NAT" the addresses, which makes the media stream go between
the two endpoints directly.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_conntrack_sip: support multiple media channels
Patrick McHardy [Wed, 26 Mar 2008 03:26:24 +0000 (20:26 -0700)]
[NETFILTER]: nf_conntrack_sip: support multiple media channels

Add support for multiple media channels and use it to create
expectations for video streams when present.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_nat_sip: split up SDP mangling
Patrick McHardy [Wed, 26 Mar 2008 03:26:08 +0000 (20:26 -0700)]
[NETFILTER]: nf_nat_sip: split up SDP mangling

The SDP connection addresses may be contained in the payload multiple
times (in the session description and/or once per media description),
currently only the session description is properly updated. Split up
SDP mangling so the function setting up expectations only updates the
media port, update connection addresses from media descriptions while
parsing them and at the end update the session description when the
final addresses are known.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_conntrack_sip: create RTCP expectations
Patrick McHardy [Wed, 26 Mar 2008 03:25:49 +0000 (20:25 -0700)]
[NETFILTER]: nf_conntrack_sip: create RTCP expectations

Create expectations for the RTCP connections in addition to RTP connections.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_conntrack_sip: allow media expectations with wildcard source address
Patrick McHardy [Wed, 26 Mar 2008 03:25:32 +0000 (20:25 -0700)]
[NETFILTER]: nf_conntrack_sip: allow media expectations with wildcard source address

Media streams can come from anywhere, add a module parameter which
controls whether wildcard expectations or expectations between the
two signalling endpoints are created.

Since the same media description sent on multiple connections may
results in multiple identical expections when using a wildcard source,
we need to check whether a similar expectation already exists for a
different connection before attempting to register it.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_conntrack_sip: create signalling expectations
Patrick McHardy [Wed, 26 Mar 2008 03:25:13 +0000 (20:25 -0700)]
[NETFILTER]: nf_conntrack_sip: create signalling expectations

Create expectations for incoming signalling connections when seeing
a REGISTER request. This is needed when the registrar uses a
different source port number for signalling messages and for receiving
incoming calls from other endpoints than the registrar.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_nat_sip: translate all Contact headers
Patrick McHardy [Wed, 26 Mar 2008 03:24:57 +0000 (20:24 -0700)]
[NETFILTER]: nf_nat_sip: translate all Contact headers

The SIP message may contain multiple Contact: addresses referring to
the NATed endpoint, translate all of them.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_nat_sip: translate all Via headers
Patrick McHardy [Wed, 26 Mar 2008 03:24:41 +0000 (20:24 -0700)]
[NETFILTER]: nf_nat_sip: translate all Via headers

Update maddr=, received= and rport= Via-header parameters refering to
the signalling connection.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_conntrack_sip: introduce URI and header parameter parsing helpers
Patrick McHardy [Wed, 26 Mar 2008 03:24:24 +0000 (20:24 -0700)]
[NETFILTER]: nf_conntrack_sip: introduce URI and header parameter parsing helpers

Introduce URI and header parameter parsing helpers. These are needed
by the conntrack helper to parse expiration values in Contact: header
parameters and by the NAT helper to properly update the Via-header
rport=, received= and maddr= parameters.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_conntrack_sip: flush expectations on call termination
Patrick McHardy [Wed, 26 Mar 2008 03:24:04 +0000 (20:24 -0700)]
[NETFILTER]: nf_conntrack_sip: flush expectations on call termination

Flush the RTP expectations we've created when a call is hung up or
terminated otherwise.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_conntrack_sip: process ACK and PRACK methods
Patrick McHardy [Wed, 26 Mar 2008 03:22:53 +0000 (20:22 -0700)]
[NETFILTER]: nf_conntrack_sip: process ACK and PRACK methods

Both may contains SDP offers/answers.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_conntrack_sip: perform NAT after parsing
Patrick McHardy [Wed, 26 Mar 2008 03:22:37 +0000 (20:22 -0700)]
[NETFILTER]: nf_conntrack_sip: perform NAT after parsing

Perform NAT last after parsing the packet. This makes no difference
currently, but is needed when dealing with registrations to make
sure we seen the unNATed addresses.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_conntrack_sip: support method specific request/response handling
Patrick McHardy [Wed, 26 Mar 2008 03:22:20 +0000 (20:22 -0700)]
[NETFILTER]: nf_conntrack_sip: support method specific request/response handling

Add support for per-method request/response handlers and perform SDP
parsing for INVITE/UPDATE requests and for all informational and
successful responses.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_conntrack_sip: move SDP parsing to seperate function
Patrick McHardy [Wed, 26 Mar 2008 03:19:46 +0000 (20:19 -0700)]
[NETFILTER]: nf_conntrack_sip: move SDP parsing to seperate function

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_nat_sip: get rid of text based header translation
Patrick McHardy [Wed, 26 Mar 2008 03:19:30 +0000 (20:19 -0700)]
[NETFILTER]: nf_nat_sip: get rid of text based header translation

Use the URI parsing helper to get the numerical addresses and get rid of the
text based header translation.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_conntrack_sip: introduce SIP-URI parsing helper
Patrick McHardy [Wed, 26 Mar 2008 03:19:13 +0000 (20:19 -0700)]
[NETFILTER]: nf_conntrack_sip: introduce SIP-URI parsing helper

Introduce a helper function to parse a SIP-URI in a header value, optionally
iterating through all headers of this kind.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_conntrack_sip: parse SIP headers properly
Patrick McHardy [Wed, 26 Mar 2008 03:18:57 +0000 (20:18 -0700)]
[NETFILTER]: nf_conntrack_sip: parse SIP headers properly

Introduce new function for SIP header parsing that properly deals with
continuation lines and whitespace in headers and use it.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_conntrack_sip: kill request URI "header" definitions
Patrick McHardy [Wed, 26 Mar 2008 03:18:40 +0000 (20:18 -0700)]
[NETFILTER]: nf_conntrack_sip: kill request URI "header" definitions

The request URI is not a header and needs to be treated differently than
real SIP headers. Add a seperate function for parsing it and get rid of
the POS_REQ_URI/POS_REG_REQ_URI definitions.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_conntrack_sip: add seperate SDP header parsing function
Patrick McHardy [Wed, 26 Mar 2008 03:17:55 +0000 (20:17 -0700)]
[NETFILTER]: nf_conntrack_sip: add seperate SDP header parsing function

SDP and SIP headers are quite different, SIP can have continuation lines,
leading and trailing whitespace after the colon and is mostly case-insensitive
while SDP headers always begin on a new line and are followed by an equal
sign and the value, without any whitespace.

Introduce new SDP header parsing function and convert all users that used
the SIP header parsing function. This will allow to properly deal with the
special SIP cases in the SIP header parsing function later.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_conntrack_sip: use strlen/strcmp
Patrick McHardy [Wed, 26 Mar 2008 03:17:36 +0000 (20:17 -0700)]
[NETFILTER]: nf_conntrack_sip: use strlen/strcmp

Replace sizeof/memcmp by strlen/strcmp. Use case-insensitive comparison
for SIP methods and the SIP/2.0 string, as specified in RFC 3261.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_conntrack_sip: remove redundant function arguments
Patrick McHardy [Wed, 26 Mar 2008 03:17:13 +0000 (20:17 -0700)]
[NETFILTER]: nf_conntrack_sip: remove redundant function arguments

The conntrack reference and ctinfo can be derived from the packet.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_conntrack_sip: adjust dptr and datalen after packet mangling
Patrick McHardy [Wed, 26 Mar 2008 03:16:54 +0000 (20:16 -0700)]
[NETFILTER]: nf_conntrack_sip: adjust dptr and datalen after packet mangling

After mangling the packet, the pointer to the data and the length of the data
portion may change and need to be adjusted.

Use double data pointers and a pointer to the length everywhere and add a
helper function to the NAT helper for performing the adjustments.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_conntrack_sip: fix some off-by-ones
Patrick McHardy [Wed, 26 Mar 2008 03:10:11 +0000 (20:10 -0700)]
[NETFILTER]: nf_conntrack_sip: fix some off-by-ones

"limit" marks the first character outside the bounds.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_nat_sip: fix NAT setup order
Patrick McHardy [Wed, 26 Mar 2008 03:09:51 +0000 (20:09 -0700)]
[NETFILTER]: nf_nat_sip: fix NAT setup order

We need to set up the destination NAT mapping before the source NAT
mapping, so the NAT core gets to see the final tuple and can decide
whether the source port needs to be remapped.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: Add nf_inet_addr_cmp()
Patrick McHardy [Wed, 26 Mar 2008 03:09:33 +0000 (20:09 -0700)]
[NETFILTER]: Add nf_inet_addr_cmp()

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_conntrack: introduce expectation classes and policies
Patrick McHardy [Wed, 26 Mar 2008 03:09:15 +0000 (20:09 -0700)]
[NETFILTER]: nf_conntrack: introduce expectation classes and policies

Introduce expectation classes and policies. An expectation class
is used to distinguish different types of expectations by the
same helper (for example audio/video/t.120). The expectation
policy is used to hold the maximum number of expectations and
the initial timeout for each class.

The individual classes are isolated from each other, which means
that for example an audio expectation will only evict other audio
expectations.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>