<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/include/net/netfilter, branch v3.0.81</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/include/net/netfilter?h=v3.0.81</id>
<link rel='self' href='https://git.amat.us/linux/atom/include/net/netfilter?h=v3.0.81'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-10-21T16:17:11Z</updated>
<entry>
<title>netfilter: nf_conntrack: fix racy timer handling with reliable events</title>
<updated>2012-10-21T16:17:11Z</updated>
<author>
<name>Pablo Neira Ayuso</name>
<email>pablo@netfilter.org</email>
</author>
<published>2012-08-29T16:25:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=716362d00bff2312c0afffacbb9d4c9deb3faa96'/>
<id>urn:sha1:716362d00bff2312c0afffacbb9d4c9deb3faa96</id>
<content type='text'>
commit 5b423f6a40a0327f9d40bc8b97ce9be266f74368 upstream.

Existing code assumes that del_timer returns true for alive conntrack
entries. However, this is not true if reliable events are enabled.
In that case, del_timer may return true for entries that were
just inserted in the dying list. Note that packets / ctnetlink may
hold references to conntrack entries that were just inserted to such
list.

This patch fixes the issue by adding an independent timer for
event delivery. This increases the size of the ecache extension.
Still we can revisit this later and use variable size extensions
to allocate this area on demand.

Tested-by: Oliver Smith &lt;olipro@8.c.9.b.0.7.4.0.1.0.0.2.ip6.arpa&gt;
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
Acked-by: David Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>netfilter: nf_nat: avoid double seq_adjust for loopback</title>
<updated>2011-06-16T15:29:22Z</updated>
<author>
<name>Julian Anastasov</name>
<email>ja@ssi.bg</email>
</author>
<published>2011-06-16T15:29:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=42c1edd345c8412d96e7a362ee06feb7be73bb6c'/>
<id>urn:sha1:42c1edd345c8412d96e7a362ee06feb7be73bb6c</id>
<content type='text'>
	Avoid double seq adjustment for loopback traffic
because it causes silent repetition of TCP data. One
example is passive FTP with DNAT rule and difference in the
length of IP addresses.

	This patch adds check if packet is sent and
received via loopback device. As the same conntrack is
used both for outgoing and incoming direction, we restrict
seq adjustment to happen only in POSTROUTING.

Signed-off-by: Julian Anastasov &lt;ja@ssi.bg&gt;
Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
</content>
</entry>
<entry>
<title>net: Remove __KERNEL__ cpp checks from include/net</title>
<updated>2011-04-24T17:54:56Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-04-24T17:54:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2a9e9507011440a57d6356ded630ba0c0f5d4b77'/>
<id>urn:sha1:2a9e9507011440a57d6356ded630ba0c0f5d4b77</id>
<content type='text'>
These header files are never installed to user consumption, so any
__KERNEL__ cpp checks are superfluous.

Projects should also not copy these files into their userland utility
sources and try to use them there.  If they insist on doing so, the
onus is on them to sanitize the headers as needed.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6</title>
<updated>2011-02-20T03:17:35Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-02-20T03:17:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=da935c66bacb3ed9ada984b053297f87c2dff63a'/>
<id>urn:sha1:da935c66bacb3ed9ada984b053297f87c2dff63a</id>
<content type='text'>
Conflicts:
	Documentation/feature-removal-schedule.txt
	drivers/net/e1000e/netdev.c
	net/xfrm/xfrm_policy.c
</content>
</entry>
<entry>
<title>netfilter: tproxy: do not assign timewait sockets to skb-&gt;sk</title>
<updated>2011-02-17T10:32:38Z</updated>
<author>
<name>Florian Westphal</name>
<email>fwestphal@astaro.com</email>
</author>
<published>2011-02-17T10:32:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d503b30bd648b3cb4e5f50b65d27e389960cc6d9'/>
<id>urn:sha1:d503b30bd648b3cb4e5f50b65d27e389960cc6d9</id>
<content type='text'>
Assigning a socket in timewait state to skb-&gt;sk can trigger
kernel oops, e.g. in nfnetlink_log, which does:

if (skb-&gt;sk) {
        read_lock_bh(&amp;skb-&gt;sk-&gt;sk_callback_lock);
        if (skb-&gt;sk-&gt;sk_socket &amp;&amp; skb-&gt;sk-&gt;sk_socket-&gt;file) ...

in the timewait case, accessing sk-&gt;sk_callback_lock and sk-&gt;sk_socket
is invalid.

Either all of these spots will need to add a test for sk-&gt;sk_state != TCP_TIME_WAIT,
or xt_TPROXY must not assign a timewait socket to skb-&gt;sk.

This does the latter.

If a TW socket is found, assign the tproxy nfmark, but skip the skb-&gt;sk assignment,
thus mimicking behaviour of a '-m socket .. -j MARK/ACCEPT' re-routing rule.

The 'SYN to TW socket' case is left unchanged -- we try to redirect to the
listener socket.

Cc: Balazs Scheidler &lt;bazsi@balabit.hu&gt;
Cc: KOVACS Krisztian &lt;hidden@balabit.hu&gt;
Signed-off-by: Florian Westphal &lt;fwestphal@astaro.com&gt;
Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
</content>
</entry>
<entry>
<title>Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6</title>
<updated>2011-02-04T22:28:58Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-02-04T22:28:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bd4a6974cc9090ef3851e5b0a2071e5383565c7c'/>
<id>urn:sha1:bd4a6974cc9090ef3851e5b0a2071e5383565c7c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>netfilter: ecache: always set events bits, filter them later</title>
<updated>2011-02-01T15:06:30Z</updated>
<author>
<name>Pablo Neira Ayuso</name>
<email>pablo@netfilter.org</email>
</author>
<published>2011-02-01T15:06:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3db7e93d3308fb882884b9f024235d6fbf542034'/>
<id>urn:sha1:3db7e93d3308fb882884b9f024235d6fbf542034</id>
<content type='text'>
For the following rule:

iptables -I PREROUTING -t raw -j CT --ctevents assured

The event delivered looks like the following:

 [UPDATE] tcp      6 src=192.168.0.2 dst=192.168.1.2 sport=37041 dport=80 src=192.168.1.2 dst=192.168.1.100 sport=80 dport=37041 [ASSURED]

Note that the TCP protocol state is not included. For that reason
the CT event filtering is not very useful for conntrackd.

To resolve this issue, instead of conditionally setting the CT events
bits based on the ctmask, we always set them and perform the filtering
in the late stage, just before the delivery.

Thus, the event delivered looks like the following:

 [UPDATE] tcp      6 432000 ESTABLISHED src=192.168.0.2 dst=192.168.1.2 sport=37041 dport=80 src=192.168.1.2 dst=192.168.1.100 sport=80 dport=37041 [ASSURED]

Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
</content>
</entry>
<entry>
<title>netfilter: nf_conntrack: fix linker error with NF_CONNTRACK_TIMESTAMP=n</title>
<updated>2011-01-20T19:46:52Z</updated>
<author>
<name>Patrick McHardy</name>
<email>kaber@trash.net</email>
</author>
<published>2011-01-20T19:46:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2f1e3176723d74ea2dd975e5be0ef6bb4fed2e2e'/>
<id>urn:sha1:2f1e3176723d74ea2dd975e5be0ef6bb4fed2e2e</id>
<content type='text'>
net/built-in.o: In function `nf_conntrack_init_net':
net/netfilter/nf_conntrack_core.c:1521:
	undefined reference to `nf_conntrack_tstamp_init'
net/netfilter/nf_conntrack_core.c:1531:
	undefined reference to `nf_conntrack_tstamp_fini'

Add dummy inline functions for the =n case to fix this.

Reported-by: John Fastabend &lt;john.r.fastabend@intel.com&gt;
Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
</content>
</entry>
<entry>
<title>netfilter: nf_conntrack_tstamp: add flow-based timestamp extension</title>
<updated>2011-01-19T15:00:07Z</updated>
<author>
<name>Pablo Neira Ayuso</name>
<email>pablo@netfilter.org</email>
</author>
<published>2011-01-19T15:00:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a992ca2a0498edd22a88ac8c41570f536de29c9e'/>
<id>urn:sha1:a992ca2a0498edd22a88ac8c41570f536de29c9e</id>
<content type='text'>
This patch adds flow-based timestamping for conntracks. This
conntrack extension is disabled by default. Basically, we use
two 64-bits variables to store the creation timestamp once the
conntrack has been confirmed and the other to store the deletion
time. This extension is disabled by default, to enable it, you
have to:

echo 1 &gt; /proc/sys/net/netfilter/nf_conntrack_timestamp

This patch allows to save memory for user-space flow-based
loogers such as ulogd2. In short, ulogd2 does not need to
keep a hashtable with the conntrack in user-space to know
when they were created and destroyed, instead we use the
kernel timestamp. If we want to have a sane IPFIX implementation
in user-space, this nanosecs resolution timestamps are also
useful. Other custom user-space applications can benefit from
this via libnetfilter_conntrack.

This patch modifies the /proc output to display the delta time
in seconds since the flow start. You can also obtain the
flow-start date by means of the conntrack-tools.

Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
</content>
</entry>
<entry>
<title>netfilter: nf_conntrack: nf_conntrack snmp helper</title>
<updated>2011-01-18T17:12:24Z</updated>
<author>
<name>Jiri Olsa</name>
<email>jolsa@redhat.com</email>
</author>
<published>2011-01-18T17:12:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=93557f53e1fbd9e2b6574ab0a9b5852628fde9e3'/>
<id>urn:sha1:93557f53e1fbd9e2b6574ab0a9b5852628fde9e3</id>
<content type='text'>
Adding support for SNMP broadcast connection tracking. The SNMP
broadcast requests are now paired with the SNMP responses.
Thus allowing using SNMP broadcasts with firewall enabled.

Please refer to the following conversation:
http://marc.info/?l=netfilter-devel&amp;m=125992205006600&amp;w=2

Patrick McHardy wrote:
&gt; &gt; The best solution would be to add generic broadcast tracking, the
&gt; &gt; use of expectations for this is a bit of abuse.
&gt; &gt; The second best choice I guess would be to move the help() function
&gt; &gt; to a shared module and generalize it so it can be used for both.
This patch implements the "second best choice".

Since the netbios-ns conntrack module uses the same helper
functionality as the snmp, only one helper function is added
for both snmp and netbios-ns modules into the new object -
nf_conntrack_broadcast.

Signed-off-by: Jiri Olsa &lt;jolsa@redhat.com&gt;
Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
</content>
</entry>
</feed>
