<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/net/batman-adv/network-coding.h, branch v4.3</title>
<subtitle>Clone of https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git</subtitle>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/'/>
<entry>
<title>batman-adv: Remove batadv_ types forward declarations</title>
<updated>2015-08-24T22:12:20+00:00</updated>
<author>
<name>Sven Eckelmann</name>
<email>sven@narfation.org</email>
</author>
<published>2015-06-18T16:53:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=2bdd1888f147576fb870a926a4d015305b5bbeee'/>
<id>2bdd1888f147576fb870a926a4d015305b5bbeee</id>
<content type='text'>
main.h is included in every file and is the only way to access types.h.
This makes forward declarations for all types defined in types.h
unnecessary.

Signed-off-by: Sven Eckelmann &lt;sven@narfation.org&gt;
Signed-off-by: Marek Lindner &lt;mareklindner@neomailbox.ch&gt;
Signed-off-by: Antonio Quartulli &lt;antonio@meshcoding.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
main.h is included in every file and is the only way to access types.h.
This makes forward declarations for all types defined in types.h
unnecessary.

Signed-off-by: Sven Eckelmann &lt;sven@narfation.org&gt;
Signed-off-by: Marek Lindner &lt;mareklindner@neomailbox.ch&gt;
Signed-off-by: Antonio Quartulli &lt;antonio@meshcoding.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>batman-adv: Add required includes to all files</title>
<updated>2015-06-07T15:07:19+00:00</updated>
<author>
<name>Sven Eckelmann</name>
<email>sven@narfation.org</email>
</author>
<published>2015-04-17T17:40:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=1e2c2a4fe4a52cc55a78727778119f9a74283b8a'/>
<id>1e2c2a4fe4a52cc55a78727778119f9a74283b8a</id>
<content type='text'>
The header files could not be build indepdent from each other. This is
happened because headers didn't include the files for things they've used.
This was problematic because the success of a build depended on the
knowledge about the right order of local includes.

Also source files were not including everything they've used explicitly.
Instead they required that transitive includes are always stable. This is
problematic because some transitive includes are not obvious, depend on
config settings and may not be stable in the future.

The order for include blocks are:

 * primary headers (main.h and the *.h file of a *.c file)
 * global linux headers
 * required local headers
 * extra forward declarations for pointers in function/struct declarations

The only exceptions are linux/bitops.h and linux/if_ether.h in packet.h.
This header file is shared with userspace applications like batctl and must
therefore build together with userspace applications. The header
linux/bitops.h is not part of the uapi headers and linux/if_ether.h
conflicts with the musl implementation of netinet/if_ether.h. The
maintainers rejected the use of __KERNEL__ preprocessor checks and thus
these two headers are only in main.h. All files using packet.h first have
to include main.h to work correctly.

Reported-by: Markus Pargmann &lt;mpa@pengutronix.de&gt;
Signed-off-by: Sven Eckelmann &lt;sven@narfation.org&gt;
Signed-off-by: Marek Lindner &lt;mareklindner@neomailbox.ch&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The header files could not be build indepdent from each other. This is
happened because headers didn't include the files for things they've used.
This was problematic because the success of a build depended on the
knowledge about the right order of local includes.

Also source files were not including everything they've used explicitly.
Instead they required that transitive includes are always stable. This is
problematic because some transitive includes are not obvious, depend on
config settings and may not be stable in the future.

The order for include blocks are:

 * primary headers (main.h and the *.h file of a *.c file)
 * global linux headers
 * required local headers
 * extra forward declarations for pointers in function/struct declarations

The only exceptions are linux/bitops.h and linux/if_ether.h in packet.h.
This header file is shared with userspace applications like batctl and must
therefore build together with userspace applications. The header
linux/bitops.h is not part of the uapi headers and linux/if_ether.h
conflicts with the musl implementation of netinet/if_ether.h. The
maintainers rejected the use of __KERNEL__ preprocessor checks and thus
these two headers are only in main.h. All files using packet.h first have
to include main.h to work correctly.

Reported-by: Markus Pargmann &lt;mpa@pengutronix.de&gt;
Signed-off-by: Sven Eckelmann &lt;sven@narfation.org&gt;
Signed-off-by: Marek Lindner &lt;mareklindner@neomailbox.ch&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>batman-adv: update copyright years for 2015</title>
<updated>2015-05-29T08:13:35+00:00</updated>
<author>
<name>Sven Eckelmann</name>
<email>sven@narfation.org</email>
</author>
<published>2015-04-23T11:16:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=9f6446c7f9af084763037334d37e85dacfcbd403'/>
<id>9f6446c7f9af084763037334d37e85dacfcbd403</id>
<content type='text'>
Signed-off-by: Sven Eckelmann &lt;sven@narfation.org&gt;
Signed-off-by: Marek Lindner &lt;mareklindner@neomailbox.ch&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Sven Eckelmann &lt;sven@narfation.org&gt;
Signed-off-by: Marek Lindner &lt;mareklindner@neomailbox.ch&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>batman-adv: update copyright years for 2014</title>
<updated>2014-01-12T13:41:19+00:00</updated>
<author>
<name>Simon Wunderlich</name>
<email>sw@simonwunderlich.de</email>
</author>
<published>2014-01-04T17:04:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=e19f9759edf811c94cf6f2dd67d08e6c86260741'/>
<id>e19f9759edf811c94cf6f2dd67d08e6c86260741</id>
<content type='text'>
Signed-off-by: Simon Wunderlich &lt;sw@simonwunderlich.de&gt;
Signed-off-by: Marek Lindner &lt;mareklindner@neomailbox.ch&gt;
Signed-off-by: Antonio Quartulli &lt;antonio@meshcoding.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Simon Wunderlich &lt;sw@simonwunderlich.de&gt;
Signed-off-by: Marek Lindner &lt;mareklindner@neomailbox.ch&gt;
Signed-off-by: Antonio Quartulli &lt;antonio@meshcoding.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>batman-adv: remove returns at the end of void functions</title>
<updated>2014-01-12T13:41:18+00:00</updated>
<author>
<name>Antonio Quartulli</name>
<email>antonio@meshcoding.com</email>
</author>
<published>2013-11-16T22:02:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=82ab33214e301c7987d19376dc07bcc16186b7cc'/>
<id>82ab33214e301c7987d19376dc07bcc16186b7cc</id>
<content type='text'>
Return at the end of void functions is not needed.

Since most of the void functions in the code do not do so,
make all the others consistent by removing the useless
returns. Actually all the functions to be "fixed" are in
network-coding.h only.

Signed-off-by: Antonio Quartulli &lt;antonio@meshcoding.com&gt;
Signed-off-by: Marek Lindner &lt;mareklindner@neomailbox.ch&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Return at the end of void functions is not needed.

Since most of the void functions in the code do not do so,
make all the others consistent by removing the useless
returns. Actually all the functions to be "fixed" are in
network-coding.h only.

Signed-off-by: Antonio Quartulli &lt;antonio@meshcoding.com&gt;
Signed-off-by: Marek Lindner &lt;mareklindner@neomailbox.ch&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>batman-adv: remove FSF address from GPL disclaimer</title>
<updated>2014-01-08T19:49:39+00:00</updated>
<author>
<name>Antonio Quartulli</name>
<email>antonio@meshcoding.com</email>
</author>
<published>2013-11-03T19:40:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=ebf38fb7ab18ba60460bbd03de760ad5a2f435eb'/>
<id>ebf38fb7ab18ba60460bbd03de760ad5a2f435eb</id>
<content type='text'>
As suggested by checkpatch, remove all the references to the
FSF address since the kernel already has one reference in
its documentation.

In this way it is easier to update it in case of future
changes.

Signed-off-by: Antonio Quartulli &lt;antonio@meshcoding.com&gt;
Signed-off-by: Marek Lindner &lt;mareklindner@neomailbox.ch&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As suggested by checkpatch, remove all the references to the
FSF address since the kernel already has one reference in
its documentation.

In this way it is easier to update it in case of future
changes.

Signed-off-by: Antonio Quartulli &lt;antonio@meshcoding.com&gt;
Signed-off-by: Marek Lindner &lt;mareklindner@neomailbox.ch&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>batman-adv: tvlv - add network coding container</title>
<updated>2013-10-09T19:22:28+00:00</updated>
<author>
<name>Marek Lindner</name>
<email>lindner_marek@yahoo.de</email>
</author>
<published>2013-04-23T13:40:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=3f4841ffb336075f74b05fe4a205e877bb22848d'/>
<id>3f4841ffb336075f74b05fe4a205e877bb22848d</id>
<content type='text'>
Create network coding container to announce network coding
capabilities (if enabled).

Signed-off-by: Marek Lindner &lt;lindner_marek@yahoo.de&gt;
Signed-off-by: Antonio Quartulli &lt;antonio@meshcoding.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Create network coding container to announce network coding
capabilities (if enabled).

Signed-off-by: Marek Lindner &lt;lindner_marek@yahoo.de&gt;
Signed-off-by: Antonio Quartulli &lt;antonio@meshcoding.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>batman-adv: set up network coding packet handlers during module init</title>
<updated>2013-10-02T11:46:19+00:00</updated>
<author>
<name>Matthias Schiffer</name>
<email>mschiffer@universe-factory.net</email>
</author>
<published>2013-09-27T16:03:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=6c519bad7b19a2c14a075b400edabaa630330123'/>
<id>6c519bad7b19a2c14a075b400edabaa630330123</id>
<content type='text'>
batman-adv saves its table of packet handlers as a global state, so handlers
must be set up only once (and setting them up a second time will fail).

The recently-added network coding support tries to set up its handler each time
a new softif is registered, which obviously fails when more that one softif is
used (and in consequence, the softif creation fails).

Fix this by splitting up batadv_nc_init into batadv_nc_init (which is called
only once) and batadv_nc_mesh_init (which is called for each softif); in
addition batadv_nc_free is renamed to batadv_nc_mesh_free to keep naming
consistent.

Signed-off-by: Matthias Schiffer &lt;mschiffer@universe-factory.net&gt;
Signed-off-by: Marek Lindner &lt;mareklindner@neomailbox.ch&gt;
Signed-off-by: Antonio Quartulli &lt;antonio@meshcoding.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
batman-adv saves its table of packet handlers as a global state, so handlers
must be set up only once (and setting them up a second time will fail).

The recently-added network coding support tries to set up its handler each time
a new softif is registered, which obviously fails when more that one softif is
used (and in consequence, the softif creation fails).

Fix this by splitting up batadv_nc_init into batadv_nc_init (which is called
only once) and batadv_nc_mesh_init (which is called for each softif); in
addition batadv_nc_free is renamed to batadv_nc_mesh_free to keep naming
consistent.

Signed-off-by: Matthias Schiffer &lt;mschiffer@universe-factory.net&gt;
Signed-off-by: Marek Lindner &lt;mareklindner@neomailbox.ch&gt;
Signed-off-by: Antonio Quartulli &lt;antonio@meshcoding.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>batman-adv: Move call to batadv_nc_skb_forward() from routing.c to send.c</title>
<updated>2013-05-29T00:44:55+00:00</updated>
<author>
<name>Martin Hundebøll</name>
<email>martin@hundeboll.net</email>
</author>
<published>2013-04-20T11:54:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=e91ecfc64ad691176be119e627e36cec8564f44b'/>
<id>e91ecfc64ad691176be119e627e36cec8564f44b</id>
<content type='text'>
The call to batadv_nc_skb_forward() fits better in
batadv_send_skb_to_orig(), as this is where the actual next hop is
looked up.

To let the caller of batadv_send_skb_to_orig() know wether the skb is
transmitted, buffered or failed, the return value is changed from
boolean to int.

Signed-off-by: Martin Hundebøll &lt;martin@hundeboll.net&gt;
Signed-off-by: Marek Lindner &lt;lindner_marek@yahoo.de&gt;
Signed-off-by: Antonio Quartulli &lt;ordex@autistici.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The call to batadv_nc_skb_forward() fits better in
batadv_send_skb_to_orig(), as this is where the actual next hop is
looked up.

To let the caller of batadv_send_skb_to_orig() know wether the skb is
transmitted, buffered or failed, the return value is changed from
boolean to int.

Signed-off-by: Martin Hundebøll &lt;martin@hundeboll.net&gt;
Signed-off-by: Marek Lindner &lt;lindner_marek@yahoo.de&gt;
Signed-off-by: Antonio Quartulli &lt;ordex@autistici.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>batman-adv: network coding - save overheard and tx packets for decoding</title>
<updated>2013-03-13T21:53:50+00:00</updated>
<author>
<name>Martin Hundebøll</name>
<email>martin@hundeboll.net</email>
</author>
<published>2013-01-25T10:12:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=612d2b4fe0a1ff2f8389462a6f8be34e54124c05'/>
<id>612d2b4fe0a1ff2f8389462a6f8be34e54124c05</id>
<content type='text'>
To be able to decode a network coded packet, a node must already know
one of the two coded packets. This is done by buffering skbs before
transmission and buffering packets sniffed with promiscuous mode from
other hosts.

Packets are kept in a buffer similar to the one with forward-skbs: A
hash table, where each entry, which corresponds to a src-dst pair, has a
linked list packets.

Signed-off-by: Martin Hundebøll &lt;martin@hundeboll.net&gt;
Signed-off-by: Marek Lindner &lt;lindner_marek@yahoo.de&gt;
Signed-off-by: Antonio Quartulli &lt;ordex@autistici.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To be able to decode a network coded packet, a node must already know
one of the two coded packets. This is done by buffering skbs before
transmission and buffering packets sniffed with promiscuous mode from
other hosts.

Packets are kept in a buffer similar to the one with forward-skbs: A
hash table, where each entry, which corresponds to a src-dst pair, has a
linked list packets.

Signed-off-by: Martin Hundebøll &lt;martin@hundeboll.net&gt;
Signed-off-by: Marek Lindner &lt;lindner_marek@yahoo.de&gt;
Signed-off-by: Antonio Quartulli &lt;ordex@autistici.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
