GitHub/LineageOS/android_kernel_motorola_exynos9610.git
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>
16 years ago[NETFILTER]: nf_conntrack_expect: support inactive expectations
Patrick McHardy [Wed, 26 Mar 2008 03:08:37 +0000 (20:08 -0700)]
[NETFILTER]: nf_conntrack_expect: support inactive expectations

This is useful for the SIP helper and signalling expectations.
We don't want to create a full-blown expectation with a wildcard
as source based on a single UDP packet, but need to know the
final port anyways. With inactive expectations we can register
the expectation and reserve the tuple, but wait for confirmation
from the registrar before activating it.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_conntrack_expect: show NF_CT_EXPECT_PERMANENT flag in /proc
Patrick McHardy [Wed, 26 Mar 2008 03:08:17 +0000 (20:08 -0700)]
[NETFILTER]: nf_conntrack_expect: show NF_CT_EXPECT_PERMANENT flag in /proc

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_conntrack_expect: constify nf_ct_expect_init arguments
Patrick McHardy [Wed, 26 Mar 2008 03:07:58 +0000 (20:07 -0700)]
[NETFILTER]: nf_conntrack_expect: constify nf_ct_expect_init arguments

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: nf_conntrack: fix NF_CT_TUPLE_DUMP for IPv4
Patrick McHardy [Wed, 26 Mar 2008 03:07:38 +0000 (20:07 -0700)]
[NETFILTER]: nf_conntrack: fix NF_CT_TUPLE_DUMP for IPv4

NF_CT_TUPLE_DUMP prints IPv4 addresses as IPv6, fix this and use printk
(guarded by #ifdef DEBUG) directly instead of pr_debug since the tuple
is usually printed at the end of line and we don't want to include a
log-level.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETFILTER]: ipt_CLUSTERIP: fix non-existant macro-name
Patrick McHardy [Wed, 26 Mar 2008 03:06:59 +0000 (20:06 -0700)]
[NETFILTER]: ipt_CLUSTERIP: fix non-existant macro-name

With nf_conntrack DUMP_TUPLE got renamed to NF_CT_DUMP_TUPLE, fix
CLUSTERIP to use the proper macro name.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoMerge branch 'net-2.6.26-netns-20080326' of git://git.linux-ipv6.org/gitroot/yoshfuji...
David S. Miller [Wed, 26 Mar 2008 02:43:59 +0000 (19:43 -0700)]
Merge branch 'net-2.6.26-netns-20080326' of git://git.linux-ipv6.org/gitroot/yoshfuji/linux-2.6-dev

16 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
David S. Miller [Wed, 26 Mar 2008 00:20:03 +0000 (17:20 -0700)]
Merge branch 'master' of git://git./linux/kernel/git/linville/wireless-2.6.26

16 years agort2x00: Fix in_atomic() usage
Ivo van Doorn [Tue, 25 Mar 2008 13:13:18 +0000 (14:13 +0100)]
rt2x00: Fix in_atomic() usage

rt73usb and rt2500usb used in_atomic to determine
if a configuration step should be rescheduled or not.
Since in_atomic() is not a valid method to determine
if sleeping is allowed we should fix the way this is handled
by adding a new flag to rt2x00.

In addition mark LED class support for the drivers broken
since that also uses the broken in_atomic() method but
so far no solution exists to have LED triggers work only
in scheduled context.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Fix rate detection for invalid signals
Ivo van Doorn [Tue, 25 Mar 2008 13:12:45 +0000 (14:12 +0100)]
rt2x00: Fix rate detection for invalid signals

It has been observed on rt2500pci hardware that some
frames received with signal 0x0C do not have the OFDM
flag set.

Signals can have 2 meanings:
 1) The PLCP value
 2) The bitrate * 10

For rt2500pci (1) is for frames received with a OFDM rate,
and (2) is for frames received with a CCK rate.
But 0x0C is a invalid bitrate value but is a valid PLCP
value for 54Mbs (obvious OFDM rate).
This means that it is possible that the hardware does not
set the OFDM bit correctly under all circumstances.
This results in rt2x00 failing to detect the rate and
mac80211 triggering a WARN_ON() and dropping the frame.

To bypass this, print a warning when such a frame is received,
and reset the rate to the lowest supported rate for the current band.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoPS3: gelic: Add support for separate cipher selection
Masakazu Mokuno [Tue, 25 Mar 2008 07:21:08 +0000 (16:21 +0900)]
PS3: gelic: Add support for separate cipher selection

From version 2.20 of the PS3 system software, the hypervisor allows
the guest OSes to specify separate cipher for group and pairwise.

Signed-off-by: Masakazu Mokuno <mokuno@sm.sony.co.jp>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Don't compile N-PHY code when N-PHY is disabled
Michael Buesch [Sun, 23 Mar 2008 00:33:58 +0000 (01:33 +0100)]
b43: Don't compile N-PHY code when N-PHY is disabled

There's no need to compile the N-PHY support code, when the
N-PHY support is disabled in Kconfig.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: Completing the parameter packaging
Assaf Krauss [Tue, 18 Mar 2008 21:57:50 +0000 (14:57 -0700)]
iwlwifi: Completing the parameter packaging

This patch completes the changes regarding the packaging of user
parameters.

Signed-off-by: Assaf Krauss <assaf.krauss@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoipw2200 annotations and fixes
Al Viro [Sun, 16 Mar 2008 22:26:44 +0000 (22:26 +0000)]
ipw2200 annotations and fixes

a) a bunch of printks in error-handling assums that ->status is
big-endian.
b) bitfields trouble
c) missing annotations

NB: a bunch of structs is declared packed for no good reason, AFAICS.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Add dev_flags to rx descriptor
Ivo van Doorn [Sat, 15 Mar 2008 20:38:07 +0000 (21:38 +0100)]
rt2x00: Add dev_flags to rx descriptor

The rxdone_entry_desc structure contains 3 fields
which are always 1 or 0. We can safe 8 bytes by
replacing them with a single dev_flags fields which
contain the flags for those settings.

Additionally we can remove the OFDM flag since it
is no longer used since the introduction of the
SIGNAL_PLCP flag.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: configure default wmm params correctly
Vladimir Koutny [Tue, 18 Mar 2008 20:14:07 +0000 (21:14 +0100)]
mac80211: configure default wmm params correctly

Default WMM params have to be set according to beacon/probe response
information prior to authentication (or IBSS start/join); beacon queue
is configured only in IBSS. This does not affect the use of 'real' WMM
params as reported by AP.

Signed-off-by: Vladimir Koutny <vlado@ksp.sk>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: prevent tuning during scanning
Mohamed Abbas [Thu, 20 Mar 2008 15:14:29 +0000 (08:14 -0700)]
mac80211: prevent tuning during scanning

Postpone calling ieee80211_hw_config if hardware scanning is active.
This is similar to solution for software scanning where channel setting
is delayed until scan complete.

Signed-off-by: Mohamed Abbas <mohamed.abbas@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: tear down of block ack sessions
Ron Rindjunsky [Tue, 18 Mar 2008 22:00:32 +0000 (15:00 -0700)]
mac80211: tear down of block ack sessions

This patch adds a clean tear down for all block ack sessions if interface
goes down or if a deauthentication is done.

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 agomac80211: fixing debug prints for AddBA request
Ron Rindjunsky [Tue, 18 Mar 2008 22:00:31 +0000 (15:00 -0700)]
mac80211: fixing debug prints for AddBA request

This patch also fixes the Rx timer's comments

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 agomac80211: fixing delba debug print
Ron Rindjunsky [Tue, 18 Mar 2008 22:00:30 +0000 (15:00 -0700)]
mac80211: fixing delba debug print

This patch fixes a wrong debug print when receiving delba

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 agomac80211: filter scan results on unusable channels
Johannes Berg [Sun, 16 Mar 2008 17:42:44 +0000 (18:42 +0100)]
mac80211: filter scan results on unusable channels

When you have an AP on channel 13, it will currently often enough
be listed in scan results even when the regulatory domain restricts
to channels 1-11. This is due to channel overlap. To avoid getting
very strange failures, don't show such APs in the scan results. The
failure mode will now go from "I can see the AP but not associate"
to "I can't see the AP although I know it's there" which is easier
to debug.

This problem was first really noticed by Jes Sorensen.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Cc: Jes Sorensen <jes@trained-monkey.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: use ieee80211_get_channel
Johannes Berg [Sun, 16 Mar 2008 17:35:56 +0000 (18:35 +0100)]
mac80211: use ieee80211_get_channel

Use the new ieee80211_get_channel() function instead of open-coding it.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agowireless: add wiphy channel freq to channel struct lookup helper
Johannes Berg [Sun, 16 Mar 2008 17:34:33 +0000 (18:34 +0100)]
wireless: add wiphy channel freq to channel struct lookup helper

Add ieee80211_get_channel() which gets you a channel struct for a
specific wiphy if that channel is present in that wiphy.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: move host command sending functions to core module
Tomas Winkler [Fri, 21 Mar 2008 20:53:44 +0000 (13:53 -0700)]
iwlwifi: move host command sending functions to core module

1. Host command sending functions moved from iwl4965-base.c to iwl-hcmd.c
in iwlcore module
2. enqueue_hcmd function currently stays in iwl4965-base.c. It is invoked
   through the new 'utils' field in priv's ops.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Assaf Krauss <assaf.krauss@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: rename iwl4965_get_channel_info to iwl_get_channel_info
Assaf Krauss [Fri, 21 Mar 2008 20:53:43 +0000 (13:53 -0700)]
iwlwifi: rename iwl4965_get_channel_info to iwl_get_channel_info

iwl4965_get_channel_info was moved to iwlcore module
4965 needs to be stripped off

Signed-off-by: Assaf Krauss <assaf.krauss@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: iwl3945 remove 4965 commands
Tomas Winkler [Fri, 21 Mar 2008 20:53:42 +0000 (13:53 -0700)]
iwlwifi: iwl3945 remove 4965 commands

This patch removes 4965 host commands from iwl-3945-commands.h

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-2.6: enables RX TKIP decryption in HW
Emmanuel Grumbach [Thu, 20 Mar 2008 13:06:43 +0000 (15:06 +0200)]
iwlwifi-2.6: enables RX TKIP decryption in HW

This patch enables RX TKIP decryption in HW.

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 agoiwlwifi-2.6: enables HW TKIP encryption
Emmanuel Grumbach [Wed, 19 Mar 2008 23:41:45 +0000 (16:41 -0700)]
iwlwifi-2.6: enables HW TKIP encryption

This patch add support for TKIP encryption (TX) in HW.

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: allows driver to request a Phase 1 RX key
Emmanuel Grumbach [Thu, 20 Mar 2008 13:06:42 +0000 (15:06 +0200)]
mac80211: allows driver to request a Phase 1 RX key

This patch makes mac80211 able to send a phase1 key for TKIP
decryption.
This is needed for drivers that don't do the rekeying by themselves
(i.e. iwlwifi). Upon IV16 wrap around, the packet is decrypted in SW,
if decryption is ok, mac80211 calls to update_tkip_key  with a new
phase 1 RX key.

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: get a TKIP phase key from skb
Emmanuel Grumbach [Thu, 20 Mar 2008 13:06:41 +0000 (15:06 +0200)]
mac80211: get a TKIP phase key from skb

This patch makes mac80211 able to compute a TKIP key from an skb.
The requested key can be a phase 1 or a phase 2 key.
This is useful for drivers who need to provide tkip key to their
HW to enable HW encryption.

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 agoiwlwifi-2.6: RX status translation to old scheme
Emmanuel Grumbach [Wed, 19 Mar 2008 23:41:42 +0000 (16:41 -0700)]
iwlwifi-2.6: RX status translation to old scheme

This patch adds translation for the RX status of an incoming packet.
The incoming status has to be translated to the old scheme in order to know
if the decryption has been done, MIC failure has occured, TTAK is valid etc...
This translation is mandatory for all RX packets when using 5300 and for
all HT packets using 4965.

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 agoiwlwifi-2.6: Cleans up set_key flow
Emmanuel Grumbach [Wed, 19 Mar 2008 23:41:41 +0000 (16:41 -0700)]
iwlwifi-2.6: Cleans up set_key flow

This patch cleans up the set_key flow. Rxon with hw encryption bit set is
not sent upon each call to set_key. Separation is made between global key
(WEP) and dynamic key (TKIP + CCMP and WEP in some cases).

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 agoiwlwifi: Probe Flow - Extracting hw and priv init
Assaf Krauss [Fri, 14 Mar 2008 17:38:49 +0000 (10:38 -0700)]
iwlwifi: Probe Flow - Extracting hw and priv init

1. Extracting hw and priv initialization from probe function.
2. Moving some initialization functions to core module.

Signed-off-by: Assaf Krauss <assaf.krauss@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: Probe Flow - Performing allocation in a separate function
Assaf Krauss [Fri, 14 Mar 2008 17:38:48 +0000 (10:38 -0700)]
iwlwifi: Probe Flow - Performing allocation in a separate function

Performing allocation in a separate function (previously handled in
'probe')

Signed-off-by: Assaf Krauss <assaf.krauss@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: Packing all 4965 parameters
Assaf Krauss [Fri, 14 Mar 2008 17:38:47 +0000 (10:38 -0700)]
iwlwifi: Packing all 4965 parameters

This patch defines a package struct for iwlwifi parameters, and uses a
single instance of this struct to group all iwl4965 module parameters
together.

Signed-off-by: Assaf Krauss <assaf.krauss@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: Re-ordering probe flow (4965)
Assaf Krauss [Fri, 14 Mar 2008 17:38:46 +0000 (10:38 -0700)]
iwlwifi: Re-ordering probe flow (4965)

This patch re-orders the iwl4965_pci_probe function.

Signed-off-by: Assaf Krauss <assaf.krauss@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: remove macros containing offsets from eeprom struct
Reinette Chatre [Fri, 14 Mar 2008 17:38:45 +0000 (10:38 -0700)]
iwlwifi: remove macros containing offsets from eeprom struct

A user needing to access these fields can use offsetof() for
access. The comments still contain the offset to assist with
debugging.

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
CC: Michael Buesch <mb@bu3sch.de>
Signed-off-by: Assaf Krauss <assaf.krauss@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: store rssi as an u32
Holger Schurig [Wed, 19 Mar 2008 16:08:32 +0000 (17:08 +0100)]
libertas: store rssi as an u32

Don't store an (hardware base) u8 value in bss_descriptor, but just an
unsigned int (RSSI is really unsigned). Compilers generate more efficent
code for ints than for bytes.

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 lots of unused stuff
Holger Schurig [Wed, 19 Mar 2008 13:25:58 +0000 (14:25 +0100)]
libertas: remove lots of unused stuff

This removes many unused function parameters as well as some not-implemented
functions, e.g. CMD_802_11_GET_STATS. The silly lbs_set_cmd_ctrl_node()
function is now also gone.

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: misc power saving adjusts
Holger Schurig [Wed, 19 Mar 2008 13:25:18 +0000 (14:25 +0100)]
libertas: misc power saving adjusts

* firmware for the CF card supports power saving
* the driver currenly only accept "iwconfig ethX power on|off", so
  I fixed what the range wext ioctl reports.
* initialize value/flags in lbs_get_power()
* get rid of unused parameter psmode in lbs_ps_confirm_sleep()
* some minor debug output tweaks

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: convert GET_LOG to a direct command
Holger Schurig [Mon, 17 Mar 2008 11:45:58 +0000 (12:45 +0100)]
libertas: convert GET_LOG to a direct command

Now uses __lbs_cmd() to get the "log" (it's actually more a snapshot of
various counters, not a sequential log). Besides the "mechanical" convertion
the patch add the following logical changes:

* Removes the priv->logmsg variable, it was only used in one place anyway,
  also don't blindly get the counters when associating. Getting the
  counters then the user asks via WEXT for them is good enought.
* don't set wstats.discard.fragment with log.rxfrag, because the latter is
  a counter for successfully received packets, not for fragmented packets.

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: fix scheduling while atomic bug in CMD_MAC_CONTROL
Holger Schurig [Tue, 18 Mar 2008 10:20:21 +0000 (11:20 +0100)]
libertas: fix scheduling while atomic bug in CMD_MAC_CONTROL

The old code incorrectly used lbs_cmd_with_response() and now uses
lbs_cmd_async().

While there I noticed that there is no real useful return values for
asynchronous command functions, so I made the function "void".

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: make a handy lbs_cmd_async() command
Holger Schurig [Wed, 19 Mar 2008 09:11:00 +0000 (10:11 +0100)]
libertas: make a handy lbs_cmd_async() command

This uses a static lbs_cmd_async_callback function, which is a
noop. Just setting the callback argument to __lbs_cmd_async()
to NULL won't work, because then the cmdnode wouldn't be
released.

This also makes __lbs_cmd_async() a static method, which is
now only used by lbs_cmd() and lbs_cmd_async().

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: Add debugfs to iwl core
Tomas Winkler [Wed, 12 Mar 2008 23:58:52 +0000 (16:58 -0700)]
iwlwifi: Add debugfs to iwl core

This patch adds debugfs support to iwl core
currently only iwl4965 is supported

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 TX/RX statistcs to driver
Tomas Winkler [Wed, 12 Mar 2008 23:58:51 +0000 (16:58 -0700)]
iwlwifi: Add TX/RX statistcs to driver

This patch supports collecting of TX and RX statistics in the driver.

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: rename struct iwl4965_priv to struct iwl_priv
Tomas Winkler [Wed, 12 Mar 2008 23:58:50 +0000 (16:58 -0700)]
iwlwifi: rename struct iwl4965_priv to struct iwl_priv

This patch renames iwl4965_priv to iwl_priv. iwl_priv  will
be shared by more hw.

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: rename iwl-4965-debug.h back to iwl-debug.h
Tomas Winkler [Wed, 12 Mar 2008 23:58:49 +0000 (16:58 -0700)]
iwlwifi: rename iwl-4965-debug.h back to iwl-debug.h

This patch removes iwl-4965-debug.h to iwl-debug.h
It will be used by more NICs

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: Bug fix, CCMP with HW encryption with AGG
Max Stepanov [Wed, 12 Mar 2008 23:58:48 +0000 (16:58 -0700)]
iwlwifi: Bug fix, CCMP with HW encryption with AGG

This patch fixes a bug in security. Enables CCMP HW encryption with
aggregations.

Signed-off-by: Max Stepanov <max.stepanov@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: remove some unused commands
Holger Schurig [Wed, 12 Mar 2008 16:06:09 +0000 (17:06 +0100)]
libertas: remove some unused commands

Neither CMD_802_11_PAIRWISE_TSC nor CMD_802_11_GROUP_TSC is used or
documented. It might have something to do with TKIP sequence counters,
but that's just an educated guess. Remove all occurences of them.

CMD_CODE_DNLD is also neither used nor documented.

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: rename packetfilter to mac_control
Holger Schurig [Wed, 12 Mar 2008 15:06:43 +0000 (16:06 +0100)]
libertas: rename packetfilter to mac_control

The CMD_MAC_CONTROL can be used for other things than just filtering
packets, e.g. to enable and disable WMM. This uses the same term mac_control
for the define, the function and the shadow value in struct lbs_private.

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: convert CMD_MAC_CONTROL to a direct command
Holger Schurig [Wed, 12 Mar 2008 15:05:40 +0000 (16:05 +0100)]
libertas: convert CMD_MAC_CONTROL to a direct command

convert CMD_MAC_CONTROL to 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 ago[NET] NETNS: Omit namespace comparision without CONFIG_NET_NS.
YOSHIFUJI Hideaki [Tue, 25 Mar 2008 18:57:35 +0000 (03:57 +0900)]
[NET] NETNS: Omit namespace comparision without CONFIG_NET_NS.

Introduce an inline net_eq() to compare two namespaces.
Without CONFIG_NET_NS, since no namespace other than &init_net
exists, it is always 1.

We do not need to convert 1) inline vs inline and
2) inline vs &init_net comparisons.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[NET] NETNS: Omit neigh_parms->net and pneigh_entry->net without CONFIG_NET_NS.
YOSHIFUJI Hideaki [Tue, 25 Mar 2008 18:49:59 +0000 (03:49 +0900)]
[NET] NETNS: Omit neigh_parms->net and pneigh_entry->net without CONFIG_NET_NS.

Introduce neigh_parms/pneigh_entry inlines: neigh_parms_net(), pneigh_net().
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 <yoshfuji@linux-ipv6.org>
16 years ago[NET] NETNS: Omit seq_net_private->net without CONFIG_NET_NS.
YOSHIFUJI Hideaki [Tue, 25 Mar 2008 17:36:06 +0000 (02:36 +0900)]
[NET] NETNS: Omit seq_net_private->net without CONFIG_NET_NS.

Without CONFIG_NET_NS, no namespace other than &init_net exists,
no need to store net in seq_net_private.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[NET] NETNS: Omit sock->sk_net without CONFIG_NET_NS.
YOSHIFUJI Hideaki [Tue, 25 Mar 2008 17:26:21 +0000 (02:26 +0900)]
[NET] NETNS: Omit sock->sk_net without CONFIG_NET_NS.

Introduce per-sock inlines: sock_net(), sock_net_set()
and per-inet_timewait_sock inlines: twsk_net(), twsk_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 <yoshfuji@linux-ipv6.org>
16 years ago[NET] NETNS: Omit net_device->nd_net without CONFIG_NET_NS.
YOSHIFUJI Hideaki [Tue, 25 Mar 2008 12:47:49 +0000 (21:47 +0900)]
[NET] NETNS: Omit net_device->nd_net without CONFIG_NET_NS.

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 <yoshfuji@linux-ipv6.org>
16 years ago[IPV6]: Support Source Address Selection API (RFC5014).
YOSHIFUJI Hideaki [Tue, 25 Mar 2008 00:37:42 +0000 (09:37 +0900)]
[IPV6]: Support Source Address Selection API (RFC5014).

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[IPV6]: Use bitfields for hop_limit and mcast_hops.
YOSHIFUJI Hideaki [Mon, 10 Mar 2008 14:56:55 +0000 (10:56 -0400)]
[IPV6]: Use bitfields for hop_limit and mcast_hops.

Save some bits for future extensions.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[IPV6]: Optimize hop-limit determination.
YOSHIFUJI Hideaki [Mon, 10 Mar 2008 10:00:30 +0000 (06:00 -0400)]
[IPV6]: Optimize hop-limit determination.

Last part of hop-limit determination is always:
    hoplimit = dst_metric(dst, RTAX_HOPLIMIT);
    if (hoplimit < 0)
        hoplimit = ipv6_get_hoplimit(dst->dev).

Let's consolidate it as ip6_dst_hoplimit(dst).

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[IPV6]: Convert cork.hop_limit and cork.tclass into u8 instead of int.
YOSHIFUJI Hideaki [Mon, 10 Mar 2008 08:41:33 +0000 (04:41 -0400)]
[IPV6]: Convert cork.hop_limit and cork.tclass into u8 instead of int.

Values of those fields are always between 0 and 255 (inclusive),
so use u8 and save some memory on 32bit systems.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[IPV4,IPV6]: Share cork.rt between IPv4 and IPv6.
YOSHIFUJI Hideaki [Mon, 10 Mar 2008 08:30:37 +0000 (04:30 -0400)]
[IPV4,IPV6]: Share cork.rt between IPv4 and IPv6.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[IPV6] ADDRCONF: Clean-up ipv6_dev_get_saddr().
YOSHIFUJI Hideaki [Sun, 2 Mar 2008 01:48:21 +0000 (10:48 +0900)]
[IPV6] ADDRCONF: Clean-up ipv6_dev_get_saddr().

old:
|    text    data     bss     dec     hex filename
|   28599    1416      96   30111    759f net/ipv6/addrconf.o

new:
|    text    data     bss     dec     hex filename
|   28007    1416      96   29519    734f net/ipv6/addrconf.o

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[XFRM] MIP6: Fix address keys for routing search.
YOSHIFUJI Hideaki [Fri, 22 Feb 2008 05:48:22 +0000 (14:48 +0900)]
[XFRM] MIP6: Fix address keys for routing search.

Each MIPv6 XFRM state (DSTOPT/RH2) holds either destination or source
address to be mangled in the IPv6 header (that is "CoA").
On Inter-MN communication after both nodes binds each other,
they use route optimized traffic two MIPv6 states applied, and
both source and destination address in the IPv6 header
are replaced by the states respectively.
The packet format is correct, however, next-hop routing search
are not.
This patch fixes it by remembering address pairs for later states.

Based on patch from Masahide NAKAMURA <nakam@linux-ipv6.org>.

Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[XFRM] IPV6: Optimize __xfrm_tunnel_alloc_spi().
YOSHIFUJI Hideaki [Tue, 19 Feb 2008 13:54:00 +0000 (22:54 +0900)]
[XFRM] IPV6: Optimize __xfrm_tunnel_alloc_spi().

| % size old/net/ipv6/xfrm6_tunnel.o new/net/ipv6/xfrm6_tunnel.o
|    text    data     bss     dec     hex filename
|    1606      40    2080    3726     e8e old/net/ipv6/xfrm6_tunnel.o
|    1574      40    2080    3694     e6e new/net/ipv6/xfrm6_tunnel.o

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[XFRM] IPV6: Optimize xfrm6_input_addr().
YOSHIFUJI Hideaki [Tue, 19 Feb 2008 08:24:33 +0000 (17:24 +0900)]
[XFRM] IPV6: Optimize xfrm6_input_addr().

| % size old/net/ipv6/xfrm6_input.o new/net/ipv6/xfrm6_input.o
|    text    data     bss     dec     hex filename
|    1026       0       0    1026     402 old/net/ipv6/xfrm6_input.o
|     947       0       0     947     3b3 new/net/ipv6/xfrm6_input.o

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[XFRM] IPV6: Use distribution counting sort for xfrm_state/xfrm_tmpl chain.
YOSHIFUJI Hideaki [Tue, 19 Feb 2008 01:15:27 +0000 (10:15 +0900)]
[XFRM] IPV6: Use distribution counting sort for xfrm_state/xfrm_tmpl chain.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[NETNS]: Enable TCP/UDP/ICMP inside namespace.
Denis V. Lunev [Mon, 24 Mar 2008 22:34:06 +0000 (15:34 -0700)]
[NETNS]: Enable TCP/UDP/ICMP inside namespace.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS]: Allow to create sockets in non-initial namespace.
Denis V. Lunev [Mon, 24 Mar 2008 22:33:42 +0000 (15:33 -0700)]
[NETNS]: Allow to create sockets in non-initial namespace.

Allow to create sockets in the namespace if the protocol ok with this.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS]: Drop packets in the non-initial namespace on the per/protocol basis.
Denis V. Lunev [Mon, 24 Mar 2008 22:33:00 +0000 (15:33 -0700)]
[NETNS]: Drop packets in the non-initial namespace on the per/protocol basis.

IP layer now can handle multiple namespaces normally. So, process such
packets normally and drop them only if the transport layer is not
aware about namespaces.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS]: Process netfilter hooks in initial namespace only.
Denis V. Lunev [Mon, 24 Mar 2008 22:32:09 +0000 (15:32 -0700)]
[NETNS]: Process netfilter hooks in initial namespace only.

There were no packets in the namespace other than initial
previously. This will be changed in the neareast future. Netfilters
are not namespace aware and should be processed in the initial
namespace only for now.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS]: Process INET socket layer in the correct namespace.
Denis V. Lunev [Mon, 24 Mar 2008 22:31:35 +0000 (15:31 -0700)]
[NETNS]: Process INET socket layer in the correct namespace.

Replace all the reast of the init_net with a proper net on the socket
layer.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS]: Process IP layer in the context of the correct namespace.
Denis V. Lunev [Mon, 24 Mar 2008 22:31:00 +0000 (15:31 -0700)]
[NETNS]: Process IP layer in the context of the correct namespace.

Replace all the rest of the init_net with a proper net on the IP layer.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS]: Add namespace parameter to ip_cmsg_send.
Denis V. Lunev [Mon, 24 Mar 2008 22:30:27 +0000 (15:30 -0700)]
[NETNS]: Add namespace parameter to ip_cmsg_send.

Pass the init_net there for now.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS]: Add namespace parameter to ip_options_get(...).
Denis V. Lunev [Mon, 24 Mar 2008 22:29:55 +0000 (15:29 -0700)]
[NETNS]: Add namespace parameter to ip_options_get(...).

Pass the init_net there for now.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS]: Add namespace parameter to ip_options_compile.
Denis V. Lunev [Mon, 24 Mar 2008 22:29:23 +0000 (15:29 -0700)]
[NETNS]: Add namespace parameter to ip_options_compile.

ip_options_compile uses inet_addr_type which requires a namespace. The
packet argument is optional, so parameter is the only way to obtain
it. Pass the init_net there for now.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>