<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.org.freifunk.batman">
    <title>gmane.org.freifunk.batman</title>
    <link>http://blog.gmane.org/gmane.org.freifunk.batman</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.org.freifunk.batman/7200"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.org.freifunk.batman/7198"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.org.freifunk.batman/7197"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.org.freifunk.batman/7196"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.org.freifunk.batman/7195"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.org.freifunk.batman/7186"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.org.freifunk.batman/7167"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.org.freifunk.batman/7152"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.org.freifunk.batman/7143"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.org.freifunk.batman/7124"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.org.freifunk.batman/7108"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.org.freifunk.batman/7107"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.org.freifunk.batman/7098"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.org.freifunk.batman/7086"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.org.freifunk.batman/7084"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.org.freifunk.batman/7082"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.org.freifunk.batman/7062"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.org.freifunk.batman/7060"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.org.freifunk.batman/7049"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.org.freifunk.batman/7023"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.org.freifunk.batman/7200">
    <title>hotplug.d</title>
    <link>http://comments.gmane.org/gmane.org.freifunk.batman/7200</link>
    <description>&lt;pre&gt;Hi all,

there is an error in /etc/hotplug.d/net/99-batman-adv at line 9.

The function that be called is bat_config and not config_bat

Could someone fix it in latest batman-adv stable release?

Rgds

&lt;/pre&gt;</description>
    <dc:creator>Filippo Sallemi</dc:creator>
    <dc:date>2012-05-26T17:33:02</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.org.freifunk.batman/7198">
    <title>Can't create new originator</title>
    <link>http://comments.gmane.org/gmane.org.freifunk.batman/7198</link>
    <description>&lt;pre&gt;Hi.
I saw strange batman logs while testing a batman-adv mesh. Batman-adv module was continuously generating the same logs including a " Creating new originator: b0:c6:9b:80:01:43". But b0:c6:9b:80:01:43 never appears in the output of 'batctl o':
admin&amp;lt; at &amp;gt;HND-Mesh:~# batctl o
[B.A.T.M.A.N. adv 2012.0.0, MainIF/MAC: wlan0/b0:c6:9b:80:01:5b (bat0)]
  Originator      last-seen (#/255)           Nexthop [outgoingIF]:   Potential nexthops ...
b0:c6:9b:80:01:5c    0.010s   (255) b0:c6:9b:80:01:5c [     wlan0]: b0:c6:9b:80:01:5f (209) b0:c6:9b:80:01:6b (231) b0:c6:9b:80:01:6b (227) b0:c6:9b:80:01:5c (255) b0:c6:9b:80:01:5c (  0)
b0:c6:9b:80:01:45    3.830s   (223) b0:c6:9b:80:01:5f [     wlan0]: b0:c6:9b:80:01:5c (209) b0:c6:9b:80:01:6b (  0) b0:c6:9b:80:01:6b (  0) b0:c6:9b:80:01:5f (223)
b0:c6:9b:80:01:6b    4.520s   (255) b0:c6:9b:80:01:6b [     wlan0]: b0:c6:9b:80:01:5f (206) b0:c6:9b:80:01:5c (245) b0:c6:9b:80:01:6b (255) b0:c6:9b:80:01:6b (251)
b0:c6:9b:80:01:3b    1.570s   (237) b0:c6:9b:80:01:5f [     wlan0]: b0:c6:9b:80:01:5c (226) b0:c6:9b:80:01:6b (  0) b0:c6:9b:80:01:6b (  0) b0:c6:9b:80:01:5f (237)
b0:c6:9b:80:01:5f    3.520s   (255) b0:c6:9b:80:01:5f [     wlan0]: b0:c6:9b:80:01:6b (231) b0:c6:9b:80:01:6b (227) b0:c6:9b:80:01:5c (244) b0:c6:9b:80:01:5f (255)

Now I can nerver reach b0:c6:9b:80:01:43. Anyone tell me why this happens?
And, what does "Drop packet: packet within seqno protection time" mean? What is the "seqno protection time"?
Any help will be appreciated and thanks in advance.

Here is part of the looply generated logs:
[       969] Creating new originator: b0:c6:9b:80:01:43
[       969] old packet received, start protection
[       969] Drop packet: OGM via unknown neighbor!
[       969] Received BATMAN packet via NB: b0:c6:9b:80:01:57, IF: wlan0 [b0:c6:9b:80:01:5b] (from OG: b0:c6:9b:80:01:43, via prev OG: b0:c6:9b:80:01:59, seqno 109828, ttvn 6, crc 5961, changes 0, td 229, TTL 48, V 14, IDF 0)
[       969] Drop packet: packet within seqno protection time (sender: b0:c6:9b:80:01:57)
[       969] Sending own packet (originator b0:c6:9b:80:01:56, seqno 1251, TTL 2) on interface wlan1 [b0:c6:9b:80:01:56]
[       969] Received BATMAN packet via NB: b0:c6:9b:80:01:56, IF: wlan0 [b0:c6:9b:80:01:5b] (from OG: b0:c6:9b:80:01:56, via prev OG: b0:c6:9b:80:01:56, seqno 1251, ttvn 2, crc 51283, changes 0, td 255, TTL 2, V 14, IDF 0)
[       969] Drop packet: received my own broadcast (sender: b0:c6:9b:80:01:56)
[       969] Received BATMAN packet via NB: b0:c6:9b:80:01:6b, IF: wlan0 [b0:c6:9b:80:01:5b] (from OG: b0:c6:9b:80:01:56, via prev OG: b0:c6:9b:80:01:56, seqno 1251, ttvn 2, crc 51283, changes 0, td 233, TTL 1, V 14, IDF 1)
[       969] Drop packet: originator packet from myself (via neighbor)
[       969] Received BATMAN packet via NB: b0:c6:9b:80:01:6b, IF: wlan1 [b0:c6:9b:80:01:56] (from OG: b0:c6:9b:80:01:56, via prev OG: b0:c6:9b:80:01:56, seqno 1251, ttvn 2, crc 51283, changes 0, td 233, TTL 1, V 14, IDF 1)
[       969] Drop packet: originator packet from myself (via neighbor)
[       969] Sending own packet (originator b0:c6:9b:80:01:5b, seqno 1251, TQ 255, TTL 50, IDF off, ttvn 2) on interface wlan0 [b0:c6:9b:80:01:5b]
[       969] Sending own packet (originator b0:c6:9b:80:01:5b, seqno 1251, TQ 255, TTL 50, IDF off, ttvn 2) on interface wlan1 [b0:c6:9b:80:01:56]
[       969] Received BATMAN packet via NB: b0:c6:9b:80:01:5b, IF: wlan1 [b0:c6:9b:80:01:56] (from OG: b0:c6:9b:80:01:5b, via prev OG: b0:c6:9b:80:01:5b, seqno 1251, ttvn 2, crc 51283, changes 0, td 255, TTL 50, V 14, IDF 0)
[       969] Drop packet: received my own broadcast (sender: b0:c6:9b:80:01:5b)
[       969] Received BATMAN packet via NB: b0:c6:9b:80:01:56, IF: wlan0 [b0:c6:9b:80:01:5b] (from OG: b0:c6:9b:80:01:5b, via prev OG: b0:c6:9b:80:01:5b, seqno 1251, ttvn 2, crc 51283, changes 0, td 255, TTL 50, V 14, IDF 0)
[       969] Drop packet: received my own broadcast (sender: b0:c6:9b:80:01:56)
[       969] Received BATMAN packet via NB: b0:c6:9b:80:01:5d, IF: wlan1 [b0:c6:9b:80:01:56] (from OG: b0:c6:9b:80:01:5d, via prev OG: b0:c6:9b:80:01:5d, seqno 1246, ttvn 2, crc 38681, changes 0, td 255, TTL 2, V 14, IDF 0)
[       969] updating last_seqno: old 1245, new 1246
[       969] bidirectional: orig = b0:c6:9b:80:01:5d neigh = b0:c6:9b:80:01:5d =&amp;gt; own_bcast =  0, real recv = 62, local tq:   0, asym_penalty: 255, total tq:   0
[       969] Forwarding packet: tq_orig: 0, tq_avg: 0, tq_forw: 0, ttl_orig: 1, ttl_forw: 1
[       969] Forwarding packet: rebroadcast neighbor packet with direct link flag
[       969] Received BATMAN packet via NB: b0:c6:9b:80:01:5d, IF: wlan0 [b0:c6:9b:80:01:5b] (from OG: b0:c6:9b:80:01:5d, via prev OG: b0:c6:9b:80:01:5d, seqno 1246, ttvn 2, crc 38681, changes 0, td 255, TTL 2, V 14, IDF 0)
[       969] bidirectional: orig = b0:c6:9b:80:01:5d neigh = b0:c6:9b:80:01:5d =&amp;gt; own_bcast =  0, real recv = 64, local tq:   0, asym_penalty: 255, total tq:   0
[       969] Forwarding packet: tq_orig: 0, tq_avg: 0, tq_forw: 0, ttl_orig: 1, ttl_forw: 1
[       969] Forwarding packet: rebroadcast neighbor packet with direct link flag
[       970] Received BATMAN packet via NB: b0:c6:9b:80:01:6b, IF: wlan1 [b0:c6:9b:80:01:56] (from OG: b0:c6:9b:80:01:5b, via prev OG: b0:c6:9b:80:01:5b, seqno 1251, ttvn 2, crc 51283, changes 0, td 245, TTL 49, V 14, IDF 1)
[       970] Drop packet: originator packet from myself (via neighbor)
[       970] Received BATMAN packet via NB: b0:c6:9b:80:01:6b, IF: wlan1 [b0:c6:9b:80:01:56] (from OG: b0:c6:9b:80:01:5d, via prev OG: b0:c6:9b:80:01:5d, seqno 1246, ttvn 2, crc 38681, changes 0, td 0, TTL 1, V 14, IDF 1)
[       970] Drop packet: originator packet with tq equal 0
[       970] Received BATMAN packet via NB: b0:c6:9b:80:01:6b, IF: wlan0 [b0:c6:9b:80:01:5b] (from OG: b0:c6:9b:80:01:5b, via prev OG: b0:c6:9b:80:01:5b, seqno 1251, ttvn 2, crc 51283, changes 0, td 245, TTL 49, V 14, IDF 1)
[       970] Drop packet: originator packet from myself (via neighbor)
[       970] Received BATMAN packet via NB: b0:c6:9b:80:01:6b, IF: wlan0 [b0:c6:9b:80:01:5b] (from OG: b0:c6:9b:80:01:5d, via prev OG: b0:c6:9b:80:01:5d, seqno 1246, ttvn 2, crc 38681, changes 0, td 0, TTL 1, V 14, IDF 1)
[       970] Drop packet: originator packet with tq equal 0
[       970] Received BATMAN packet via NB: b0:c6:9b:80:01:5f, IF: wlan0 [b0:c6:9b:80:01:5b] (from OG: b0:c6:9b:80:01:5b, via prev OG: b0:c6:9b:80:01:5b, seqno 1251, ttvn 2, crc 51283, changes 0, td 237, TTL 49, V 14, IDF 1)
[       970] Drop packet: originator packet from myself (via neighbor)
[       970] Received BATMAN packet via NB: b0:c6:9b:80:01:5f, IF: wlan0 [b0:c6:9b:80:01:5b] (from OG: b0:c6:9b:80:01:5d, via prev OG: b0:c6:9b:80:01:5d, seqno 1246, ttvn 2, crc 38681, changes 0, td 0, TTL 1, V 14, IDF 1)
[       970] Drop packet: originator packet with tq equal 0
[       970] Received BATMAN packet via NB: b0:c6:9b:80:01:5c, IF: wlan1 [b0:c6:9b:80:01:56] (from OG: b0:c6:9b:80:01:5b, via prev OG: b0:c6:9b:80:01:5b, seqno 1251, ttvn 2, crc 51283, changes 0, td 245, TTL 49, V 14, IDF 1)
[       970] Drop packet: originator packet from myself (via neighbor)
[       970] Received BATMAN packet via NB: b0:c6:9b:80:01:5c, IF: wlan0 [b0:c6:9b:80:01:5b] (from OG: b0:c6:9b:80:01:5b, via prev OG: b0:c6:9b:80:01:5b, seqno 1251, ttvn 2, crc 51283, changes 0, td 245, TTL 49, V 14, IDF 1)
[       970] Drop packet: originator packet from myself (via neighbor)
[       970] Forwarding packet (originator b0:c6:9b:80:01:5d, seqno 1246, TTL 1) on interface wlan1 [b0:c6:9b:80:01:56]
[       970] Received BATMAN packet via NB: b0:c6:9b:80:01:5d, IF: wlan1 [b0:c6:9b:80:01:56] (from OG: b0:c6:9b:80:01:5b, via prev OG: b0:c6:9b:80:01:5b, seqno 1251, ttvn 2, crc 51283, changes 0, td 245, TTL 49, V 14, IDF 0)
[       970] Drop packet: originator packet from myself (via neighbor)
[       970] Received BATMAN packet via NB: b0:c6:9b:80:01:5d, IF: wlan0 [b0:c6:9b:80:01:5b] (from OG: b0:c6:9b:80:01:5b, via prev OG: b0:c6:9b:80:01:5b, seqno 1251, ttvn 2, crc 51283, changes 0, td 245, TTL 49, V 14, IDF 0)
[       970] Drop packet: originator packet from myself (via neighbor)
[       970] Received BATMAN packet via NB: b0:c6:9b:80:01:56, IF: wlan0 [b0:c6:9b:80:01:5b] (from OG: b0:c6:9b:80:01:5d, via prev OG: b0:c6:9b:80:01:5d, seqno 1246, ttvn 2, crc 38681, changes 0, td 0, TTL 1, V 14, IDF 1)
[       970] Drop packet: received my own broadcast (sender: b0:c6:9b:80:01:56)
[       970] Forwarding packet (originator b0:c6:9b:80:01:5d, seqno 1246, TTL 1) on interface wlan0 [b0:c6:9b:80:01:5b]
[       970] Received BATMAN packet via NB: b0:c6:9b:80:01:5b, IF: wlan1 [b0:c6:9b:80:01:56] (from OG: b0:c6:9b:80:01:5d, via prev OG: b0:c6:9b:80:01:5d, seqno 1246, ttvn 2, crc 38681, changes 0, td 0, TTL 1, V 14, IDF 1)
[       970] Drop packet: received my own broadcast (sender: b0:c6:9b:80:01:5b)
[       970] Received BATMAN packet via NB: b0:c6:9b:80:01:5c, IF: wlan1 [b0:c6:9b:80:01:56] (from OG: b0:c6:9b:80:01:5c, via prev OG: b0:c6:9b:80:01:5c, seqno 1246, ttvn 2, crc 38681, changes 0, td 255, TTL 50, V 14, IDF 0)
[       970] updating last_seqno: old 1245, new 1246
[       970] bidirectional: orig = b0:c6:9b:80:01:5c neigh = b0:c6:9b:80:01:5c =&amp;gt; own_bcast =  0, real recv = 63, local tq:   0, asym_penalty: 255, total tq:   0
[       970] Forwarding packet: tq_orig: 0, tq_avg: 251, tq_forw: 0, ttl_orig: 49, ttl_forw: 49
[       970] Forwarding packet: rebroadcast neighbor packet with direct link flag
[       970] Received BATMAN packet via NB: b0:c6:9b:80:01:5d, IF: wlan1 [b0:c6:9b:80:01:56] (from OG: b0:c6:9b:80:01:5c, via prev OG: b0:c6:9b:80:01:5c, seqno 1246, ttvn 2, crc 38681, changes 0, td 255, TTL 50, V 14, IDF 0)
[       970] Drop packet: OGM via unknown neighbor!
[       970] Received BATMAN packet via NB: b0:c6:9b:80:01:5c, IF: wlan0 [b0:c6:9b:80:01:5b] (from OG: b0:c6:9b:80:01:5c, via prev OG: b0:c6:9b:80:01:5c, seqno 1246, ttvn 2, crc 38681, changes 0, td 255, TTL 50, V 14, IDF 0)
[       970] bidirectional: orig = b0:c6:9b:80:01:5c neigh = b0:c6:9b:80:01:5c =&amp;gt; own_bcast = 63, real recv = 64, local tq: 251, asym_penalty: 255, total tq: 251
[       970] update_originator(): Searching and updating originator entry of received packet
[       970] Updating existing last-hop neighbor of originator
[       970] Forwarding packet: tq_orig: 251, tq_avg: 251, tq_forw: 241, ttl_orig: 49, ttl_forw: 49
[       970] Forwarding packet: rebroadcast neighbor packet with direct link flag
[       970] Received BATMAN packet via NB: b0:c6:9b:80:01:5d, IF: wlan0 [b0:c6:9b:80:01:5b] (from OG: b0:c6:9b:80:01:5c, via prev OG: b0:c6:9b:80:01:5c, seqno 1246, ttvn 2, crc 38681, changes 0, td 255, TTL 50, V 14, IDF 0)
[       970] Drop packet: OGM via unknown neighbor!
[       970] Originator timeout: originator b0:c6:9b:80:01:43, last_valid 0
[       970] Received BATMAN packet via NB: b0:c6:9b:80:01:6b, IF: wlan1 [b0:c6:9b:80:01:56] (from OG: b0:c6:9b:80:01:5c, via prev OG: b0:c6:9b:80:01:5c, seqno 1246, ttvn 2, crc 38681, changes 0, td 233, TTL 49, V 14, IDF 1)
[       970] bidirectional: orig = b0:c6:9b:80:01:5c neigh = b0:c6:9b:80:01:6b =&amp;gt; own_bcast = 64, real recv = 64, local tq: 255, asym_penalty: 255, total tq: 233
[       970] update_originator(): Searching and updating originator entry of received packet
[       970] Updating existing last-hop neighbor of originator
[       970] Drop packet: duplicate packet received
[       970] Received BATMAN packet via NB: b0:c6:9b:80:01:6b, IF: wlan0 [b0:c6:9b:80:01:5b] (from OG: b0:c6:9b:80:01:5c, via prev OG: b0:c6:9b:80:01:5c, seqno 1246, ttvn 2, crc 38681, changes 0, td 233, TTL 49, V 14, IDF 1)
[       970] bidirectional: orig = b0:c6:9b:80:01:5c neigh = b0:c6:9b:80:01:6b =&amp;gt; own_bcast = 63, real recv = 64, local tq: 251, asym_penalty: 255, total tq: 229
[       970] update_originator(): Searching and updating originator entry of received packet
[       970] Updating existing last-hop neighbor of originator
[       970] Drop packet: duplicate packet received
[       970] Forwarding packet (originator b0:c6:9b:80:01:5c, seqno 1246, TQ 0, TTL 49, IDF off, ttvn 2) on interface wlan0 [b0:c6:9b:80:01:5b]
[       970] Forwarding packet (originator b0:c6:9b:80:01:5c, seqno 1246, TQ 0, TTL 49, IDF on, ttvn 2) on interface wlan1 [b0:c6:9b:80:01:56]
[       970] Received BATMAN packet via NB: b0:c6:9b:80:01:5b, IF: wlan1 [b0:c6:9b:80:01:56] (from OG: b0:c6:9b:80:01:5c, via prev OG: b0:c6:9b:80:01:5c, seqno 1246, ttvn 2, crc 38681, changes 0, td 0, TTL 49, V 14, IDF 0)
[       970] Drop packet: received my own broadcast (sender: b0:c6:9b:80:01:5b)
[       970] Received BATMAN packet via NB: b0:c6:9b:80:01:56, IF: wlan0 [b0:c6:9b:80:01:5b] (from OG: b0:c6:9b:80:01:5c, via prev OG: b0:c6:9b:80:01:5c, seqno 1246, ttvn 2, crc 38681, changes 0, td 0, TTL 49, V 14, IDF 1)
[       970] Drop packet: received my own broadcast (sender: b0:c6:9b:80:01:56)
[       970] Received BATMAN packet via NB: b0:c6:9b:80:01:5f, IF: wlan0 [b0:c6:9b:80:01:5b] (from OG: b0:c6:9b:80:01:5c, via prev OG: b0:c6:9b:80:01:5c, seqno 1246, ttvn 2, crc 38681, changes 0, td 228, TTL 49, V 14, IDF 1)
[       970] bidirectional: orig = b0:c6:9b:80:01:5c neigh = b0:c6:9b:80:01:5f =&amp;gt; own_bcast = 64, real recv = 64, local tq: 255, asym_penalty: 255, total tq: 228
[       970] update_originator(): Searching and updating originator entry of received packet
[       970] Updating existing last-hop neighbor of originator
[       970] Drop packet: duplicate packet received
[       970] Forwarding packet (originator b0:c6:9b:80:01:5c, seqno 1246, TQ 241, TTL 49, IDF on, ttvn 2) on interface wlan0 [b0:c6:9b:80:01:5b]
[       970] Forwarding packet (originator b0:c6:9b:80:01:5c, seqno 1246, TQ 241, TTL 49, IDF off, ttvn 2) on interface wlan1 [b0:c6:9b:80:01:56]
[       970] Received BATMAN packet via NB: b0:c6:9b:80:01:5b, IF: wlan1 [b0:c6:9b:80:01:56] (from OG: b0:c6:9b:80:01:5c, via prev OG: b0:c6:9b:80:01:5c, seqno 1246, ttvn 2, crc 38681, changes 0, td 241, TTL 49, V 14, IDF 1)
[       970] Drop packet: received my own broadcast (sender: b0:c6:9b:80:01:5b)
[       970] Received BATMAN packet via NB: b0:c6:9b:80:01:56, IF: wlan0 [b0:c6:9b:80:01:5b] (from OG: b0:c6:9b:80:01:5c, via prev OG: b0:c6:9b:80:01:5c, seqno 1246, ttvn 2, crc 38681, changes 0, td 241, TTL 49, V 14, IDF 0)
[       970] Drop packet: received my own broadcast (sender: b0:c6:9b:80:01:56)
[       970] Received BATMAN packet via NB: b0:c6:9b:80:01:6c, IF: wlan0 [b0:c6:9b:80:01:5b] (from OG: b0:c6:9b:80:01:43, via prev OG: b0:c6:9b:80:01:43, seqno 109829, ttvn 6, crc 5961, changes 0, td 245, TTL 49, V 14, IDF 1)
[       970] Creating new originator: b0:c6:9b:80:01:43
[       970] old packet received, start protection
[       970] Drop packet: OGM via unknown neighbor!





&lt;/pre&gt;</description>
    <dc:creator>puyou.lu</dc:creator>
    <dc:date>2012-05-26T09:20:28</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.org.freifunk.batman/7197">
    <title>[PATCH] batman-adv: Use batctl indentation ofbat_packettype</title>
    <link>http://comments.gmane.org/gmane.org.freifunk.batman/7197</link>
    <description>&lt;pre&gt;The style of the indentation was changed in
206af118414355e867e725ea83bc3a2989db5a40

Signed-off-by: Sven Eckelmann &amp;lt;sven-KaDOiPu9UxWEi8DpZVb4nw&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
---
 packet.h |   14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/packet.h b/packet.h
index 205879e..c90219c 100644
--- a/packet.h
+++ b/packet.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -23,14 +23,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #define ETH_P_BATMAN  0x4305/* unofficial/not registered Ethertype */
 
 enum bat_packettype {
-BAT_IV_OGM       = 0x01,
-BAT_ICMP         = 0x02,
-BAT_UNICAST      = 0x03,
-BAT_BCAST        = 0x04,
-BAT_VIS          = 0x05,
+BAT_IV_OGM = 0x01,
+BAT_ICMP = 0x02,
+BAT_UNICAST = 0x03,
+BAT_BCAST = 0x04,
+BAT_VIS = 0x05,
 BAT_UNICAST_FRAG = 0x06,
-BAT_TT_QUERY     = 0x07,
-BAT_ROAM_ADV     = 0x08
+BAT_TT_QUERY = 0x07,
+BAT_ROAM_ADV = 0x08
 };
 
 /* this file is included by batctl which needs these defines */
&lt;/pre&gt;</description>
    <dc:creator>Sven Eckelmann</dc:creator>
    <dc:date>2012-05-25T06:55:55</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.org.freifunk.batman/7196">
    <title>[PATCHv2] batman-adv: beautify tt_global_add()argument list</title>
    <link>http://comments.gmane.org/gmane.org.freifunk.batman/7196</link>
    <description>&lt;pre&gt;Instead of adding a new bool argument each time it is needed, it is better (and
simpler) to pass an 8bit flag argument which contains all the needed flags

Signed-off-by: Antonio Quartulli &amp;lt;ordex-GaUfNO9RBHfsrOwW+9ziJQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
---

changes in v2:
- rebased on top of the last patches for code restyling

 routing.c           |    4 ++--
 translation-table.c |   24 +++++++++---------------
 translation-table.h |    4 ++--
 3 files changed, 13 insertions(+), 19 deletions(-)

diff --git a/routing.c b/routing.c
index c3160be..1260253 100644
--- a/routing.c
+++ b/routing.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -697,8 +697,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int batadv_recv_roam_adv(struct sk_buff *skb, struct hard_iface *recv_if)
    roam_adv_packet-&amp;gt;src, roam_adv_packet-&amp;gt;client);
 
 batadv_tt_global_add(bat_priv, orig_node, roam_adv_packet-&amp;gt;client,
-     atomic_read(&amp;amp;orig_node-&amp;gt;last_ttvn) + 1, true,
-     false);
+     TT_CLIENT_ROAM,
+     atomic_read(&amp;amp;orig_node-&amp;gt;last_ttvn) + 1);
 
 /* Roaming phase starts: I have new information but the ttvn has not
  * been incremented yet. This flag will make me check all the incoming
diff --git a/translation-table.c b/translation-table.c
index 2c8266a..c03c479 100644
--- a/translation-table.c
+++ b/translation-table.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -656,8 +656,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; batadv_tt_global_add_orig_entry(struct tt_global_entry *tt_global_entry,
 
 /* caller must hold orig_node refcount */
 int batadv_tt_global_add(struct bat_priv *bat_priv, struct orig_node *orig_node,
- const unsigned char *tt_addr, uint8_t ttvn,
- bool roaming, bool wifi)
+ const unsigned char *tt_addr, uint8_t flags,
+ uint8_t ttvn)
 {
 struct tt_global_entry *tt_global_entry = NULL;
 int ret = 0;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -667,15 +667,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int batadv_tt_global_add(struct bat_priv *bat_priv, struct orig_node *orig_node,
 tt_global_entry = batadv_tt_global_hash_find(bat_priv, tt_addr);
 
 if (!tt_global_entry) {
-tt_global_entry = kzalloc(sizeof(*tt_global_entry),
-  GFP_ATOMIC);
+tt_global_entry = kzalloc(sizeof(*tt_global_entry), GFP_ATOMIC);
 if (!tt_global_entry)
 goto out;
 
 common = &amp;amp;tt_global_entry-&amp;gt;common;
 memcpy(common-&amp;gt;addr, tt_addr, ETH_ALEN);
 
-common-&amp;gt;flags = NO_FLAGS;
+common-&amp;gt;flags = flags;
 tt_global_entry-&amp;gt;roam_at = 0;
 atomic_set(&amp;amp;common-&amp;gt;refcount, 2);
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -717,9 +716,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int batadv_tt_global_add(struct bat_priv *bat_priv, struct orig_node *orig_node,
 orig_node, ttvn);
 }
 
-if (wifi)
-tt_global_entry-&amp;gt;common.flags |= TT_CLIENT_WIFI;
-
 batadv_dbg(DBG_TT, bat_priv,
    "Creating new global tt entry: %pM (via %pM)\n",
    tt_global_entry-&amp;gt;common.addr, orig_node-&amp;gt;orig);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -727,7 +723,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int batadv_tt_global_add(struct bat_priv *bat_priv, struct orig_node *orig_node,
 out_remove:
 /* remove address from local hash if present */
 batadv_tt_local_remove(bat_priv, tt_global_entry-&amp;gt;common.addr,
-       "global tt received", roaming);
+       "global tt received", flags &amp;amp; TT_CLIENT_ROAM);
 ret = 1;
 out:
 if (tt_global_entry)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1755,7 +1751,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void _batadv_tt_update_changes(struct bat_priv *bat_priv,
       uint16_t tt_num_changes, uint8_t ttvn)
 {
 int i;
-int is_wifi;
 int roams;
 
 for (i = 0; i &amp;lt; tt_num_changes; i++) {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1763,13 +1758,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void _batadv_tt_update_changes(struct bat_priv *bat_priv,
 roams = (tt_change + i)-&amp;gt;flags &amp;amp; TT_CLIENT_ROAM;
 batadv_tt_global_del(bat_priv, orig_node,
      (tt_change + i)-&amp;gt;addr,
-      "tt removed by changes",
-      roams);
+     "tt removed by changes",
+     roams);
 } else {
-is_wifi = (tt_change + i)-&amp;gt;flags &amp;amp; TT_CLIENT_WIFI;
 if (!batadv_tt_global_add(bat_priv, orig_node,
-  (tt_change + i)-&amp;gt;addr, ttvn,
-  false, is_wifi))
+  (tt_change + i)-&amp;gt;addr,
+  (tt_change + i)-&amp;gt;flags, ttvn))
 /* In case of problem while storing a
  * global_entry, we stop the updating
  * procedure without committing the
diff --git a/translation-table.h b/translation-table.h
index 7edc9df..46b60bd 100644
--- a/translation-table.h
+++ b/translation-table.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -32,8 +32,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void batadv_tt_global_add_orig(struct bat_priv *bat_priv,
        struct orig_node *orig_node,
        const unsigned char *tt_buff, int tt_buff_len);
 int batadv_tt_global_add(struct bat_priv *bat_priv, struct orig_node *orig_node,
- const unsigned char *addr, uint8_t ttvn, bool roaming,
- bool wifi);
+ const unsigned char *addr, uint8_t flags,
+ uint8_t ttvn);
 int batadv_tt_global_seq_print_text(struct seq_file *seq, void *offset);
 void batadv_tt_global_del_orig(struct bat_priv *bat_priv,
        struct orig_node *orig_node,
&lt;/pre&gt;</description>
    <dc:creator>Antonio Quartulli</dc:creator>
    <dc:date>2012-05-24T22:00:54</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.org.freifunk.batman/7195">
    <title>[PATCHv3] batman-adv: clear ADD+DEL (and viceversa)events in the same orig-interval</title>
    <link>http://comments.gmane.org/gmane.org.freifunk.batman/7195</link>
    <description>&lt;pre&gt;During an OGM-interval (time between two different OGM sendings) the same client
could roam away and then roam back to us. In this case the node would add two
events to the events list (that is going to be sent appended to the next OGM). A
DEL one and an ADD one. Obviously they will only increase the overhead (either in
the air and on the receiver side) and eventually trigger wrong states/events
without producing any real effect.

For this reason we can safely delete any ADD event with its related DEL one.

Signed-off-by: Antonio Quartulli &amp;lt;ordex-GaUfNO9RBHfsrOwW+9ziJQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
---

changes in v3:
- rebased on top of the last patches for code restyling

 translation-table.c |   40 +++++++++++++++++++++++++++++++++++++---
 1 file changed, 37 insertions(+), 3 deletions(-)

diff --git a/translation-table.c b/translation-table.c
index cb1d3a8..2c8266a 100644
--- a/translation-table.c
+++ b/translation-table.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -156,7 +156,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; batadv_tt_orig_list_entry_free_ref(struct tt_orig_list_entry *orig_entry)
 static void batadv_tt_local_event(struct bat_priv *bat_priv,
   const uint8_t *addr, uint8_t flags)
 {
-struct tt_change_node *tt_change_node;
+struct tt_change_node *tt_change_node, *entry, *safe;
+bool event_removed = false;
+bool del_op_requested, del_op_entry;
 
 tt_change_node = kmalloc(sizeof(*tt_change_node), GFP_ATOMIC);
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -166,13 +168,45 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void batadv_tt_local_event(struct bat_priv *bat_priv,
 tt_change_node-&amp;gt;change.flags = flags;
 memcpy(tt_change_node-&amp;gt;change.addr, addr, ETH_ALEN);
 
+del_op_requested = flags &amp;amp; TT_CLIENT_DEL;
+
+/* check for ADD+DEL or DEL+ADD events */
 spin_lock_bh(&amp;amp;bat_priv-&amp;gt;tt_changes_list_lock);
+list_for_each_entry_safe(entry, safe, &amp;amp;bat_priv-&amp;gt;tt_changes_list,
+ list) {
+if (!batadv_compare_eth(entry-&amp;gt;change.addr, addr))
+continue;
+
+/* DEL+ADD in the same orig interval have no effect and can be
+ * removed to avoid silly behaviour on the receiver side. The
+ * other way around (ADD+DEL) can happen in case of roaming of
+ * a client still in the NEW state. Roaming of NEW clients is
+ * now possible due to automatically recognition of "temporary"
+ * clients
+ */
+del_op_entry = entry-&amp;gt;change.flags &amp;amp; TT_CLIENT_DEL;
+if (!del_op_requested &amp;amp;&amp;amp; del_op_entry)
+goto del;
+if (del_op_requested &amp;amp;&amp;amp; !del_op_entry)
+goto del;
+continue;
+del:
+list_del(&amp;amp;entry-&amp;gt;list);
+kfree(entry);
+event_removed = true;
+goto unlock;
+}
+
 /* track the change in the OGMinterval list */
 list_add_tail(&amp;amp;tt_change_node-&amp;gt;list, &amp;amp;bat_priv-&amp;gt;tt_changes_list);
-atomic_inc(&amp;amp;bat_priv-&amp;gt;tt_local_changes);
+
+unlock:
 spin_unlock_bh(&amp;amp;bat_priv-&amp;gt;tt_changes_list_lock);
 
-atomic_set(&amp;amp;bat_priv-&amp;gt;tt_ogm_append_cnt, 0);
+if (event_removed)
+atomic_dec(&amp;amp;bat_priv-&amp;gt;tt_local_changes);
+else
+atomic_inc(&amp;amp;bat_priv-&amp;gt;tt_local_changes);
 }
 
 int batadv_tt_len(int changes_num)
&lt;/pre&gt;</description>
    <dc:creator>Antonio Quartulli</dc:creator>
    <dc:date>2012-05-24T22:00:42</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.org.freifunk.batman/7186">
    <title>[PATCH] batman-adv: Avoid gcc inline problems withvararg functions</title>
    <link>http://comments.gmane.org/gmane.org.freifunk.batman/7186</link>
    <description>&lt;pre&gt;gcc doesn't support the inlining of functions using vararg. Sparse fails to
build the source when having such functions marked using the keyword "inline".

This problem was introduced in 3b896e321c49e3cbbfd540f537c007db883c3900

Signed-off-by: Sven Eckelmann &amp;lt;sven-KaDOiPu9UxWEi8DpZVb4nw&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
---
 main.h |   20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/main.h b/main.h
index 977de45..4721c86 100644
--- a/main.h
+++ b/main.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -196,6 +196,17 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static inline void batadv_vdbg(int type, struct bat_priv *bat_priv,
 batadv_debug_log(bat_priv, fmt, args);
 }
 
+__printf(3, 4)
+static inline void batadv_dbg(int type, struct bat_priv *bat_priv,
+       const char *fmt, ...)
+{
+va_list args;
+
+va_start(args, fmt);
+batadv_vdbg(type, bat_priv, fmt, args);
+va_end(args);
+}
+
 #else /* !CONFIG_BATMAN_ADV_DEBUG */
 
 static inline void batadv_vdbg(int type __always_unused,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -205,19 +216,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static inline void batadv_vdbg(int type __always_unused,
 {
 }
 
-#endif
-
 __printf(3, 4)
 static inline void batadv_dbg(int type, struct bat_priv *bat_priv,
        const char *fmt, ...)
 {
-va_list args;
-
-va_start(args, fmt);
-batadv_vdbg(type, bat_priv, fmt, args);
-va_end(args);
 }
 
+#endif
+
 #define batadv_info(net_dev, fmt, arg...)\
 do {\
 struct net_device *_netdev = (net_dev);                 \
&lt;/pre&gt;</description>
    <dc:creator>Sven Eckelmann</dc:creator>
    <dc:date>2012-05-19T07:37:55</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.org.freifunk.batman/7167">
    <title>[PATCH] batman-adv: Revert Distributed ARP Table</title>
    <link>http://comments.gmane.org/gmane.org.freifunk.batman/7167</link>
    <description>&lt;pre&gt;David S. Miller did not like the idea of batman-adv modifying and reading the
ARP table and refused to pull this feature. It has to be rewritten after an
acceptable solution was found.

This reverts following commits:
 * batman-adv: add UNICAST_4ADDR packet type
 * batman-adv: add a new log level for DAT debugging
 * batman-adv: Distributed ARP Table - create DHT helper functions
 * batman-adv: Distributed ARP Table - add ARP parsing functions
 * batman-adv: Distributed ARP Table - add snooping functions for ARP messages
 * batman-adv: Distributed ARP Table - increase default soft_iface ARP table timeout
 * batman-adv: Distributed ARP Table - add compile option

Signed-off-by: Sven Eckelmann &amp;lt;sven-KaDOiPu9UxWEi8DpZVb4nw&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
---
This patch is for next... I repeat: this patch is for the branch next

 Makefile                |    2 -
 Makefile.kbuild         |    1 -
 README                  |    3 +-
 README.external         |    1 -
 bat_sysfs.c             |    2 +-
 distributed-arp-table.c |  605 -----------------------------------------------
 distributed-arp-table.h |  140 -----------
 gen-compat-autoconf.sh  |    1 -
 hard-interface.c        |    3 -
 main.c                  |    2 -
 main.h                  |   15 +-
 originator.c            |    2 -
 packet.h                |   30 +--
 routing.c               |    8 +-
 send.c                  |    4 -
 soft-interface.c        |   17 +-
 types.h                 |   22 --
 unicast.c               |  101 ++------
 unicast.h               |   21 +-
 19 files changed, 33 insertions(+), 947 deletions(-)
 delete mode 100644 distributed-arp-table.c
 delete mode 100644 distributed-arp-table.h

diff --git a/Makefile b/Makefile
index ac84fba..08f8c39 100644
--- a/Makefile
+++ b/Makefile
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -23,8 +23,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 export CONFIG_BATMAN_ADV_DEBUG=n
 # B.A.T.M.A.N. bridge loop avoidance:
 export CONFIG_BATMAN_ADV_BLA=y
-# B.A.T.M.A.N. distributed ARP table:
-export CONFIG_BATMAN_ADV_DAT=y
 
 PWD:=$(shell pwd)
 KERNELPATH ?= /lib/modules/$(shell uname -r)/build
diff --git a/Makefile.kbuild b/Makefile.kbuild
index ad002cd..6d5c194 100644
--- a/Makefile.kbuild
+++ b/Makefile.kbuild
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -24,7 +24,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; batman-adv-y += bat_iv_ogm.o
 batman-adv-y += bat_sysfs.o
 batman-adv-y += bitarray.o
 batman-adv-$(CONFIG_BATMAN_ADV_BLA) += bridge_loop_avoidance.o
-batman-adv-$(CONFIG_BATMAN_ADV_DAT) += distributed-arp-table.o
 batman-adv-y += gateway_client.o
 batman-adv-y += gateway_common.o
 batman-adv-y += hard-interface.o
diff --git a/README b/README
index 82c075f..75a5923 100644
--- a/README
+++ b/README
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -202,8 +202,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; abled  during run time. Following log_levels are defined:
 2 - Enable messages related to route added / changed / deleted
 4 - Enable messages related to translation table operations
 8 - Enable messages related to bridge loop avoidance
-16 - Enable messaged related to DAT, ARP snooping and parsing
-31 - Enable all messages
+15 - enable all messages
 
 The debug output can be changed at runtime  using  the  file
 /sys/class/net/bat0/mesh/log_level. e.g.
diff --git a/README.external b/README.external
index 874ee7f..da5afd4 100644
--- a/README.external
+++ b/README.external
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -37,7 +37,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; module).  Available  options  and  their    possible   values are
 
  * CONFIG_BATMAN_ADV_DEBUG=[y|n*] (B.A.T.M.A.N. debugging)
  * CONFIG_BATMAN_ADV_BLA=[y*|n] (B.A.T.M.A.N. bridge loop avoidance)
- * CONFIG_BATMAN_ADV_DAT=[y*|n] (B.A.T.M.A.N. Distributed ARP Table)
 
 e.g., debugging can be enabled by
 
diff --git a/bat_sysfs.c b/bat_sysfs.c
index acb2640..5bc7b66 100644
--- a/bat_sysfs.c
+++ b/bat_sysfs.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -445,7 +445,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; BAT_ATTR_SIF_UINT(gw_sel_class, S_IRUGO | S_IWUSR, 1, TQ_MAX_VALUE,
 static BAT_ATTR(gw_bandwidth, S_IRUGO | S_IWUSR, show_gw_bwidth,
 store_gw_bwidth);
 #ifdef CONFIG_BATMAN_ADV_DEBUG
-BAT_ATTR_SIF_UINT(log_level, S_IRUGO | S_IWUSR, 0, 31, NULL);
+BAT_ATTR_SIF_UINT(log_level, S_IRUGO | S_IWUSR, 0, 15, NULL);
 #endif
 
 static struct bat_attribute *mesh_attrs[] = {
diff --git a/distributed-arp-table.c b/distributed-arp-table.c
deleted file mode 100644
index 6935be9..0000000
--- a/distributed-arp-table.c
+++ /dev/null
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,605 +0,0 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
-/*
- * Copyright (C) 2011-2012 B.A.T.M.A.N. contributors:
- *
- * Antonio Quartulli
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA
- *
- */
-
-#include &amp;lt;linux/if_ether.h&amp;gt;
-#include &amp;lt;linux/if_arp.h&amp;gt;
-/* needed to use arp_tbl */
-#include &amp;lt;net/arp.h&amp;gt;
-#include &amp;lt;linux/inetdevice.h&amp;gt;
-
-#include "main.h"
-#include "distributed-arp-table.h"
-#include "hard-interface.h"
-#include "originator.h"
-#include "send.h"
-#include "types.h"
-#include "translation-table.h"
-#include "unicast.h"
-
-#ifdef CONFIG_BATMAN_ADV_DEBUG
-
-static void bat_dbg_arp(struct bat_priv *bat_priv, struct sk_buff *skb,
-uint16_t type, int hdr_size, char *msg)
-{
-struct unicast_4addr_packet *unicast_4addr_packet;
-
-if (msg)
-bat_dbg(DBG_DAT, bat_priv, "%s\n", msg);
-
-bat_dbg(DBG_DAT, bat_priv, "ARP MSG = [src: %pM-%pI4 dst: %pM-%pI4]\n",
-ARP_HW_SRC(skb, hdr_size), &amp;amp;ARP_IP_SRC(skb, hdr_size),
-ARP_HW_DST(skb, hdr_size), &amp;amp;ARP_IP_DST(skb, hdr_size));
-
-if (hdr_size == 0)
-return;
-
-/* if the AP packet is encapsulated in a batman packet, let's print some
- * debug messages
- */
-unicast_4addr_packet = (struct unicast_4addr_packet *)skb-&amp;gt;data;
-
-switch (unicast_4addr_packet-&amp;gt;u.header.packet_type) {
-case BAT_UNICAST:
-bat_dbg(DBG_DAT, bat_priv,
-"* encapsulated within a UNICAST packet\n");
-break;
-case BAT_UNICAST_4ADDR:
-bat_dbg(DBG_DAT, bat_priv,
-"* encapsulated within a UNICAST_4ADDR packet (src: %pM)\n",
-unicast_4addr_packet-&amp;gt;src);
-switch (unicast_4addr_packet-&amp;gt;subtype) {
-case BAT_P_DAT_DHT_PUT:
-bat_dbg(DBG_DAT, bat_priv, "* type: DAT_DHT_PUT\n");
-break;
-case BAT_P_DAT_DHT_GET:
-bat_dbg(DBG_DAT, bat_priv, "* type: DAT_DHT_GET\n");
-break;
-case BAT_P_DAT_CACHE_REPLY:
-bat_dbg(DBG_DAT, bat_priv, "* type: DAT_CACHE_REPLY\n");
-break;
-case BAT_P_DATA:
-bat_dbg(DBG_DAT, bat_priv, "* type: DATA\n");
-break;
-default:
-bat_dbg(DBG_DAT, bat_priv, "* type: Unknown!\n");
-}
-break;
-case BAT_BCAST:
-bat_dbg(DBG_DAT, bat_priv,
-"* encapsulated within a BCAST packet (src: %pM)\n",
-((struct bcast_packet *)unicast_4addr_packet)-&amp;gt;orig);
-break;
-default:
-bat_dbg(DBG_DAT, bat_priv,
-"* encapsulated within an unknown packet type (0x%x)\n",
-unicast_4addr_packet-&amp;gt;u.header.packet_type);
-}
-}
-
-#else
-
-static void bat_dbg_arp(struct bat_priv *bat_priv, struct sk_buff *skb,
-uint16_t type, int hdr_size, char *msg)
-{
-}
-
-#endif /* CONFIG_BATMAN_ADV_DEBUG */
-
-static bool is_orig_node_eligible(struct dht_candidate *res, int select,
-  dat_addr_t tmp_max, dat_addr_t max,
-  dat_addr_t last_max,
-  struct orig_node *candidate,
-  struct orig_node *max_orig_node)
-{
-bool ret = false;
-int j;
-
-/* Check if we have already selected this neighbour... */
-for (j = 0; j &amp;lt; select; j++)
-if (res[j].orig_node == candidate)
-break;
-/* ..and possibly skip it */
-if (j &amp;lt; select)
-goto out;
-/* sanity check: has it already been selected? This should not happen */
-if (tmp_max &amp;gt; last_max)
-goto out;
-/* check if during this iteration we have already found an originator
- * with a closer dht address
- */
-if (tmp_max &amp;lt; max)
-goto out;
-/* this is an hash collision with the temporary selected node. Choose
- * the one with the lowest address
- */
-if ((tmp_max == max) &amp;amp;&amp;amp;
-    (compare_eth(candidate-&amp;gt;orig, max_orig_node-&amp;gt;orig) &amp;gt; 0))
-goto out;
-
-ret = true;
-out:
-return ret;
-}
-
-/* selects the next candidate by populating cands[select] and modifies last_max
- * accordingly
- */
-static void choose_next_candidate(struct bat_priv *bat_priv,
-  struct dht_candidate *cands, int select,
-  dat_addr_t ip_key, dat_addr_t *last_max)
-{
-dat_addr_t max = 0, tmp_max = 0;
-struct orig_node *orig_node, *max_orig_node = NULL;
-struct hashtable_t *hash = bat_priv-&amp;gt;orig_hash;
-struct hlist_node *node;
-struct hlist_head *head;
-int i;
-
-/* if no node is eligible as candidate, we will leave the candidate as
- * NOT_FOUND
- */
-cands[select].type = DHT_CANDIDATE_NOT_FOUND;
-
-/* iterate over the originator list and find the node with closest
- * dht_address which has not been selected yet
- */
-for (i = 0; i &amp;lt; hash-&amp;gt;size; i++) {
-head = &amp;amp;hash-&amp;gt;table[i];
-
-rcu_read_lock();
-hlist_for_each_entry_rcu(orig_node, node, head, hash_entry) {
-/* the dht space is a ring and addresses are unsigned */
-tmp_max = DAT_ADDR_MAX - orig_node-&amp;gt;dht_addr + ip_key;
-
-if (!is_orig_node_eligible(cands, select, tmp_max, max,
-   *last_max, orig_node,
-   max_orig_node))
-continue;
-
-if (!atomic_inc_not_zero(&amp;amp;orig_node-&amp;gt;refcount))
-continue;
-
-max = tmp_max;
-if (max_orig_node)
-orig_node_free_ref(max_orig_node);
-max_orig_node = orig_node;
-}
-rcu_read_unlock();
-}
-if (max_orig_node) {
-cands[select].type = DHT_CANDIDATE_ORIG;
-cands[select].orig_node = max_orig_node;
-bat_dbg(DBG_DAT, bat_priv,
-"dht_select_candidates() %d: selected %pM addr=%u dist=%u\n",
-select, max_orig_node-&amp;gt;orig, max_orig_node-&amp;gt;dht_addr,
-max);
-}
-*last_max = max;
-}
-
-/* Given a key, selects the candidates which the DHT message has to be sent to.
- * An originator O is selected if and only if its DHT_ID value is one of three
- * closest values (from the LEFT, with wrap around if needed) then the hash
- * value of the key. ip_dst is the key.
- *
- * return an array of size DHT_CANDIDATES_NUM
- */
-static struct dht_candidate *dht_select_candidates(struct bat_priv *bat_priv,
-   uint32_t ip_dst)
-{
-int select;
-dat_addr_t last_max = DAT_ADDR_MAX, ip_key;
-struct dht_candidate *res;
-
-if (!bat_priv-&amp;gt;orig_hash)
-return NULL;
-
-res = kmalloc(DHT_CANDIDATES_NUM * sizeof(*res), GFP_ATOMIC);
-if (!res)
-return NULL;
-
-ip_key = (dat_addr_t)hash_ipv4(&amp;amp;ip_dst, DAT_ADDR_MAX);
-
-bat_dbg(DBG_DAT, bat_priv,
-"dht_select_candidates(): IP=%pI4 hash(IP)=%u\n", &amp;amp;ip_dst,
-ip_key);
-
-for (select = 0; select &amp;lt; DHT_CANDIDATES_NUM; select++)
-choose_next_candidate(bat_priv, res, select, ip_key, &amp;amp;last_max);
-
-return res;
-}
-
-/* Sends the skb payload passed as argument to the candidates selected for
- * the data represented by 'ip'. The skb is copied by means of pskb_copy()
- * and is sent as unicast packet to each of the selected candidate.
- *
- * If the packet is successfully sent to at least one candidate, then this
- * function returns true
- */
-static bool dht_send_data(struct bat_priv *bat_priv, struct sk_buff *skb,
-  uint32_t ip, int packet_subtype)
-{
-int i;
-bool ret = false;
-struct neigh_node *neigh_node = NULL;
-struct sk_buff *tmp_skb;
-struct dht_candidate *cand = dht_select_candidates(bat_priv, ip);
-
-if (!cand)
-goto out;
-
-bat_dbg(DBG_DAT, bat_priv, "DHT_SEND for %pI4\n", &amp;amp;ip);
-
-for (i = 0; i &amp;lt; DHT_CANDIDATES_NUM; i++) {
-if (cand[i].type == DHT_CANDIDATE_NOT_FOUND)
-continue;
-
-neigh_node = orig_node_get_router(cand[i].orig_node);
-if (!neigh_node)
-goto free_orig;
-
-tmp_skb = pskb_copy(skb, GFP_ATOMIC);
-if (!prepare_unicast_4addr_packet(bat_priv, tmp_skb,
-  cand[i].orig_node,
-  packet_subtype)) {
-kfree_skb(tmp_skb);
-goto free_neigh;
-}
-if (send_skb_packet(tmp_skb, neigh_node-&amp;gt;if_incoming,
-    neigh_node-&amp;gt;addr) == NET_XMIT_SUCCESS)
-/* packet sent to a candidate: we can return true */
-ret = true;
-free_neigh:
-neigh_node_free_ref(neigh_node);
-free_orig:
-orig_node_free_ref(cand[i].orig_node);
-}
-
-out:
-kfree(cand);
-return ret;
-}
-
-/* Update the neighbour entry corresponding to the IP passed as parameter with
- * the hw address hw. If the neighbour entry doesn't exists, then it will be
- * created
- */
-static void arp_neigh_update(struct bat_priv *bat_priv, uint32_t ip,
-     uint8_t *hw)
-{
-struct neighbour *n = NULL;
-struct hard_iface *primary_if = primary_if_get_selected(bat_priv);
-if (!primary_if)
-goto out;
-
-n = __neigh_lookup(&amp;amp;arp_tbl, &amp;amp;ip, primary_if-&amp;gt;soft_iface, 1);
-if (!n)
-goto out;
-
-bat_dbg(DBG_DAT, bat_priv, "Updating neighbour: %pI4 - %pM\n", &amp;amp;ip, hw);
-
-neigh_update(n, hw, NUD_REACHABLE, NEIGH_UPDATE_F_OVERRIDE);
-out:
-if (n &amp;amp;&amp;amp; !IS_ERR(n))
-neigh_release(n);
-if (primary_if)
-hardif_free_ref(primary_if);
-}
-
-/* Returns arphdr-&amp;gt;ar_op if the skb contains a valid ARP packet, otherwise
- * returns 0
- */
-static uint16_t arp_get_type(struct bat_priv *bat_priv, struct sk_buff *skb,
-     int hdr_size)
-{
-struct arphdr *arphdr;
-struct ethhdr *ethhdr;
-uint32_t ip_src, ip_dst;
-uint16_t type = 0;
-
-/* pull the ethernet header */
-if (unlikely(!pskb_may_pull(skb, hdr_size + ETH_HLEN)))
-goto out;
-
-ethhdr = (struct ethhdr *)(skb-&amp;gt;data + hdr_size);
-
-if (ethhdr-&amp;gt;h_proto != htons(ETH_P_ARP))
-goto out;
-
-/* pull the ARP payload */
-if (unlikely(!pskb_may_pull(skb, hdr_size + ETH_HLEN +
-    arp_hdr_len(skb-&amp;gt;dev))))
-goto out;
-
-arphdr = (struct arphdr *)(skb-&amp;gt;data + hdr_size + ETH_HLEN);
-
-/* Check whether the ARP packet carries a valid
- * IP information */
-if (arphdr-&amp;gt;ar_hrd != htons(ARPHRD_ETHER))
-goto out;
-
-if (arphdr-&amp;gt;ar_pro != htons(ETH_P_IP))
-goto out;
-
-if (arphdr-&amp;gt;ar_hln != ETH_ALEN)
-goto out;
-
-if (arphdr-&amp;gt;ar_pln != 4)
-goto out;
-
-/* Check for bad reply/request. If the ARP message is not sane, DAT
- * will simply ignore it */
-ip_src = ARP_IP_SRC(skb, hdr_size);
-ip_dst = ARP_IP_DST(skb, hdr_size);
-if (ipv4_is_loopback(ip_src) || ipv4_is_multicast(ip_src) ||
-    ipv4_is_loopback(ip_dst) || ipv4_is_multicast(ip_dst))
-goto out;
-
-type = ntohs(arphdr-&amp;gt;ar_op);
-out:
-return type;
-}
-
-/* return true if the message has been sent to the dht candidates, false
- * otherwise. In case of true the message has to be enqueued to permit the
- * fallback
- */
-bool dat_snoop_outgoing_arp_request(struct bat_priv *bat_priv,
-    struct sk_buff *skb)
-{
-uint16_t type = 0;
-uint32_t ip_dst, ip_src;
-uint8_t *hw_src;
-bool ret = false;
-struct neighbour *n = NULL;
-struct hard_iface *primary_if = NULL;
-struct sk_buff *skb_new;
-
-type = arp_get_type(bat_priv, skb, 0);
-/* If we get an ARP_REQUEST we have to send the unicast message to the
- * selected DHT candidates
- */
-if (type != ARPOP_REQUEST)
-goto out;
-
-bat_dbg_arp(bat_priv, skb, type, 0, "Parsing outgoing ARP REQUEST");
-
-ip_src = ARP_IP_SRC(skb, 0);
-hw_src = ARP_HW_SRC(skb, 0);
-ip_dst = ARP_IP_DST(skb, 0);
-
-primary_if = primary_if_get_selected(bat_priv);
-if (!primary_if)
-goto out;
-
-arp_neigh_update(bat_priv, ip_src, hw_src);
-
-n = neigh_lookup(&amp;amp;arp_tbl, &amp;amp;ip_dst, primary_if-&amp;gt;soft_iface);
-/* check if it is a valid neigh entry */
-if (n &amp;amp;&amp;amp; (n-&amp;gt;nud_state &amp;amp; NUD_CONNECTED)) {
-skb_new = arp_create(ARPOP_REPLY, ETH_P_ARP, ip_src,
-     primary_if-&amp;gt;soft_iface, ip_dst, hw_src,
-     n-&amp;gt;ha, hw_src);
-if (!skb_new)
-goto out;
-
-skb_reset_mac_header(skb_new);
-skb_new-&amp;gt;protocol = eth_type_trans(skb_new,
-   primary_if-&amp;gt;soft_iface);
-bat_priv-&amp;gt;stats.rx_packets++;
-bat_priv-&amp;gt;stats.rx_bytes += skb-&amp;gt;len + ETH_HLEN;
-primary_if-&amp;gt;soft_iface-&amp;gt;last_rx = jiffies;
-
-netif_rx(skb_new);
-bat_dbg(DBG_DAT, bat_priv, "ARP request replied locally\n");
-} else
-/* Send the request on the DHT */
-ret = dht_send_data(bat_priv, skb, ip_dst, BAT_P_DAT_DHT_GET);
-out:
-if (n)
-neigh_release(n);
-if (primary_if)
-hardif_free_ref(primary_if);
-return ret;
-}
-
-/* This function is meant to be invoked for an ARP request which is coming into
- * the bat0 interfaces from the mesh network. It will check for the needed data
- * into the local table. If found, an ARP reply is sent immediately, otherwise
- * the caller has to deliver the ARP request to the upper layer
- */
-bool dat_snoop_incoming_arp_request(struct bat_priv *bat_priv,
-    struct sk_buff *skb, int hdr_size)
-{
-uint16_t type;
-uint32_t ip_src, ip_dst;
-uint8_t *hw_src;
-struct hard_iface *primary_if = NULL;
-struct sk_buff *skb_new;
-struct neighbour *n = NULL;
-bool ret = false;
-
-type = arp_get_type(bat_priv, skb, hdr_size);
-if (type != ARPOP_REQUEST)
-goto out;
-
-hw_src = ARP_HW_SRC(skb, hdr_size);
-ip_src = ARP_IP_SRC(skb, hdr_size);
-ip_dst = ARP_IP_DST(skb, hdr_size);
-
-bat_dbg_arp(bat_priv, skb, type, hdr_size,
-    "Parsing incoming ARP REQUEST");
-
-primary_if = primary_if_get_selected(bat_priv);
-if (!primary_if)
-goto out;
-
-arp_neigh_update(bat_priv, ip_src, hw_src);
-
-n = neigh_lookup(&amp;amp;arp_tbl, &amp;amp;ip_dst, primary_if-&amp;gt;soft_iface);
-/* check if it is a valid neigh entry */
-if (!n || !(n-&amp;gt;nud_state &amp;amp; NUD_CONNECTED))
-goto out;
-
-skb_new = arp_create(ARPOP_REPLY, ETH_P_ARP, ip_src,
-     primary_if-&amp;gt;soft_iface, ip_dst, hw_src, n-&amp;gt;ha,
-     hw_src);
-
-if (!skb_new)
-goto out;
-
-unicast_4addr_send_skb(skb_new, bat_priv, BAT_P_DAT_CACHE_REPLY);
-
-ret = true;
-out:
-if (n)
-neigh_release(n);
-if (primary_if)
-hardif_free_ref(primary_if);
-if (ret)
-kfree_skb(skb);
-return ret;
-}
-
-/* This function is meant to be invoked on an ARP reply packet going into the
- * soft interface. The related neighbour entry has to be updated and the DHT has
- * to be populated as well
- */
-bool dat_snoop_outgoing_arp_reply(struct bat_priv *bat_priv,
-  struct sk_buff *skb)
-{
-uint16_t type;
-uint32_t ip_src, ip_dst;
-uint8_t *hw_src, *hw_dst;
-bool ret = false;
-
-type = arp_get_type(bat_priv, skb, 0);
-if (type != ARPOP_REPLY)
-goto out;
-
-bat_dbg_arp(bat_priv, skb, type, 0, "Parsing outgoing ARP REPLY");
-
-hw_src = ARP_HW_SRC(skb, 0);
-ip_src = ARP_IP_SRC(skb, 0);
-hw_dst = ARP_HW_DST(skb, 0);
-ip_dst = ARP_IP_DST(skb, 0);
-
-arp_neigh_update(bat_priv, ip_src, hw_src);
-arp_neigh_update(bat_priv, ip_dst, hw_dst);
-
-/* Send the ARP reply to the candidates for both the IP addresses we
- * fetched from the ARP reply
- */
-dht_send_data(bat_priv, skb, ip_src, BAT_P_DAT_DHT_PUT);
-dht_send_data(bat_priv, skb, ip_dst, BAT_P_DAT_DHT_PUT);
-ret = true;
-out:
-return ret;
-}
-
-/* This function has to be invoked on an ARP reply coming into the soft
- * interface from the mesh network. The local table has to be updated
- */
-bool dat_snoop_incoming_arp_reply(struct bat_priv *bat_priv,
-  struct sk_buff *skb, int hdr_size)
-{
-uint16_t type;
-uint32_t ip_src, ip_dst;
-uint8_t *hw_src, *hw_dst;
-bool ret = false;
-
-type = arp_get_type(bat_priv, skb, hdr_size);
-if (type != ARPOP_REPLY)
-goto out;
-
-bat_dbg_arp(bat_priv, skb, type, hdr_size,
-    "Parsing incoming ARP REPLY");
-
-hw_src = ARP_HW_SRC(skb, hdr_size);
-ip_src = ARP_IP_SRC(skb, hdr_size);
-hw_dst = ARP_HW_DST(skb, hdr_size);
-ip_dst = ARP_IP_DST(skb, hdr_size);
-
-/* Update our internal cache with both the IP addresses we fetched from
- * the ARP reply
- */
-arp_neigh_update(bat_priv, ip_src, hw_src);
-arp_neigh_update(bat_priv, ip_dst, hw_dst);
-
-/* if this REPLY is directed to a client of mine, let's deliver the
- * packet to the interface
- */
-ret = !is_my_client(bat_priv, hw_dst);
-out:
-/* if ret == false packet has to be delivered to the interface */
-return ret;
-}
-
-bool dat_drop_broadcast_packet(struct bat_priv *bat_priv,
-       struct forw_packet *forw_packet)
-{
-struct neighbour *n;
-
-/* If this packet is an ARP_REQUEST and we already have the information
- * that it is going to ask, we can drop the packet
- */
-if (!forw_packet-&amp;gt;num_packets &amp;amp;&amp;amp;
-    (ARPOP_REQUEST == arp_get_type(bat_priv, forw_packet-&amp;gt;skb,
-   sizeof(struct bcast_packet)))) {
-n = neigh_lookup(&amp;amp;arp_tbl,
- &amp;amp;ARP_IP_DST(forw_packet-&amp;gt;skb,
-     sizeof(struct bcast_packet)),
- forw_packet-&amp;gt;if_incoming-&amp;gt;soft_iface);
-/* check if we already know this neigh */
-if (n &amp;amp;&amp;amp; (n-&amp;gt;nud_state &amp;amp; NUD_CONNECTED)) {
-bat_dbg(DBG_DAT, bat_priv,
-"ARP Request for %pI4: fallback prevented\n",
-&amp;amp;ARP_IP_DST(forw_packet-&amp;gt;skb,
-    sizeof(struct bcast_packet)));
-return true;
-}
-
-bat_dbg(DBG_DAT, bat_priv, "ARP Request for %pI4: fallback\n",
-&amp;amp;ARP_IP_DST(forw_packet-&amp;gt;skb,
-    sizeof(struct bcast_packet)));
-}
-return false;
-}
-
-void arp_change_timeout(struct net_device *soft_iface, const char *name)
-{
-struct in_device *in_dev = in_dev_get(soft_iface);
-if (!in_dev) {
-pr_err("Unable to set ARP parameters for the batman interface '%s'\n",
-       name);
-return;
-}
-
-/* Introduce a delay in the ARP state-machine transactions. Entries
- * will be kept in the ARP table for the default time multiplied by 4
- */
-in_dev-&amp;gt;arp_parms-&amp;gt;base_reachable_time *= ARP_TIMEOUT_FACTOR;
-in_dev-&amp;gt;arp_parms-&amp;gt;gc_staletime *= ARP_TIMEOUT_FACTOR;
-in_dev-&amp;gt;arp_parms-&amp;gt;reachable_time *= ARP_TIMEOUT_FACTOR;
-
-in_dev_put(in_dev);
-}
diff --git a/distributed-arp-table.h b/distributed-arp-table.h
deleted file mode 100644
index 6c0acde..0000000
--- a/distributed-arp-table.h
+++ /dev/null
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,140 +0,0 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
-/*
- * Copyright (C) 2011-2012 B.A.T.M.A.N. contributors:
- *
- * Antonio Quartulli
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA
- *
- */
-
-#ifndef _NET_BATMAN_ADV_ARP_H_
-#define _NET_BATMAN_ADV_ARP_H_
-
-#ifdef CONFIG_BATMAN_ADV_DAT
-
-#include "types.h"
-#include "originator.h"
-
-#include &amp;lt;linux/if_arp.h&amp;gt;
-
-#define DAT_ADDR_MAX ((dat_addr_t)~(dat_addr_t)0)
-
-#define ARP_HW_SRC(skb, hdr_size) ((uint8_t *)(skb-&amp;gt;data + hdr_size) + \
-   ETH_HLEN + sizeof(struct arphdr))
-#define ARP_IP_SRC(skb, hdr_size) (*(uint32_t *)(ARP_HW_SRC(skb, hdr_size) + \
-   ETH_ALEN))
-#define ARP_HW_DST(skb, hdr_size) (ARP_HW_SRC(skb, hdr_size) + ETH_ALEN + 4)
-#define ARP_IP_DST(skb, hdr_size) (*(uint32_t *)(ARP_HW_SRC(skb, hdr_size) + \
-   ETH_ALEN * 2 + 4))
-
-bool dat_snoop_outgoing_arp_request(struct bat_priv *bat_priv,
-    struct sk_buff *skb);
-bool dat_snoop_incoming_arp_request(struct bat_priv *bat_priv,
-    struct sk_buff *skb, int hdr_size);
-bool dat_snoop_outgoing_arp_reply(struct bat_priv *bat_priv,
-  struct sk_buff *skb);
-bool dat_snoop_incoming_arp_reply(struct bat_priv *bat_priv,
-  struct sk_buff *skb, int hdr_size);
-bool dat_drop_broadcast_packet(struct bat_priv *bat_priv,
-       struct forw_packet *forw_packet);
-void arp_change_timeout(struct net_device *soft_iface, const char *name);
-
-/* hash function to choose an entry in a hash table of given size.
- * hash algorithm from http://en.wikipedia.org/wiki/Hash_table
- */
-static inline uint32_t hash_ipv4(const void *data, uint32_t size)
-{
-const unsigned char *key = data;
-uint32_t hash = 0;
-size_t i;
-
-for (i = 0; i &amp;lt; 4; i++) {
-hash += key[i];
-hash += (hash &amp;lt;&amp;lt; 10);
-hash ^= (hash &amp;gt;&amp;gt; 6);
-}
-
-hash += (hash &amp;lt;&amp;lt; 3);
-hash ^= (hash &amp;gt;&amp;gt; 11);
-hash += (hash &amp;lt;&amp;lt; 15);
-
-return hash % size;
-}
-
-static inline void dat_init_orig_node_dht_addr(struct orig_node *orig_node)
-{
-orig_node-&amp;gt;dht_addr = (dat_addr_t)choose_orig(orig_node-&amp;gt;orig,
-      DAT_ADDR_MAX);
-}
-
-static inline void dat_init_own_dht_addr(struct bat_priv *bat_priv,
- struct hard_iface *primary_if)
-{
-bat_priv-&amp;gt;dht_addr = (dat_addr_t)
-choose_orig(primary_if-&amp;gt;net_dev-&amp;gt;dev_addr,
-    DAT_ADDR_MAX);
-}
-
-#else
-
-static inline bool dat_snoop_outgoing_arp_request(struct bat_priv *bat_priv,
-  struct sk_buff *skb)
-{
-return false;
-}
-
-static inline bool dat_snoop_incoming_arp_request(struct bat_priv *bat_priv,
-  struct sk_buff *skb,
-  int hdr_size)
-{
-return false;
-}
-
-static inline bool dat_snoop_outgoing_arp_reply(struct bat_priv *bat_priv,
-struct sk_buff *skb)
-{
-return false;
-}
-
-static inline bool dat_snoop_incoming_arp_reply(struct bat_priv *bat_priv,
-struct sk_buff *skb,
-int hdr_size)
-{
-return false;
-}
-
-static inline bool dat_drop_broadcast_packet(struct bat_priv *bat_priv,
-     struct forw_packet *forw_packet)
-{
-return false;
-}
-
-static inline void dat_init_orig_node_dht_addr(struct orig_node *orig_node)
-{
-}
-
-static inline void dat_init_own_dht_addr(struct bat_priv *bat_priv,
- struct hard_iface *primary_if)
-{
-}
-
-static inline void arp_change_timeout(struct net_device *soft_iface,
-      const char *name)
-{
-}
-
-#endif /* CONFIG_BATMAN_ADV_DAT */
-
-#endif /* _NET_BATMAN_ADV_ARP_H_ */
diff --git a/gen-compat-autoconf.sh b/gen-compat-autoconf.sh
index 7ea42aa..7cf621b 100755
--- a/gen-compat-autoconf.sh
+++ b/gen-compat-autoconf.sh
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -38,7 +38,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; gen_config() {
 # write config variables
 gen_config 'CONFIG_BATMAN_ADV_DEBUG' ${CONFIG_BATMAN_ADV_DEBUG:="n"} &amp;gt;&amp;gt; "${TMP}"
 gen_config 'CONFIG_BATMAN_ADV_BLA' ${CONFIG_BATMAN_ADV_BLA:="y"} &amp;gt;&amp;gt; "${TMP}"
-gen_config 'CONFIG_BATMAN_ADV_DAT' ${CONFIG_BATMAN_ADV_DAT:="y"} &amp;gt;&amp;gt; "${TMP}"
 
 # only regenerate compat-autoconf.h when config was changed
 diff "${TMP}" "${TARGET}" &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 || cp "${TMP}" "${TARGET}"
diff --git a/hard-interface.c b/hard-interface.c
index 843caa7..ce78c6d 100644
--- a/hard-interface.c
+++ b/hard-interface.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -20,7 +20,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  */
 
 #include "main.h"
-#include "distributed-arp-table.h"
 #include "hard-interface.h"
 #include "soft-interface.h"
 #include "send.h"
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -113,8 +112,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void primary_if_update_addr(struct bat_priv *bat_priv,
 if (!primary_if)
 goto out;
 
-dat_init_own_dht_addr(bat_priv, primary_if);
-
 vis_packet = (struct vis_packet *)
 bat_priv-&amp;gt;my_vis_info-&amp;gt;skb_packet-&amp;gt;data;
 memcpy(vis_packet-&amp;gt;vis_orig, primary_if-&amp;gt;net_dev-&amp;gt;dev_addr, ETH_ALEN);
diff --git a/main.c b/main.c
index 9137aa0..083a299 100644
--- a/main.c
+++ b/main.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -268,8 +268,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void recv_handler_init(void)
 
 /* batman icmp packet */
 recv_packet_handler[BAT_ICMP] = recv_icmp_packet;
-/* unicast with 4 addresses packet */
-recv_packet_handler[BAT_UNICAST_4ADDR] = recv_unicast_packet;
 /* unicast packet */
 recv_packet_handler[BAT_UNICAST] = recv_unicast_packet;
 /* fragmented unicast packet */
diff --git a/main.h b/main.h
index 426a0d5..19e5881 100644
--- a/main.h
+++ b/main.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -67,15 +67,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 #define NUM_WORDS BITS_TO_LONGS(TQ_LOCAL_WINDOW_SIZE)
 
-/* msecs after which an ARP_REQUEST is sent in broadcast as fallback */
-#define ARP_REQ_DELAY 250
-/* numbers of originator to contact for any PUT/GET DHT operation */
-#define DHT_CANDIDATES_NUM 3
-/* Factor which default ARP timeout values of the soft_iface table are
- * multiplied by
- */
-#define ARP_TIMEOUT_FACTOR 4
-
 #define LOG_BUF_LEN 8192  /* has to be a power of 2 */
 
 #define VIS_INTERVAL 5000/* 5 seconds */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -120,9 +111,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; enum uev_type {
 
 #define GW_THRESHOLD50
 
-#define DHT_CANDIDATE_NOT_FOUND0
-#define DHT_CANDIDATE_ORIG1
-
 /* Debug Messages */
 #ifdef pr_fmt
 #undef pr_fmt
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -136,8 +124,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; enum dbg_level {
 DBG_ROUTES = 1 &amp;lt;&amp;lt; 1, /* route added / changed / deleted */
 DBG_TT   = 1 &amp;lt;&amp;lt; 2, /* translation table operations */
 DBG_BLA    = 1 &amp;lt;&amp;lt; 3, /* bridge loop avoidance */
-DBG_DAT    = 1 &amp;lt;&amp;lt; 4, /* snooped arp messages / dat operations */
-DBG_ALL    = 31
+DBG_ALL    = 15
 };
 
 /* Kernel headers */
diff --git a/originator.c b/originator.c
index c6a00b3..4114794 100644
--- a/originator.c
+++ b/originator.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -20,7 +20,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  */
 
 #include "main.h"
-#include "distributed-arp-table.h"
 #include "originator.h"
 #include "hash.h"
 #include "translation-table.h"
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -221,7 +220,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct orig_node *get_orig_node(struct bat_priv *bat_priv, const uint8_t *addr)
 orig_node-&amp;gt;tt_poss_change = false;
 orig_node-&amp;gt;bat_priv = bat_priv;
 memcpy(orig_node-&amp;gt;orig, addr, ETH_ALEN);
-dat_init_orig_node_dht_addr(orig_node);
 orig_node-&amp;gt;router = NULL;
 orig_node-&amp;gt;tt_crc = 0;
 atomic_set(&amp;amp;orig_node-&amp;gt;last_ttvn, 0);
diff --git a/packet.h b/packet.h
index 307dbb3..0ee1af7 100644
--- a/packet.h
+++ b/packet.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -25,22 +25,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #define ETH_P_BATMAN  0x4305/* unofficial/not registered Ethertype */
 
 enum bat_packettype {
-BAT_IV_OGM= 0x01,
-BAT_ICMP= 0x02,
-BAT_UNICAST= 0x03,
-BAT_BCAST= 0x04,
-BAT_VIS= 0x05,
-BAT_UNICAST_FRAG= 0x06,
-BAT_TT_QUERY= 0x07,
-BAT_ROAM_ADV= 0x08,
-BAT_UNICAST_4ADDR= 0x09
-};
-
-enum bat_subtype {
-BAT_P_DATA= 0x01,
-BAT_P_DAT_DHT_GET= 0x02,
-BAT_P_DAT_DHT_PUT= 0x03,
-BAT_P_DAT_CACHE_REPLY= 0x04
+BAT_IV_OGM = 0x01,
+BAT_ICMP = 0x02,
+BAT_UNICAST = 0x03,
+BAT_BCAST = 0x04,
+BAT_VIS = 0x05,
+BAT_UNICAST_FRAG = 0x06,
+BAT_TT_QUERY = 0x07,
+BAT_ROAM_ADV = 0x08
 };
 
 /* this file is included by batctl which needs these defines */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -168,12 +160,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct unicast_packet {
 uint8_t  dest[ETH_ALEN];
 } __packed;
 
-struct unicast_4addr_packet {
-struct unicast_packet u;
-uint8_t src[ETH_ALEN];
-uint8_t subtype;
-} __packed;
-
 struct unicast_frag_packet {
 struct batman_header header;
 uint8_t  ttvn; /* destination translation table version number */
diff --git a/routing.c b/routing.c
index 4f2059f..840e2c6 100644
--- a/routing.c
+++ b/routing.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -962,18 +962,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int recv_unicast_packet(struct sk_buff *skb, struct hard_iface *recv_if)
 struct unicast_packet *unicast_packet;
 int hdr_size = sizeof(*unicast_packet);
 
-unicast_packet = (struct unicast_packet *)skb-&amp;gt;data;
-
-/* the caller function should have already pulled 2 bytes */
-if (unicast_packet-&amp;gt;header.packet_type == BAT_UNICAST_4ADDR)
-hdr_size = sizeof(struct unicast_4addr_packet);
-
 if (check_unicast_packet(skb, hdr_size) &amp;lt; 0)
 return NET_RX_DROP;
 
 if (!check_unicast_ttvn(bat_priv, skb))
 return NET_RX_DROP;
 
+unicast_packet = (struct unicast_packet *)skb-&amp;gt;data;
+
 /* packet for me */
 if (is_my_mac(unicast_packet-&amp;gt;dest)) {
 interface_rx(recv_if-&amp;gt;soft_iface, skb, recv_if, hdr_size);
diff --git a/send.c b/send.c
index 815cc9c..f47299f 100644
--- a/send.c
+++ b/send.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -20,7 +20,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  */
 
 #include "main.h"
-#include "distributed-arp-table.h"
 #include "send.h"
 #include "routing.h"
 #include "translation-table.h"
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -275,9 +274,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void send_outstanding_bcast_packet(struct work_struct *work)
 if (atomic_read(&amp;amp;bat_priv-&amp;gt;mesh_state) == MESH_DEACTIVATING)
 goto out;
 
-if (dat_drop_broadcast_packet(bat_priv, forw_packet))
-goto out;
-
 /* rebroadcast packet */
 rcu_read_lock();
 list_for_each_entry_rcu(hard_iface, &amp;amp;hardif_list, list) {
diff --git a/soft-interface.c b/soft-interface.c
index b56dafd..6e2530b 100644
--- a/soft-interface.c
+++ b/soft-interface.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -22,7 +22,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #include "main.h"
 #include "soft-interface.h"
 #include "hard-interface.h"
-#include "distributed-arp-table.h"
 #include "routing.h"
 #include "send.h"
 #include "bat_debugfs.h"
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -137,7 +136,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int interface_tx(struct sk_buff *skb, struct net_device *soft_iface)
 int data_len = skb-&amp;gt;len, ret;
 short vid __maybe_unused = -1;
 bool do_bcast = false;
-unsigned long brd_delay = 1;
 
 if (atomic_read(&amp;amp;bat_priv-&amp;gt;mesh_state) != MESH_ACTIVE)
 goto dropped;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -199,9 +197,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int interface_tx(struct sk_buff *skb, struct net_device *soft_iface)
 if (!primary_if)
 goto dropped;
 
-if (dat_snoop_outgoing_arp_request(bat_priv, skb))
-brd_delay = msecs_to_jiffies(ARP_REQ_DELAY);
-
 if (my_skb_head_push(skb, sizeof(*bcast_packet)) &amp;lt; 0)
 goto dropped;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -221,7 +216,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int interface_tx(struct sk_buff *skb, struct net_device *soft_iface)
 bcast_packet-&amp;gt;seqno =
 htonl(atomic_inc_return(&amp;amp;bat_priv-&amp;gt;bcast_seqno));
 
-add_bcast_packet_to_list(bat_priv, skb, brd_delay);
+add_bcast_packet_to_list(bat_priv, skb, 1);
 
 /* a copy is stored in the bcast list, therefore removing
  * the original skb. */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -235,8 +230,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int interface_tx(struct sk_buff *skb, struct net_device *soft_iface)
 goto dropped;
 }
 
-dat_snoop_outgoing_arp_reply(bat_priv, skb);
-
 ret = unicast_send_skb(skb, bat_priv);
 if (ret != 0)
 goto dropped_freed;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -269,12 +262,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void interface_rx(struct net_device *soft_iface,
 if (!pskb_may_pull(skb, hdr_size))
 goto dropped;
 
-if (dat_snoop_incoming_arp_request(bat_priv, skb, hdr_size))
-goto out;
-
-if (dat_snoop_incoming_arp_reply(bat_priv, skb, hdr_size))
-goto out;
-
 skb_pull_rcsum(skb, hdr_size);
 skb_reset_mac_header(skb);
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -381,8 +368,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct net_device *softif_create(const char *name)
 goto free_soft_iface;
 }
 
-arp_change_timeout(soft_iface, name);
-
 bat_priv = netdev_priv(soft_iface);
 
 atomic_set(&amp;amp;bat_priv-&amp;gt;aggregated_ogms, 1);
diff --git a/types.h b/types.h
index 6474324..61308e8 100644
--- a/types.h
+++ b/types.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -27,17 +27,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #include "packet.h"
 #include "bitarray.h"
 
-#ifdef CONFIG_BATMAN_ADV_DAT
-
-/* dat_addr_t is the type used for all DHT addresses. If it is changed,
- * DAT_ADDR_MAX is changed as well.
- *
- * *Please be careful: dat_addr_t must be UNSIGNED*
- */
-#define dat_addr_t uint16_t
-
-#endif /* CONFIG_BATMAN_ADV_DAT */
-
 #define BAT_HEADER_LEN (ETH_HLEN + \
 ((sizeof(struct unicast_packet) &amp;gt; sizeof(struct bcast_packet) ? \
  sizeof(struct unicast_packet) : \
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -78,9 +67,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct hard_iface {
 struct orig_node {
 uint8_t orig[ETH_ALEN];
 uint8_t primary_addr[ETH_ALEN];
-#ifdef CONFIG_BATMAN_ADV_DAT
-dat_addr_t dht_addr;
-#endif
 struct neigh_node __rcu *router; /* rcu protected pointer */
 unsigned long *bcast_own;
 uint8_t *bcast_own_sum;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -235,9 +221,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct bat_priv {
 struct gw_node __rcu *curr_gw;  /* rcu protected pointer */
 atomic_t gw_reselect;
 struct hard_iface __rcu *primary_if;  /* rcu protected pointer */
-#ifdef CONFIG_BATMAN_ADV_DAT
-dat_addr_t dht_addr;
-#endif
 struct vis_info *my_vis_info;
 struct bat_algo_ops *bat_algo_ops;
 };
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -411,9 +394,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct bat_algo_ops {
 void (*bat_ogm_emit)(struct forw_packet *forw_packet);
 };
 
-struct dht_candidate {
-int type;
-struct orig_node *orig_node;
-};
-
 #endif /* _NET_BATMAN_ADV_TYPES_H_ */
diff --git a/unicast.c b/unicast.c
index e5c7999..74175c2 100644
--- a/unicast.c
+++ b/unicast.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -283,78 +283,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 return ret;
 }
 
-static bool pull_and_fill_unicast(struct sk_buff *skb, int hdr_size,
-  struct orig_node *orig_node)
-{
-struct unicast_packet *unicast_packet;
-
-if (my_skb_head_push(skb, hdr_size) &amp;lt; 0)
-return false;
-
-unicast_packet = (struct unicast_packet *)skb-&amp;gt;data;
-unicast_packet-&amp;gt;header.version = COMPAT_VERSION;
-/* batman packet type: unicast */
-unicast_packet-&amp;gt;header.packet_type = BAT_UNICAST;
-/* set unicast ttl */
-unicast_packet-&amp;gt;header.ttl = TTL;
-/* copy the destination for faster routing */
-memcpy(unicast_packet-&amp;gt;dest, orig_node-&amp;gt;orig, ETH_ALEN);
-/* set the destination tt version number */
-unicast_packet-&amp;gt;ttvn =
-(uint8_t)atomic_read(&amp;amp;orig_node-&amp;gt;last_ttvn);
-
-return true;
-}
-
-static bool prepare_unicast_packet(struct sk_buff *skb,
-   struct orig_node *orig_node)
-{
-return pull_and_fill_unicast(skb, sizeof(struct unicast_packet),
-     orig_node);
-}
-
-bool prepare_unicast_4addr_packet(struct bat_priv *bat_priv,
-  struct sk_buff *skb,
-  struct orig_node *orig_node,
-  int packet_subtype)
-{
-struct hard_iface *primary_if;
-struct unicast_4addr_packet *unicast_4addr_packet;
-bool ret = false;
-
-primary_if = primary_if_get_selected(bat_priv);
-if (!primary_if)
-goto out;
-
-/* pull the header space and fill the unicast_packet substructure.
- * We can do that because the first member of the unicast_4addr_packet
- * is of type struct unicast_packet
- */
-if (!pull_and_fill_unicast(skb, sizeof(*unicast_4addr_packet),
-   orig_node))
-goto out;
-
-unicast_4addr_packet = (struct unicast_4addr_packet *)skb-&amp;gt;data;
-unicast_4addr_packet-&amp;gt;u.header.packet_type = BAT_UNICAST_4ADDR;
-memcpy(unicast_4addr_packet-&amp;gt;src, primary_if-&amp;gt;net_dev-&amp;gt;dev_addr,
-       ETH_ALEN);
-unicast_4addr_packet-&amp;gt;subtype = packet_subtype;
-
-ret = true;
-out:
-if (primary_if)
-hardif_free_ref(primary_if);
-return ret;
-}
-
-int unicast_generic_send_skb(struct sk_buff *skb, struct bat_priv *bat_priv,
-     int packet_type, int packet_subtype)
+int unicast_send_skb(struct sk_buff *skb, struct bat_priv *bat_priv)
 {
 struct ethhdr *ethhdr = (struct ethhdr *)skb-&amp;gt;data;
+struct unicast_packet *unicast_packet;
 struct orig_node *orig_node;
 struct neigh_node *neigh_node;
 int data_len = skb-&amp;gt;len;
-struct unicast_packet *unicast_packet;
 int ret = 1;
 
 /* get routing information */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -368,6 +303,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int unicast_generic_send_skb(struct sk_buff *skb, struct bat_priv *bat_priv,
  * returns NULL in case of AP isolation */
 orig_node = transtable_search(bat_priv, ethhdr-&amp;gt;h_source,
       ethhdr-&amp;gt;h_dest);
+
 find_router:
 /**
  * find_router():
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -375,26 +311,26 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; find_router:
  *  - increases neigh_nodes refcount if found.
  */
 neigh_node = find_router(bat_priv, orig_node, NULL);
+
 if (!neigh_node)
 goto out;
 
-switch (packet_type) {
-case BAT_UNICAST:
-prepare_unicast_packet(skb, orig_node);
-break;
-case BAT_UNICAST_4ADDR:
-prepare_unicast_4addr_packet(bat_priv, skb, orig_node,
-     packet_subtype);
-break;
-default:
-/* this function supports UNICAST and UNICAST_4ADDR only. It
- * should never be invoked with any other packet type
- */
+if (my_skb_head_push(skb, sizeof(*unicast_packet)) &amp;lt; 0)
 goto out;
-}
 
 unicast_packet = (struct unicast_packet *)skb-&amp;gt;data;
 
+unicast_packet-&amp;gt;header.version = COMPAT_VERSION;
+/* batman packet type: unicast */
+unicast_packet-&amp;gt;header.packet_type = BAT_UNICAST;
+/* set unicast ttl */
+unicast_packet-&amp;gt;header.ttl = TTL;
+/* copy the destination for faster routing */
+memcpy(unicast_packet-&amp;gt;dest, orig_node-&amp;gt;orig, ETH_ALEN);
+/* set the destination tt version number */
+unicast_packet-&amp;gt;ttvn =
+(uint8_t)atomic_read(&amp;amp;orig_node-&amp;gt;last_ttvn);
+
 /* inform the destination node that we are still missing a correct route
  * for this client. The destination will receive this packet and will
  * try to reroute it because the ttvn contained in the header is less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -403,9 +339,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; find_router:
 if (tt_global_client_is_roaming(bat_priv, ethhdr-&amp;gt;h_dest))
 unicast_packet-&amp;gt;ttvn = unicast_packet-&amp;gt;ttvn - 1;
 
-/* fragmentation mechanism only works for UNICAST (now) */
-if (packet_type == BAT_UNICAST &amp;amp;&amp;amp;
-    atomic_read(&amp;amp;bat_priv-&amp;gt;fragmentation) &amp;amp;&amp;amp;
+if (atomic_read(&amp;amp;bat_priv-&amp;gt;fragmentation) &amp;amp;&amp;amp;
     data_len + sizeof(*unicast_packet) &amp;gt;
 neigh_node-&amp;gt;if_incoming-&amp;gt;net_dev-&amp;gt;mtu) {
 /* send frag skb decreases ttl */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -417,6 +351,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; find_router:
 
 send_skb_packet(skb, neigh_node-&amp;gt;if_incoming, neigh_node-&amp;gt;addr);
 ret = 0;
+goto out;
 
 out:
 if (neigh_node)
diff --git a/unicast.h b/unicast.h
index e15aa62..a9faf6b 100644
--- a/unicast.h
+++ b/unicast.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -30,28 +30,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 int frag_reassemble_skb(struct sk_buff *skb, struct bat_priv *bat_priv,
 struct sk_buff **new_skb);
 void frag_list_free(struct list_head *head);
+int unicast_send_skb(struct sk_buff *skb, struct bat_priv *bat_priv);
 int frag_send_skb(struct sk_buff *skb, struct bat_priv *bat_priv,
   struct hard_iface *hard_iface, const uint8_t dstaddr[]);
-bool prepare_unicast_4addr_packet(struct bat_priv *bat_priv,
-  struct sk_buff *skb,
-  struct orig_node *orig_node,
-  int packet_subtype);
-int unicast_generic_send_skb(struct sk_buff *skb, struct bat_priv *bat_priv,
-     int packet_type, int packet_subtype);
-
-static inline int unicast_send_skb(struct sk_buff *skb,
-   struct bat_priv *bat_priv)
-{
-return unicast_generic_send_skb(skb, bat_priv, BAT_UNICAST, 0);
-}
-
-static inline int unicast_4addr_send_skb(struct sk_buff *skb,
- struct bat_priv *bat_priv,
- int packet_subtype)
-{
-return unicast_generic_send_skb(skb, bat_priv, BAT_UNICAST_4ADDR,
-packet_subtype);
-}
 
 static inline int frag_can_reassemble(const struct sk_buff *skb, int mtu)
 {
&lt;/pre&gt;</description>
    <dc:creator>Sven Eckelmann</dc:creator>
    <dc:date>2012-05-17T15:18:33</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.org.freifunk.batman/7152">
    <title>Remaining cleanup/prefixing patches</title>
    <link>http://comments.gmane.org/gmane.org.freifunk.batman/7152</link>
    <description>&lt;pre&gt;Hi,

it seems that just too many changes were done and now all were committed in 
the order or the version that I send to the mailinglist. Therefore, I would 
ask to ignore all my remaining patches and wait for the the complete list of 
patches not yet committed. I will send them to this mailing list in some 
hours.

Thanks,
Sven&lt;/pre&gt;</description>
    <dc:creator>Sven Eckelmann</dc:creator>
    <dc:date>2012-05-16T17:38:28</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.org.freifunk.batman/7143">
    <title>[PATCH] batman-adv: Correctly check return valuefrom debugfs_create_dir</title>
    <link>http://comments.gmane.org/gmane.org.freifunk.batman/7143</link>
    <description>&lt;pre&gt;The setup code in batadv_socket_setup() and debug_log_setup() wrongly
assumes that debugfs_create_file() returns !0 on error. Since it
actually returns a pointer on success[1], the following check should
be inverted.

Also, use the return value from the two setup functions in
batadv_debugfs_add_meshif().

[1] http://www.fsl.cs.sunysb.edu/kernel-api/re464.html

Signed-off-by: Martin Hundebøll &amp;lt;martin-SHBFXCSm21MJGwgDXS7ZQA&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
---
 bat_debugfs.c |   11 +++++++----
 icmp_socket.c |    4 ++--
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/bat_debugfs.c b/bat_debugfs.c
index cd636db..bd9325d 100644
--- a/bat_debugfs.c
+++ b/bat_debugfs.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -193,13 +193,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int debug_log_setup(struct bat_priv *bat_priv)
 
 d = debugfs_create_file("log", S_IFREG | S_IRUSR,
 bat_priv-&amp;gt;debug_dir, bat_priv, &amp;amp;log_fops);
-if (d)
+if (!d)
 goto err;
 
 return 0;
 
 err:
-return 1;
+return -ENOMEM;
 }
 
 static void debug_log_cleanup(struct bat_priv *bat_priv)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -347,8 +347,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int batadv_debugfs_add_meshif(struct net_device *dev)
 if (!bat_priv-&amp;gt;debug_dir)
 goto out;
 
-batadv_socket_setup(bat_priv);
-debug_log_setup(bat_priv);
+if (batadv_socket_setup(bat_priv))
+goto rem_attr;
+
+if (debug_log_setup(bat_priv))
+goto rem_attr;
 
 for (bat_debug = mesh_debuginfos; *bat_debug; ++bat_debug) {
 file = debugfs_create_file(((*bat_debug)-&amp;gt;attr).name,
diff --git a/icmp_socket.c b/icmp_socket.c
index 3fad5aa..40c5e18 100644
--- a/icmp_socket.c
+++ b/icmp_socket.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -283,13 +283,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int batadv_socket_setup(struct bat_priv *bat_priv)
 
 d = debugfs_create_file(ICMP_SOCKET, S_IFREG | S_IWUSR | S_IRUSR,
 bat_priv-&amp;gt;debug_dir, bat_priv, &amp;amp;fops);
-if (d)
+if (!d)
 goto err;
 
 return 0;
 
 err:
-return 1;
+return -ENOMEM;
 }
 
 static void bat_socket_add_packet(struct socket_client *socket_client,
&lt;/pre&gt;</description>
    <dc:creator>Martin Hundebøll</dc:creator>
    <dc:date>2012-05-15T22:06:20</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.org.freifunk.batman/7124">
    <title>Some problems with batman-adv</title>
    <link>http://comments.gmane.org/gmane.org.freifunk.batman/7124</link>
    <description>&lt;pre&gt;Hello,

i try to set up a ad-hoc-mesh network with batman-adv.

There are three test-nodes with following configuration:

Nvidia Tegra 2 Dual Core ARM-Cortex A9 Processor with Linux 2.6.36.2
USB-Wifi Dongle with Ralink 5370 Chipset
Ralink rt5370sta driver kernel module
batman-adv 2012.1.0 (also tried with 2012.0.0)

I've set up the ad-hoc network with WPA-Encryption. This is working
fine. I can access all nodes if i configure the ra0 (ralink wifi)
interface with static ip addresses. I've done this for testing purpose
only. Normally only the bat0 interface has an ip address.

After wireless connection is established I activate the batman-adv
interface.

Example from first node:
modprobe batman-adv
batctl if add ra0                                                   
ifconfig bat0 up                                                      
ifconfig bat0 192.168.50.1 netmask 255.255.255.0
ifconfig bat0 mtu 1472

After booting up all nodes "batctl o" returns:
# batctl o
[B.A.T.M.A.N. adv 2012.1.0, MainIF/MAC: ra0/80:1f:02:38:7a:bf (bat0)]
  Originator      last-seen (#/255)           Nexthop [outgoingIF]:
Potential nexthops ...
00:0f:c9:22:00:17    0.020s   (248) 00:0f:c9:22:00:17 [       ra0]:
00:0f:c9:22:11:78 (245) 00:0f:c9:22:00:17 (248)
00:0f:c9:22:11:78    0.560s   (255) 00:0f:c9:22:11:78 [       ra0]:
00:0f:c9:22:00:17 (230) 00:0f:c9:22:11:78 (255)

So far everything looks fine. But if i try to connect to the other nodes
i mostly get no answers. No ping reply, no ssh or http connection. But
sometimes it works for a couple of minutes.
I also tried to ping with batctl but got unstable results:
first time everything looks good:

# batctl ping 00:0f:c9:22:00:17
PING 00:0f:c9:22:00:17 (00:0f:c9:22:00:17) 20(48) bytes of data
20 bytes from 00:0f:c9:22:00:17 icmp_seq=1 ttl=50 time=6.37 ms
20 bytes from 00:0f:c9:22:00:17 icmp_seq=2 ttl=50 time=13.22 ms
20 bytes from 00:0f:c9:22:00:17 icmp_seq=3 ttl=50 time=9.08 ms
^C--- 00:0f:c9:22:00:17 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss
rtt min/avg/max/mdev = 6.373/9.560/13.225/2.818 ms


another try a few moments later did not work:
# batctl ping 00:0f:c9:22:00:17
PING 00:0f:c9:22:00:17 (00:0f:c9:22:00:17) 20(48) bytes of data
Reply from host 00:0f:c9:22:00:17 timed out
Reply from host 00:0f:c9:22:00:17 timed out
Reply from host 00:0f:c9:22:00:17 timed out
Reply from host 00:0f:c9:22:00:17 timed out
^C--- 00:0f:c9:22:00:17 ping statistics ---
4 packets transmitted, 0 received, 100% packet loss
rtt min/avg/max/mdev = 0.000/0.000/0.000/0.000 ms

i tried many different things (changing MTU, Wifi channel, encryption
SSID, batman-adv version,...) but the result was the same everytime.

Some further information:
# iwconfig 
lo        no wireless extensions.
dummy0    no wireless extensions.
usb0      no wireless extensions.
eth0      no wireless extensions.
ra0       Ralink STA  ESSID:"ceR{)|n$v#pp|fJX"  Nickname:"RT2870STA"
          Mode:Ad-Hoc  Frequency=2.442 GHz  Cell: DE:BB:8C:08:B8:EC   
          Bit Rate=36 Mb/s   
          RTS thr:off   Fragment thr:off
          Encryption key:D83E-521A-8B9F-7C95-3ACE-D477-****-****
Security mode:open
          Link Quality=52/100  Signal level:-71 dBm  Noise level:-71 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0
bat0      no wireless extensions.

#ifconfig ra0
ra0       Link encap:Ethernet  HWaddr 80:1F:02:38:7A:BF  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:11 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:258771 (252.7 KiB)  TX bytes:13544 (13.2 KiB)

#ifconfig bat0
bat0      Link encap:Ethernet  HWaddr 02:DA:94:22:E1:67  
          inet addr:192.168.50.60  Bcast:192.168.50.255
Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1472  Metric:1
          RX packets:5 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:434 (434.0 B)  TX bytes:686 (686.0 B)




Do you have any ideas what I can try to solve my problem or where to
search for a solution?

Thanks for any response.

Greetings,
&lt;/pre&gt;</description>
    <dc:creator>Jochen Jägers</dc:creator>
    <dc:date>2012-05-14T15:53:27</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.org.freifunk.batman/7108">
    <title>[PATCH] batman-adv: beautify tt_global_add()argument list</title>
    <link>http://comments.gmane.org/gmane.org.freifunk.batman/7108</link>
    <description>&lt;pre&gt;Instead of adding a new bool argument each time it is needed, it is better (and
simpler) to pass an 8bit flag argument which contains all the needed flags

Signed-off-by: Antonio Quartulli &amp;lt;ordex-GaUfNO9RBHfsrOwW+9ziJQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
---
 routing.c           |    2 +-
 translation-table.c |   19 +++++++------------
 translation-table.h |    3 +--
 3 files changed, 9 insertions(+), 15 deletions(-)

diff --git a/routing.c b/routing.c
index e4d13dc..6c50b1d 100644
--- a/routing.c
+++ b/routing.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -686,7 +686,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int recv_roam_adv(struct sk_buff *skb, struct hard_iface *recv_if)
 roam_adv_packet-&amp;gt;src, roam_adv_packet-&amp;gt;client);
 
 tt_global_add(bat_priv, orig_node, roam_adv_packet-&amp;gt;client,
-      atomic_read(&amp;amp;orig_node-&amp;gt;last_ttvn) + 1, true, false);
+      TT_CLIENT_ROAM, atomic_read(&amp;amp;orig_node-&amp;gt;last_ttvn) + 1);
 
 /* Roaming phase starts: I have new information but the ttvn has not
  * been incremented yet. This flag will make me check all the incoming
diff --git a/translation-table.c b/translation-table.c
index c134a29..e5b6f25 100644
--- a/translation-table.c
+++ b/translation-table.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -647,24 +647,22 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void tt_global_add_orig_entry(struct tt_global_entry *tt_global_entry,
 
 /* caller must hold orig_node refcount */
 int tt_global_add(struct bat_priv *bat_priv, struct orig_node *orig_node,
-  const unsigned char *tt_addr, uint8_t ttvn, bool roaming,
-  bool wifi)
+  const unsigned char *tt_addr, uint8_t flags, uint8_t ttvn)
 {
 struct tt_global_entry *tt_global_entry = NULL;
+struct tt_orig_list_entry *orig_entry;
 int ret = 0;
 int hash_added;
 
 tt_global_entry = tt_global_hash_find(bat_priv, tt_addr);
 
 if (!tt_global_entry) {
-tt_global_entry = kzalloc(sizeof(*tt_global_entry),
-  GFP_ATOMIC);
+tt_global_entry = kzalloc(sizeof(*tt_global_entry), GFP_ATOMIC);
 if (!tt_global_entry)
 goto out;
 
 memcpy(tt_global_entry-&amp;gt;common.addr, tt_addr, ETH_ALEN);
-
-tt_global_entry-&amp;gt;common.flags = NO_FLAGS;
+tt_global_entry-&amp;gt;common.flags = flags;
 tt_global_entry-&amp;gt;roam_at = 0;
 atomic_set(&amp;amp;tt_global_entry-&amp;gt;common.refcount, 2);
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -703,9 +701,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int tt_global_add(struct bat_priv *bat_priv, struct orig_node *orig_node,
  ttvn);
 }
 
-if (wifi)
-tt_global_entry-&amp;gt;common.flags |= TT_CLIENT_WIFI;
-
 bat_dbg(DBG_TT, bat_priv,
 "Creating new global tt entry: %pM (via %pM)\n",
 tt_global_entry-&amp;gt;common.addr, orig_node-&amp;gt;orig);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -713,7 +708,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int tt_global_add(struct bat_priv *bat_priv, struct orig_node *orig_node,
 out_remove:
 /* remove address from local hash if present */
 tt_local_remove(bat_priv, tt_global_entry-&amp;gt;common.addr,
-"global tt received", roaming);
+"global tt received", flags &amp;amp; TT_CLIENT_ROAM);
 ret = 1;
 out:
 if (tt_global_entry)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1733,9 +1728,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void _tt_update_changes(struct bat_priv *bat_priv,
       (tt_change + i)-&amp;gt;flags &amp;amp; TT_CLIENT_ROAM);
 else
 if (!tt_global_add(bat_priv, orig_node,
-   (tt_change + i)-&amp;gt;addr, ttvn, false,
+   (tt_change + i)-&amp;gt;addr,
    (tt_change + i)-&amp;gt;flags &amp;amp;
-TT_CLIENT_WIFI))
+TT_CLIENT_WIFI, ttvn))
 /* In case of problem while storing a
  * global_entry, we stop the updating
  * procedure without committing the
diff --git a/translation-table.h b/translation-table.h
index d6af2ba..d32f975 100644
--- a/translation-table.h
+++ b/translation-table.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -32,8 +32,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int tt_local_seq_print_text(struct seq_file *seq, void *offset);
 void tt_global_add_orig(struct bat_priv *bat_priv, struct orig_node *orig_node,
 const unsigned char *tt_buff, int tt_buff_len);
 int tt_global_add(struct bat_priv *bat_priv, struct orig_node *orig_node,
-  const unsigned char *addr, uint8_t ttvn, bool roaming,
-  bool wifi);
+  const unsigned char *addr, uint8_t flags, uint8_t ttvn);
 int tt_global_seq_print_text(struct seq_file *seq, void *offset);
 void tt_global_del_orig(struct bat_priv *bat_priv,
 struct orig_node *orig_node, const char *message);
&lt;/pre&gt;</description>
    <dc:creator>Antonio Quartulli</dc:creator>
    <dc:date>2012-05-14T07:44:10</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.org.freifunk.batman/7107">
    <title>[PATCH] batman-adv: clear ADD+DEL (and viceversa)events in the same orig-interval</title>
    <link>http://comments.gmane.org/gmane.org.freifunk.batman/7107</link>
    <description>&lt;pre&gt;During an OGM-interval (time between two different OGM sendings) the same client
could roam away and then roam back to us. In this case the node would add two
events to the events list (that is going to be sent appended to the next OGM). A
DEL one and an ADD one. Obviously they will only increase the overhead (either in
the air and on the receiver side) and eventually trigger wrong states/events
without producing any real effect.

For this reason we can safely delete any ADD event with its related DEL one.

Signed-off-by: Antonio Quartulli &amp;lt;ordex-GaUfNO9RBHfsrOwW+9ziJQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
---
 translation-table.c |   41 ++++++++++++++++++++++++++++++++++++++---
 1 file changed, 38 insertions(+), 3 deletions(-)

diff --git a/translation-table.c b/translation-table.c
index 2ecf3a2..c134a29 100644
--- a/translation-table.c
+++ b/translation-table.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -154,7 +154,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void tt_orig_list_entry_free_ref(struct tt_orig_list_entry *orig_entry)
 static void tt_local_event(struct bat_priv *bat_priv, const uint8_t *addr,
    uint8_t flags)
 {
-struct tt_change_node *tt_change_node;
+struct tt_change_node *tt_change_node, *entry, *safe;
+bool event_removed = false;
+bool del_op_requested, del_op_entry;
 
 tt_change_node = kmalloc(sizeof(*tt_change_node), GFP_ATOMIC);
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -164,13 +166,46 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void tt_local_event(struct bat_priv *bat_priv, const uint8_t *addr,
 tt_change_node-&amp;gt;change.flags = flags;
 memcpy(tt_change_node-&amp;gt;change.addr, addr, ETH_ALEN);
 
+del_op_requested = flags &amp;amp; TT_CLIENT_DEL;
+
+/* check for ADD+DEL or DEL+ADD events */
 spin_lock_bh(&amp;amp;bat_priv-&amp;gt;tt_changes_list_lock);
+list_for_each_entry_safe(entry, safe, &amp;amp;bat_priv-&amp;gt;tt_changes_list,
+ list) {
+if (!compare_eth(entry-&amp;gt;change.addr, addr))
+continue;
+
+/* DEL+ADD in the same orig interval have no effect and can be
+ * removed to avoid silly behaviour on the receiver side. The
+ * other way around (ADD+DEL) can happen in case of roaming of
+ * a client still in the NEW state. Roaming of NEW clients is
+ * now possible due to automatically recognition of "temporary"
+ * clients
+ */
+del_op_entry = entry-&amp;gt;change.flags &amp;amp; TT_CLIENT_DEL;
+if (!del_op_requested &amp;amp;&amp;amp; del_op_entry)
+goto del;
+else if (del_op_requested &amp;amp;&amp;amp; !del_op_entry)
+goto del;
+else
+continue;
+del:
+list_del(&amp;amp;entry-&amp;gt;list);
+kfree(entry);
+event_removed = true;
+goto unlock;
+}
+
 /* track the change in the OGMinterval list */
 list_add_tail(&amp;amp;tt_change_node-&amp;gt;list, &amp;amp;bat_priv-&amp;gt;tt_changes_list);
-atomic_inc(&amp;amp;bat_priv-&amp;gt;tt_local_changes);
+
+unlock:
 spin_unlock_bh(&amp;amp;bat_priv-&amp;gt;tt_changes_list_lock);
 
-atomic_set(&amp;amp;bat_priv-&amp;gt;tt_ogm_append_cnt, 0);
+if (event_removed)
+atomic_dec(&amp;amp;bat_priv-&amp;gt;tt_local_changes);
+else
+atomic_inc(&amp;amp;bat_priv-&amp;gt;tt_local_changes);
 }
 
 int tt_len(int changes_num)
&lt;/pre&gt;</description>
    <dc:creator>Antonio Quartulli</dc:creator>
    <dc:date>2012-05-14T07:32:42</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.org.freifunk.batman/7098">
    <title>pull request: batman-adv 2012-05-14</title>
    <link>http://comments.gmane.org/gmane.org.freifunk.batman/7098</link>
    <description>&lt;pre&gt;Hello David,

here is our last set of changes intended for net-next/linux-3.5.
In this patchset there are:

1) several minor cleanups and fixes
2) an optimisation that avoid to linearise the whole packet when not needed
3) an optimisation for client traffic rerouting after a roaming event.

Patches that modify the whole naming schema will be sent later for merging
with linux-3.6.

Thank you,
Antonio

The following changes since commit f96a8a0b78548c0ec06b0b4b438db6ee895d67e9:

  igb: Add Support for new i210/i211 devices. (2012-05-12 13:17:13 -0700)

are available in the git repository at:

  git://git.open-mesh.org/linux-merge.git tags/batman-adv-for-davem

for you to fetch changes up to 521251f2f5fa16747cc21e71580e404af855d140:

  batman-adv: unset the TT_CLIENT_PENDING flag if the new local entry already exists (2012-05-14 09:05:08 +0200)

----------------------------------------------------------------
Included changes:

* an improvement to avoid to linearise the whole received packet when not needed
* an improvement for client traffic rerouting after roaming
* a fix for the local translation table state-machine
* minor cleanups and fixes

----------------------------------------------------------------
Antonio Quartulli (3):
      batman-adv: avoid skb_linearise() if not needed
      batman-adv: improve unicast packet (re)routing
      batman-adv: unset the TT_CLIENT_PENDING flag if the new local entry already exists

Marek Lindner (2):
      batman-adv: prepare lq_update_lock to be shared among different protocols
      batman-adv: refactor window_protected to avoid unnecessary return statement

Sven Eckelmann (3):
      batman-adv: use shorter pr_warn instead of pr_warning
      batman-adv: Start new development cycle
      batman-adv: README cleanups

 Documentation/networking/batman-adv.txt |   11 +++++------
 net/batman-adv/bat_iv_ogm.c             |    9 ++++-----
 net/batman-adv/hard-interface.c         |    6 +++---
 net/batman-adv/main.h                   |    2 +-
 net/batman-adv/originator.c             |    1 +
 net/batman-adv/routing.c                |   27 ++++++++++++++++-----------
 net/batman-adv/send.c                   |    4 ++--
 net/batman-adv/translation-table.c      |   21 +++++++++++++++++++++
 net/batman-adv/translation-table.h      |    2 ++
 net/batman-adv/types.h                  |    2 +-
 net/batman-adv/unicast.c                |    8 ++++++++
 11 files changed, 64 insertions(+), 29 deletions(-)

&lt;/pre&gt;</description>
    <dc:creator>Antonio Quartulli</dc:creator>
    <dc:date>2012-05-14T07:17:30</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.org.freifunk.batman/7086">
    <title>[PATCH] batman-adv: Directly print to seq_file in vis</title>
    <link>http://comments.gmane.org/gmane.org.freifunk.batman/7086</link>
    <description>&lt;pre&gt;The vis output doesn't need to be buffered in an character buffer before it can
be send to the userspace program that reads from the vis debug file.

Signed-off-by: Sven Eckelmann &amp;lt;sven-KaDOiPu9UxWEi8DpZVb4nw&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
---
 vis.c |  228 ++++++++++++++++++++++++-----------------------------------------
 1 file changed, 83 insertions(+), 145 deletions(-)

diff --git a/vis.c b/vis.c
index 6b7a1c0..3095c41 100644
--- a/vis.c
+++ b/vis.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -140,72 +140,117 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void batadv_vis_data_insert_interface(const uint8_t *interface,
 hlist_add_head(&amp;amp;entry-&amp;gt;list, if_list);
 }
 
-static ssize_t batadv_vis_prim_sec(char *buff, const struct hlist_head *if_list)
+static void batadv_vis_data_read_prim_sec(struct seq_file *seq,
+  const struct hlist_head *if_list)
 {
 struct if_list_entry *entry;
 struct hlist_node *pos;
-size_t len = 0;
 
 hlist_for_each_entry(entry, pos, if_list, list) {
 if (entry-&amp;gt;primary)
-len += sprintf(buff + len, "PRIMARY, ");
+seq_printf(seq, "PRIMARY, ");
 else
-len += sprintf(buff + len,  "SEC %pM, ", entry-&amp;gt;addr);
+seq_printf(seq,  "SEC %pM, ", entry-&amp;gt;addr);
 }
-
-return len;
-}
-
-static size_t batadv_vis_cnt_prim_sec(struct hlist_head *if_list)
-{
-struct if_list_entry *entry;
-struct hlist_node *pos;
-size_t count = 0;
-
-hlist_for_each_entry(entry, pos, if_list, list) {
-if (entry-&amp;gt;primary)
-count += 9;
-else
-count += 23;
-}
-
-return count;
 }
 
 /* read an entry  */
-static ssize_t batadv_vis_data_read_entry(char *buff,
+static ssize_t batadv_vis_data_read_entry(struct seq_file *seq,
   const struct vis_info_entry *entry,
   const uint8_t *src, bool primary)
 {
-/* maximal length: max(4+17+2, 3+17+1+3+2) == 26 */
 if (primary &amp;amp;&amp;amp; entry-&amp;gt;quality == 0)
-return sprintf(buff, "TT %pM, ", entry-&amp;gt;dest);
+return seq_printf(seq, "TT %pM, ", entry-&amp;gt;dest);
 else if (batadv_compare_eth(entry-&amp;gt;src, src))
-return sprintf(buff, "TQ %pM %d, ", entry-&amp;gt;dest,
-       entry-&amp;gt;quality);
+return seq_printf(seq, "TQ %pM %d, ", entry-&amp;gt;dest,
+  entry-&amp;gt;quality);
 
 return 0;
 }
 
+static void batadv_vis_data_insert_interfaces(struct hlist_head *list,
+      struct vis_packet *packet,
+      struct vis_info_entry *entries)
+{
+int i;
+
+for (i = 0; i &amp;lt; packet-&amp;gt;entries; i++) {
+if (entries[i].quality == 0)
+continue;
+
+if (batadv_compare_eth(entries[i].src, packet-&amp;gt;vis_orig))
+continue;
+
+batadv_vis_data_insert_interface(entries[i].src, list, false);
+}
+}
+
+static void batadv_vis_data_read_entries(struct seq_file *seq,
+ struct hlist_head *list,
+ struct vis_packet *packet,
+ struct vis_info_entry *entries)
+{
+int i;
+struct if_list_entry *entry;
+struct hlist_node *pos;
+
+hlist_for_each_entry(entry, pos, list, list) {
+seq_printf(seq, "%pM,", entry-&amp;gt;addr);
+
+for (i = 0; i &amp;lt; packet-&amp;gt;entries; i++)
+batadv_vis_data_read_entry(seq, &amp;amp;entries[i],
+   entry-&amp;gt;addr, entry-&amp;gt;primary);
+
+/* add primary/secondary records */
+if (batadv_compare_eth(entry-&amp;gt;addr, packet-&amp;gt;vis_orig))
+batadv_vis_data_read_prim_sec(seq, list);
+
+seq_printf(seq, "\n");
+}
+}
+
+static void batadv_vis_seq_print_text_bucket(struct seq_file *seq,
+     const struct hlist_head *head)
+{
+struct hlist_node *node;
+struct vis_info *info;
+struct vis_packet *packet;
+uint8_t *entries_pos;
+struct vis_info_entry *entries;
+struct if_list_entry *entry;
+struct hlist_node *pos, *n;
+
+HLIST_HEAD(vis_if_list);
+
+hlist_for_each_entry_rcu(info, node, head, hash_entry) {
+packet = (struct vis_packet *)info-&amp;gt;skb_packet-&amp;gt;data;
+entries_pos = (uint8_t *)packet + sizeof(*packet);
+entries = (struct vis_info_entry *)entries_pos;
+
+batadv_vis_data_insert_interface(packet-&amp;gt;vis_orig, &amp;amp;vis_if_list,
+ true);
+batadv_vis_data_insert_interfaces(&amp;amp;vis_if_list, packet,
+  entries);
+batadv_vis_data_read_entries(seq, &amp;amp;vis_if_list, packet,
+     entries);
+
+hlist_for_each_entry_safe(entry, pos, n, &amp;amp;vis_if_list, list) {
+hlist_del(&amp;amp;entry-&amp;gt;list);
+kfree(entry);
+}
+}
+}
+
 int batadv_vis_seq_print_text(struct seq_file *seq, void *offset)
 {
 struct hard_iface *primary_if;
-struct hlist_node *node;
 struct hlist_head *head;
-struct vis_info *info;
-struct vis_packet *packet;
-struct vis_info_entry *entries;
 struct net_device *net_dev = (struct net_device *)seq-&amp;gt;private;
 struct bat_priv *bat_priv = netdev_priv(net_dev);
 struct hashtable_t *hash = bat_priv-&amp;gt;vis_hash;
-HLIST_HEAD(vis_if_list);
-struct if_list_entry *entry;
-struct hlist_node *pos, *n;
 uint32_t i;
-int j, ret = 0;
+int ret = 0;
 int vis_server = atomic_read(&amp;amp;bat_priv-&amp;gt;vis_mode);
-size_t buff_pos, buf_size;
-char *buff;
 
 primary_if = batadv_primary_if_get_selected(bat_priv);
 if (!primary_if)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -214,120 +259,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int batadv_vis_seq_print_text(struct seq_file *seq, void *offset)
 if (vis_server == VIS_TYPE_CLIENT_UPDATE)
 goto out;
 
-buf_size = 1;
-/* Estimate length */
 spin_lock_bh(&amp;amp;bat_priv-&amp;gt;vis_hash_lock);
 for (i = 0; i &amp;lt; hash-&amp;gt;size; i++) {
 head = &amp;amp;hash-&amp;gt;table[i];
-
-rcu_read_lock();
-hlist_for_each_entry_rcu(info, node, head, hash_entry) {
-packet = (struct vis_packet *)info-&amp;gt;skb_packet-&amp;gt;data;
-entries = (struct vis_info_entry *)
-((char *)packet + sizeof(*packet));
-
-batadv_vis_data_insert_interface(packet-&amp;gt;vis_orig,
- &amp;amp;vis_if_list, true);
-
-for (j = 0; j &amp;lt; packet-&amp;gt;entries; j++) {
-if (entries[j].quality == 0)
-continue;
-if (batadv_compare_eth(entries[j].src,
-       packet-&amp;gt;vis_orig))
-continue;
-batadv_vis_data_insert_interface(entries[j].src,
- &amp;amp;vis_if_list,
- false);
-}
-
-hlist_for_each_entry(entry, pos, &amp;amp;vis_if_list, list) {
-buf_size += 18 + 26 * packet-&amp;gt;entries;
-
-/* add primary/secondary records */
-if (batadv_compare_eth(entry-&amp;gt;addr,
-       packet-&amp;gt;vis_orig))
-buf_size +=
-  batadv_vis_cnt_prim_sec(&amp;amp;vis_if_list);
-
-buf_size += 1;
-}
-
-hlist_for_each_entry_safe(entry, pos, n, &amp;amp;vis_if_list,
-  list) {
-hlist_del(&amp;amp;entry-&amp;gt;list);
-kfree(entry);
-}
-}
-rcu_read_unlock();
+batadv_vis_seq_print_text_bucket(seq, head);
 }
-
-buff = kmalloc(buf_size, GFP_ATOMIC);
-if (!buff) {
-spin_unlock_bh(&amp;amp;bat_priv-&amp;gt;vis_hash_lock);
-ret = -ENOMEM;
-goto out;
-}
-buff[0] = '\0';
-buff_pos = 0;
-
-for (i = 0; i &amp;lt; hash-&amp;gt;size; i++) {
-head = &amp;amp;hash-&amp;gt;table[i];
-
-rcu_read_lock();
-hlist_for_each_entry_rcu(info, node, head, hash_entry) {
-packet = (struct vis_packet *)info-&amp;gt;skb_packet-&amp;gt;data;
-entries = (struct vis_info_entry *)
-((char *)packet + sizeof(*packet));
-
-batadv_vis_data_insert_interface(packet-&amp;gt;vis_orig,
- &amp;amp;vis_if_list, true);
-
-for (j = 0; j &amp;lt; packet-&amp;gt;entries; j++) {
-if (entries[j].quality == 0)
-continue;
-if (batadv_compare_eth(entries[j].src,
-       packet-&amp;gt;vis_orig))
-continue;
-batadv_vis_data_insert_interface(entries[j].src,
- &amp;amp;vis_if_list,
- false);
-}
-
-hlist_for_each_entry(entry, pos, &amp;amp;vis_if_list, list) {
-buff_pos += sprintf(buff + buff_pos, "%pM,",
-entry-&amp;gt;addr);
-
-for (j = 0; j &amp;lt; packet-&amp;gt;entries; j++)
-buff_pos += batadv_vis_data_read_entry(
-buff + buff_pos,
-&amp;amp;entries[j],
-entry-&amp;gt;addr,
-entry-&amp;gt;primary);
-
-/* add primary/secondary records */
-if (batadv_compare_eth(entry-&amp;gt;addr,
-       packet-&amp;gt;vis_orig))
-buff_pos +=
- batadv_vis_prim_sec(buff + buff_pos,
-     &amp;amp;vis_if_list);
-
-buff_pos += sprintf(buff + buff_pos, "\n");
-}
-
-hlist_for_each_entry_safe(entry, pos, n, &amp;amp;vis_if_list,
-  list) {
-hlist_del(&amp;amp;entry-&amp;gt;list);
-kfree(entry);
-}
-}
-rcu_read_unlock();
-}
-
 spin_unlock_bh(&amp;amp;bat_priv-&amp;gt;vis_hash_lock);
 
-seq_printf(seq, "%s", buff);
-kfree(buff);
-
 out:
 if (primary_if)
 batadv_hardif_free_ref(primary_if);
&lt;/pre&gt;</description>
    <dc:creator>Sven Eckelmann</dc:creator>
    <dc:date>2012-05-13T09:39:01</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.org.freifunk.batman/7084">
    <title>[PATCH 1/2] batman-adv: Replace simple function likedefines with functions</title>
    <link>http://comments.gmane.org/gmane.org.freifunk.batman/7084</link>
    <description>&lt;pre&gt;Signed-off-by: Sven Eckelmann &amp;lt;sven-KaDOiPu9UxWEi8DpZVb4nw&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
---
 bat_debugfs.c           |    5 +---
 distributed-arp-table.c |   75 +++++++++++++++++++++++++++++++++--------------
 distributed-arp-table.h |    8 -----
 main.h                  |   37 +++++++++++++++--------
 4 files changed, 79 insertions(+), 46 deletions(-)

diff --git a/bat_debugfs.c b/bat_debugfs.c
index 004d94f..b4d622b 100644
--- a/bat_debugfs.c
+++ b/bat_debugfs.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -74,16 +74,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int batadv_fdebug_log(struct debug_log *debug_log, const char *fmt, ...)
 return 0;
 }
 
-int batadv_debug_log(struct bat_priv *bat_priv, const char *fmt, ...)
+int batadv_debug_log(struct bat_priv *bat_priv, const char *fmt, va_list args)
 {
-va_list args;
 char tmp_log_buf[256];
 
-va_start(args, fmt);
 vscnprintf(tmp_log_buf, sizeof(tmp_log_buf), fmt, args);
 batadv_fdebug_log(bat_priv-&amp;gt;debug_log, "[%10u] %s",
   jiffies_to_msecs(jiffies), tmp_log_buf);
-va_end(args);
 
 return 0;
 }
diff --git a/distributed-arp-table.c b/distributed-arp-table.c
index 07ef1fe..ebe9969 100644
--- a/distributed-arp-table.c
+++ b/distributed-arp-table.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -32,6 +32,31 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #include "translation-table.h"
 #include "unicast.h"
 
+static uint8_t *batadv_arp_hw_src(struct sk_buff *skb, int hdr_size)
+{
+uint8_t *addr;
+
+addr = (uint8_t *)(skb-&amp;gt;data + hdr_size);
+addr += ETH_HLEN + sizeof(struct arphdr);
+
+return addr;
+}
+
+static __be32 batadv_arp_ip_src(struct sk_buff *skb, int hdr_size)
+{
+return *(__be32 *)(batadv_arp_hw_src(skb, hdr_size) + ETH_ALEN);
+}
+
+static uint8_t *batadv_arp_hw_dst(struct sk_buff *skb, int hdr_size)
+{
+return batadv_arp_hw_src(skb, hdr_size) + ETH_ALEN + 4;
+}
+
+static __be32 batadv_arp_ip_dst(struct sk_buff *skb, int hdr_size)
+{
+return *(__be32 *)(batadv_arp_hw_src(skb, hdr_size) + ETH_ALEN * 2 + 4);
+}
+
 /* hash function to choose an entry in a hash table of given size.
  * hash algorithm from http://en.wikipedia.org/wiki/Hash_table
  */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -60,14 +85,19 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void batadv_dbg_arp(struct bat_priv *bat_priv, struct sk_buff *skb,
    uint16_t type, int hdr_size, char *msg)
 {
 struct unicast_4addr_packet *unicast_4addr_packet;
+__be32 src_ip, dst_ip;
 
 if (msg)
 batadv_dbg(DBG_DAT, bat_priv, "%s\n", msg);
 
+src_ip = batadv_arp_ip_src(skb, hdr_size);
+dst_ip = batadv_arp_ip_dst(skb, hdr_size);
 batadv_dbg(DBG_DAT, bat_priv,
    "ARP MSG = [src: %pM-%pI4 dst: %pM-%pI4]\n",
-   ARP_HW_SRC(skb, hdr_size), &amp;amp;ARP_IP_SRC(skb, hdr_size),
-   ARP_HW_DST(skb, hdr_size), &amp;amp;ARP_IP_DST(skb, hdr_size));
+   batadv_arp_hw_src(skb, hdr_size),
+   &amp;amp;src_ip,
+   batadv_arp_hw_dst(skb, hdr_size),
+   &amp;amp;dst_ip);
 
 if (hdr_size == 0)
 return;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -383,8 +413,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static uint16_t batadv_arp_get_type(struct bat_priv *bat_priv,
 /* Check for bad reply/request. If the ARP message is not sane, DAT
  * will simply ignore it
  */
-ip_src = ARP_IP_SRC(skb, hdr_size);
-ip_dst = ARP_IP_DST(skb, hdr_size);
+ip_src = batadv_arp_ip_src(skb, hdr_size);
+ip_dst = batadv_arp_ip_dst(skb, hdr_size);
 if (ipv4_is_loopback(ip_src) || ipv4_is_multicast(ip_src) ||
     ipv4_is_loopback(ip_dst) || ipv4_is_multicast(ip_dst))
 goto out;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -418,9 +448,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; bool batadv_dat_snoop_outgoing_arp_request(struct bat_priv *bat_priv,
 
 batadv_dbg_arp(bat_priv, skb, type, 0, "Parsing outgoing ARP REQUEST");
 
-ip_src = ARP_IP_SRC(skb, 0);
-hw_src = ARP_HW_SRC(skb, 0);
-ip_dst = ARP_IP_DST(skb, 0);
+ip_src = batadv_arp_ip_src(skb, 0);
+hw_src = batadv_arp_hw_src(skb, 0);
+ip_dst = batadv_arp_ip_dst(skb, 0);
 
 primary_if = batadv_primary_if_get_selected(bat_priv);
 if (!primary_if)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -480,9 +510,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; bool batadv_dat_snoop_incoming_arp_request(struct bat_priv *bat_priv,
 if (type != ARPOP_REQUEST)
 goto out;
 
-hw_src = ARP_HW_SRC(skb, hdr_size);
-ip_src = ARP_IP_SRC(skb, hdr_size);
-ip_dst = ARP_IP_DST(skb, hdr_size);
+hw_src = batadv_arp_hw_src(skb, hdr_size);
+ip_src = batadv_arp_ip_src(skb, hdr_size);
+ip_dst = batadv_arp_ip_dst(skb, hdr_size);
 
 batadv_dbg_arp(bat_priv, skb, type, hdr_size,
        "Parsing incoming ARP REQUEST");
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -538,10 +568,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; bool batadv_dat_snoop_outgoing_arp_reply(struct bat_priv *bat_priv,
 
 batadv_dbg_arp(bat_priv, skb, type, 0, "Parsing outgoing ARP REPLY");
 
-hw_src = ARP_HW_SRC(skb, 0);
-ip_src = ARP_IP_SRC(skb, 0);
-hw_dst = ARP_HW_DST(skb, 0);
-ip_dst = ARP_IP_DST(skb, 0);
+hw_src = batadv_arp_hw_src(skb, 0);
+ip_src = batadv_arp_ip_src(skb, 0);
+hw_dst = batadv_arp_hw_dst(skb, 0);
+ip_dst = batadv_arp_ip_dst(skb, 0);
 
 batadv_arp_neigh_update(bat_priv, ip_src, hw_src);
 batadv_arp_neigh_update(bat_priv, ip_dst, hw_dst);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -576,10 +606,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; bool batadv_dat_snoop_incoming_arp_reply(struct bat_priv *bat_priv,
 batadv_dbg_arp(bat_priv, skb, type, hdr_size,
        "Parsing incoming ARP REPLY");
 
-hw_src = ARP_HW_SRC(skb, hdr_size);
-ip_src = ARP_IP_SRC(skb, hdr_size);
-hw_dst = ARP_HW_DST(skb, hdr_size);
-ip_dst = ARP_IP_DST(skb, hdr_size);
+hw_src = batadv_arp_hw_src(skb, hdr_size);
+ip_src = batadv_arp_ip_src(skb, hdr_size);
+hw_dst = batadv_arp_hw_dst(skb, hdr_size);
+ip_dst = batadv_arp_ip_dst(skb, hdr_size);
 
 /* Update our internal cache with both the IP addresses we fetched from
  * the ARP reply
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -601,6 +631,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; bool batadv_dat_drop_broadcast_packet(struct bat_priv *bat_priv,
 {
 struct neighbour *n;
 const size_t bcast_len = sizeof(struct bcast_packet);
+__be32 dst_ip;
 
 /* If this packet is an ARP_REQUEST and we already have the information
  * that it is going to ask, we can drop the packet
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -608,19 +639,19 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; bool batadv_dat_drop_broadcast_packet(struct bat_priv *bat_priv,
 if (!forw_packet-&amp;gt;num_packets &amp;amp;&amp;amp;
     (ARPOP_REQUEST == batadv_arp_get_type(bat_priv, forw_packet-&amp;gt;skb,
   bcast_len))) {
-n = neigh_lookup(&amp;amp;arp_tbl,
- &amp;amp;ARP_IP_DST(forw_packet-&amp;gt;skb, bcast_len),
+dst_ip = batadv_arp_ip_dst(forw_packet-&amp;gt;skb, bcast_len);
+n = neigh_lookup(&amp;amp;arp_tbl, &amp;amp;dst_ip,
  forw_packet-&amp;gt;if_incoming-&amp;gt;soft_iface);
 /* check if we already know this neigh */
 if (n &amp;amp;&amp;amp; (n-&amp;gt;nud_state &amp;amp; NUD_CONNECTED)) {
 batadv_dbg(DBG_DAT, bat_priv,
    "ARP Request for %pI4: fallback prevented\n",
-   &amp;amp;ARP_IP_DST(forw_packet-&amp;gt;skb, bcast_len));
+   &amp;amp;dst_ip);
 return true;
 }
 
 batadv_dbg(DBG_DAT, bat_priv, "ARP Request for %pI4: fallback\n",
-   &amp;amp;ARP_IP_DST(forw_packet-&amp;gt;skb, bcast_len));
+   &amp;amp;dst_ip);
 }
 return false;
 }
diff --git a/distributed-arp-table.h b/distributed-arp-table.h
index 6b1d22c..47fe32f 100644
--- a/distributed-arp-table.h
+++ b/distributed-arp-table.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -29,14 +29,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 #define DAT_ADDR_MAX ((dat_addr_t)~(dat_addr_t)0)
 
-#define ARP_HW_SRC(skb, hdr_size) ((uint8_t *)(skb-&amp;gt;data + hdr_size) + \
-   ETH_HLEN + sizeof(struct arphdr))
-#define ARP_IP_SRC(skb, hdr_size) (*(__be32 *)(ARP_HW_SRC(skb, hdr_size) + \
-   ETH_ALEN))
-#define ARP_HW_DST(skb, hdr_size) (ARP_HW_SRC(skb, hdr_size) + ETH_ALEN + 4)
-#define ARP_IP_DST(skb, hdr_size) (*(__be32 *)(ARP_HW_SRC(skb, hdr_size) + \
-   ETH_ALEN * 2 + 4))
-
 bool batadv_dat_snoop_outgoing_arp_request(struct bat_priv *bat_priv,
    struct sk_buff *skb);
 bool batadv_dat_snoop_incoming_arp_request(struct bat_priv *bat_priv,
diff --git a/main.h b/main.h
index 245323b..ea5d7d5 100644
--- a/main.h
+++ b/main.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -187,24 +187,37 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int batadv_algo_select(struct bat_priv *bat_priv, char *name);
 int batadv_algo_seq_print_text(struct seq_file *seq, void *offset);
 
 #ifdef CONFIG_BATMAN_ADV_DEBUG
-int batadv_debug_log(struct bat_priv *bat_priv, const char *fmt, ...)
-__printf(2, 3);
+int batadv_debug_log(struct bat_priv *bat_priv, const char *fmt, va_list args);
+
+static inline void batadv_vdbg(int type, struct bat_priv *bat_priv,
+       const char *fmt, va_list args)
+{
+if (atomic_read(&amp;amp;bat_priv-&amp;gt;log_level) &amp;amp; type)
+batadv_debug_log(bat_priv, fmt, args);
+}
 
-#define batadv_dbg(type, bat_priv, fmt, arg...)\
-do {\
-if (atomic_read(&amp;amp;bat_priv-&amp;gt;log_level) &amp;amp; type)\
-batadv_debug_log(bat_priv, fmt, ## arg);\
-}\
-while (0)
 #else /* !CONFIG_BATMAN_ADV_DEBUG */
-__printf(3, 4)
-static inline void batadv_dbg(int type __always_unused,
-      struct bat_priv *bat_priv __always_unused,
-      const char *fmt __always_unused, ...)
+
+static inline void batadv_vdbg(int type __always_unused,
+       struct bat_priv *bat_priv __always_unused,
+       const char *fmt __always_unused,
+       va_list args __always_unused)
 {
 }
+
 #endif
 
+__printf(3, 4)
+static inline void batadv_dbg(int type, struct bat_priv *bat_priv,
+       const char *fmt, ...)
+{
+va_list args;
+
+va_start(args, fmt);
+batadv_vdbg(type, bat_priv, fmt, args);
+va_end(args);
+}
+
 #define bat_info(net_dev, fmt, arg...)\
 do {\
 struct net_device *_netdev = (net_dev);                 \
&lt;/pre&gt;</description>
    <dc:creator>Sven Eckelmann</dc:creator>
    <dc:date>2012-05-13T09:01:42</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.org.freifunk.batman/7082">
    <title>[PATCH] batman-adv: Mark only locally used symbolbatadv_tt_local_crc as static</title>
    <link>http://comments.gmane.org/gmane.org.freifunk.batman/7082</link>
    <description>&lt;pre&gt;29ccfec94d51f7725124786e29d023b212920661 changed the translation table code in
such a way that it doesn't use the symbol tt_local_crc outside of
translation-table.c

Signed-off-by: Sven Eckelmann &amp;lt;sven-KaDOiPu9UxWEi8DpZVb4nw&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
---
 translation-table.c |    2 +-
 translation-table.h |    1 -
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/translation-table.c b/translation-table.c
index f50e795..62dda2b 100644
--- a/translation-table.c
+++ b/translation-table.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1172,7 +1172,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static uint16_t batadv_tt_global_crc(struct bat_priv *bat_priv,
 }
 
 /* Calculates the checksum of the local table */
-uint16_t batadv_tt_local_crc(struct bat_priv *bat_priv)
+static uint16_t batadv_tt_local_crc(struct bat_priv *bat_priv)
 {
 uint16_t total = 0, total_one;
 struct hashtable_t *hash = bat_priv-&amp;gt;tt_local_hash;
diff --git a/translation-table.h b/translation-table.h
index 56e8016..7edc9df 100644
--- a/translation-table.h
+++ b/translation-table.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -41,7 +41,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void batadv_tt_global_del_orig(struct bat_priv *bat_priv,
 struct orig_node *batadv_transtable_search(struct bat_priv *bat_priv,
    const uint8_t *src,
    const uint8_t *addr);
-uint16_t batadv_tt_local_crc(struct bat_priv *bat_priv);
 void batadv_tt_free(struct bat_priv *bat_priv);
 bool batadv_send_tt_response(struct bat_priv *bat_priv,
      struct tt_query_packet *tt_request);
&lt;/pre&gt;</description>
    <dc:creator>Sven Eckelmann</dc:creator>
    <dc:date>2012-05-13T06:45:17</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.org.freifunk.batman/7062">
    <title>[PATCH 01/18] batman-adv: Prefix bat_debugfs localstatic functions with batadv_</title>
    <link>http://comments.gmane.org/gmane.org.freifunk.batman/7062</link>
    <description>&lt;pre&gt;All non-static symbols of batman-adv were prefixed with batadv_ to avoid
collisions with other symbols of the kernel. Other symbols of batman-adv
should use the same prefix to keep the naming scheme consistent.

Signed-off-by: Sven Eckelmann &amp;lt;sven-KaDOiPu9UxWEi8DpZVb4nw&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
---
 bat_debugfs.c |  143 +++++++++++++++++++++++++++++----------------------------
 1 file changed, 72 insertions(+), 71 deletions(-)

diff --git a/bat_debugfs.c b/bat_debugfs.c
index cd636db..004d94f 100644
--- a/bat_debugfs.c
+++ b/bat_debugfs.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -32,25 +32,25 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #include "icmp_socket.h"
 #include "bridge_loop_avoidance.h"
 
-static struct dentry *bat_debugfs;
+static struct dentry *batadv_debugfs;
 
 #ifdef CONFIG_BATMAN_ADV_DEBUG
-#define LOG_BUFF_MASK (log_buff_len-1)
+#define LOG_BUFF_MASK (batadv_log_buff_len - 1)
 #define LOG_BUFF(idx) (debug_log-&amp;gt;log_buff[(idx) &amp;amp; LOG_BUFF_MASK])
 
-static int log_buff_len = LOG_BUF_LEN;
+static int batadv_log_buff_len = LOG_BUF_LEN;
 
-static void emit_log_char(struct debug_log *debug_log, char c)
+static void batadv_emit_log_char(struct debug_log *debug_log, char c)
 {
 LOG_BUFF(debug_log-&amp;gt;log_end) = c;
 debug_log-&amp;gt;log_end++;
 
-if (debug_log-&amp;gt;log_end - debug_log-&amp;gt;log_start &amp;gt; log_buff_len)
-debug_log-&amp;gt;log_start = debug_log-&amp;gt;log_end - log_buff_len;
+if (debug_log-&amp;gt;log_end - debug_log-&amp;gt;log_start &amp;gt; batadv_log_buff_len)
+debug_log-&amp;gt;log_start = debug_log-&amp;gt;log_end - batadv_log_buff_len;
 }
 
 __printf(2, 3)
-static int fdebug_log(struct debug_log *debug_log, const char *fmt, ...)
+static int batadv_fdebug_log(struct debug_log *debug_log, const char *fmt, ...)
 {
 va_list args;
 static char debug_log_buf[256];
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -65,7 +65,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int fdebug_log(struct debug_log *debug_log, const char *fmt, ...)
 va_end(args);
 
 for (p = debug_log_buf; *p != 0; p++)
-emit_log_char(debug_log, *p);
+batadv_emit_log_char(debug_log, *p);
 
 spin_unlock_bh(&amp;amp;debug_log-&amp;gt;lock);
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -81,14 +81,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int batadv_debug_log(struct bat_priv *bat_priv, const char *fmt, ...)
 
 va_start(args, fmt);
 vscnprintf(tmp_log_buf, sizeof(tmp_log_buf), fmt, args);
-fdebug_log(bat_priv-&amp;gt;debug_log, "[%10u] %s",
-   jiffies_to_msecs(jiffies), tmp_log_buf);
+batadv_fdebug_log(bat_priv-&amp;gt;debug_log, "[%10u] %s",
+  jiffies_to_msecs(jiffies), tmp_log_buf);
 va_end(args);
 
 return 0;
 }
 
-static int log_open(struct inode *inode, struct file *file)
+static int batadv_log_open(struct inode *inode, struct file *file)
 {
 nonseekable_open(inode, file);
 file-&amp;gt;private_data = inode-&amp;gt;i_private;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -96,14 +96,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int log_open(struct inode *inode, struct file *file)
 return 0;
 }
 
-static int log_release(struct inode *inode, struct file *file)
+static int batadv_log_release(struct inode *inode, struct file *file)
 {
 batadv_dec_module_count();
 return 0;
 }
 
-static ssize_t log_read(struct file *file, char __user *buf,
-size_t count, loff_t *ppos)
+static ssize_t batadv_log_read(struct file *file, char __user *buf,
+       size_t count, loff_t *ppos)
 {
 struct bat_priv *bat_priv = file-&amp;gt;private_data;
 struct debug_log *debug_log = bat_priv-&amp;gt;debug_log;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -156,7 +156,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static ssize_t log_read(struct file *file, char __user *buf,
 return error;
 }
 
-static unsigned int log_poll(struct file *file, poll_table *wait)
+static unsigned int batadv_log_poll(struct file *file, poll_table *wait)
 {
 struct bat_priv *bat_priv = file-&amp;gt;private_data;
 struct debug_log *debug_log = bat_priv-&amp;gt;debug_log;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -169,15 +169,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static unsigned int log_poll(struct file *file, poll_table *wait)
 return 0;
 }
 
-static const struct file_operations log_fops = {
-.open           = log_open,
-.release        = log_release,
-.read           = log_read,
-.poll           = log_poll,
+static const struct file_operations batadv_log_fops = {
+.open           = batadv_log_open,
+.release        = batadv_log_release,
+.read           = batadv_log_read,
+.poll           = batadv_log_poll,
 .llseek         = no_llseek,
 };
 
-static int debug_log_setup(struct bat_priv *bat_priv)
+static int batadv_debug_log_setup(struct bat_priv *bat_priv)
 {
 struct dentry *d;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -192,7 +192,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int debug_log_setup(struct bat_priv *bat_priv)
 init_waitqueue_head(&amp;amp;bat_priv-&amp;gt;debug_log-&amp;gt;queue_wait);
 
 d = debugfs_create_file("log", S_IFREG | S_IRUSR,
-bat_priv-&amp;gt;debug_dir, bat_priv, &amp;amp;log_fops);
+bat_priv-&amp;gt;debug_dir, bat_priv,
+&amp;amp;batadv_log_fops);
 if (d)
 goto err;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -202,49 +203,49 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; err:
 return 1;
 }
 
-static void debug_log_cleanup(struct bat_priv *bat_priv)
+static void batadv_debug_log_cleanup(struct bat_priv *bat_priv)
 {
 kfree(bat_priv-&amp;gt;debug_log);
 bat_priv-&amp;gt;debug_log = NULL;
 }
 #else /* CONFIG_BATMAN_ADV_DEBUG */
-static int debug_log_setup(struct bat_priv *bat_priv)
+static int batadv_debug_log_setup(struct bat_priv *bat_priv)
 {
 bat_priv-&amp;gt;debug_log = NULL;
 return 0;
 }
 
-static void debug_log_cleanup(struct bat_priv *bat_priv)
+static void batadv_debug_log_cleanup(struct bat_priv *bat_priv)
 {
 return;
 }
 #endif
 
-static int bat_algorithms_open(struct inode *inode, struct file *file)
+static int batadv_algorithms_open(struct inode *inode, struct file *file)
 {
 return single_open(file, batadv_algo_seq_print_text, NULL);
 }
 
-static int originators_open(struct inode *inode, struct file *file)
+static int batadv_originators_open(struct inode *inode, struct file *file)
 {
 struct net_device *net_dev = (struct net_device *)inode-&amp;gt;i_private;
 return single_open(file, batadv_orig_seq_print_text, net_dev);
 }
 
-static int gateways_open(struct inode *inode, struct file *file)
+static int batadv_gateways_open(struct inode *inode, struct file *file)
 {
 struct net_device *net_dev = (struct net_device *)inode-&amp;gt;i_private;
 return single_open(file, batadv_gw_client_seq_print_text, net_dev);
 }
 
-static int transtable_global_open(struct inode *inode, struct file *file)
+static int batadv_transtable_global_open(struct inode *inode, struct file *file)
 {
 struct net_device *net_dev = (struct net_device *)inode-&amp;gt;i_private;
 return single_open(file, batadv_tt_global_seq_print_text, net_dev);
 }
 
 #ifdef CONFIG_BATMAN_ADV_BLA
-static int bla_claim_table_open(struct inode *inode, struct file *file)
+static int batadv_bla_claim_table_open(struct inode *inode, struct file *file)
 {
 struct net_device *net_dev = (struct net_device *)inode-&amp;gt;i_private;
 return single_open(file, batadv_bla_claim_table_seq_print_text,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -252,13 +253,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int bla_claim_table_open(struct inode *inode, struct file *file)
 }
 #endif
 
-static int transtable_local_open(struct inode *inode, struct file *file)
+static int batadv_transtable_local_open(struct inode *inode, struct file *file)
 {
 struct net_device *net_dev = (struct net_device *)inode-&amp;gt;i_private;
 return single_open(file, batadv_tt_local_seq_print_text, net_dev);
 }
 
-static int vis_data_open(struct inode *inode, struct file *file)
+static int batadv_vis_data_open(struct inode *inode, struct file *file)
 {
 struct net_device *net_dev = (struct net_device *)inode-&amp;gt;i_private;
 return single_open(file, batadv_vis_seq_print_text, net_dev);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -269,37 +270,37 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct bat_debuginfo {
 const struct file_operations fops;
 };
 
-#define BAT_DEBUGINFO(_name, _mode, _open)\
-struct bat_debuginfo bat_debuginfo_##_name = {\
-.attr = { .name = __stringify(_name),\
-  .mode = _mode, },\
-.fops = { .owner = THIS_MODULE,\
-  .open = _open,\
-  .read= seq_read,\
-  .llseek = seq_lseek,\
-  .release = single_release,\
-}\
+#define BAT_DEBUGINFO(_name, _mode, _open)\
+struct bat_debuginfo batadv_debuginfo_##_name = {\
+.attr = { .name = __stringify(_name),\
+  .mode = _mode, },\
+.fops = { .owner = THIS_MODULE,\
+  .open = _open,\
+  .read= seq_read,\
+  .llseek = seq_lseek,\
+  .release = single_release,\
+}\
 };
 
-static BAT_DEBUGINFO(routing_algos, S_IRUGO, bat_algorithms_open);
-static BAT_DEBUGINFO(originators, S_IRUGO, originators_open);
-static BAT_DEBUGINFO(gateways, S_IRUGO, gateways_open);
-static BAT_DEBUGINFO(transtable_global, S_IRUGO, transtable_global_open);
+static BAT_DEBUGINFO(routing_algos, S_IRUGO, batadv_algorithms_open);
+static BAT_DEBUGINFO(originators, S_IRUGO, batadv_originators_open);
+static BAT_DEBUGINFO(gateways, S_IRUGO, batadv_gateways_open);
+static BAT_DEBUGINFO(transtable_global, S_IRUGO, batadv_transtable_global_open);
 #ifdef CONFIG_BATMAN_ADV_BLA
-static BAT_DEBUGINFO(bla_claim_table, S_IRUGO, bla_claim_table_open);
+static BAT_DEBUGINFO(bla_claim_table, S_IRUGO, batadv_bla_claim_table_open);
 #endif
-static BAT_DEBUGINFO(transtable_local, S_IRUGO, transtable_local_open);
-static BAT_DEBUGINFO(vis_data, S_IRUGO, vis_data_open);
+static BAT_DEBUGINFO(transtable_local, S_IRUGO, batadv_transtable_local_open);
+static BAT_DEBUGINFO(vis_data, S_IRUGO, batadv_vis_data_open);
 
-static struct bat_debuginfo *mesh_debuginfos[] = {
-&amp;amp;bat_debuginfo_originators,
-&amp;amp;bat_debuginfo_gateways,
-&amp;amp;bat_debuginfo_transtable_global,
+static struct bat_debuginfo *batadv_mesh_debuginfos[] = {
+&amp;amp;batadv_debuginfo_originators,
+&amp;amp;batadv_debuginfo_gateways,
+&amp;amp;batadv_debuginfo_transtable_global,
 #ifdef CONFIG_BATMAN_ADV_BLA
-&amp;amp;bat_debuginfo_bla_claim_table,
+&amp;amp;batadv_debuginfo_bla_claim_table,
 #endif
-&amp;amp;bat_debuginfo_transtable_local,
-&amp;amp;bat_debuginfo_vis_data,
+&amp;amp;batadv_debuginfo_transtable_local,
+&amp;amp;batadv_debuginfo_vis_data,
 NULL,
 };
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -308,17 +309,17 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void batadv_debugfs_init(void)
 struct bat_debuginfo *bat_debug;
 struct dentry *file;
 
-bat_debugfs = debugfs_create_dir(DEBUGFS_BAT_SUBDIR, NULL);
-if (bat_debugfs == ERR_PTR(-ENODEV))
-bat_debugfs = NULL;
+batadv_debugfs = debugfs_create_dir(DEBUGFS_BAT_SUBDIR, NULL);
+if (batadv_debugfs == ERR_PTR(-ENODEV))
+batadv_debugfs = NULL;
 
-if (!bat_debugfs)
+if (!batadv_debugfs)
 goto out;
 
-bat_debug = &amp;amp;bat_debuginfo_routing_algos;
+bat_debug = &amp;amp;batadv_debuginfo_routing_algos;
 file = debugfs_create_file(bat_debug-&amp;gt;attr.name,
    S_IFREG | bat_debug-&amp;gt;attr.mode,
-   bat_debugfs, NULL, &amp;amp;bat_debug-&amp;gt;fops);
+   batadv_debugfs, NULL, &amp;amp;bat_debug-&amp;gt;fops);
 if (!file)
 pr_err("Can't add debugfs file: %s\n", bat_debug-&amp;gt;attr.name);
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -328,9 +329,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 
 void batadv_debugfs_destroy(void)
 {
-if (bat_debugfs) {
-debugfs_remove_recursive(bat_debugfs);
-bat_debugfs = NULL;
+if (batadv_debugfs) {
+debugfs_remove_recursive(batadv_debugfs);
+batadv_debugfs = NULL;
 }
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -340,17 +341,17 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int batadv_debugfs_add_meshif(struct net_device *dev)
 struct bat_debuginfo **bat_debug;
 struct dentry *file;
 
-if (!bat_debugfs)
+if (!batadv_debugfs)
 goto out;
 
-bat_priv-&amp;gt;debug_dir = debugfs_create_dir(dev-&amp;gt;name, bat_debugfs);
+bat_priv-&amp;gt;debug_dir = debugfs_create_dir(dev-&amp;gt;name, batadv_debugfs);
 if (!bat_priv-&amp;gt;debug_dir)
 goto out;
 
 batadv_socket_setup(bat_priv);
-debug_log_setup(bat_priv);
+batadv_debug_log_setup(bat_priv);
 
-for (bat_debug = mesh_debuginfos; *bat_debug; ++bat_debug) {
+for (bat_debug = batadv_mesh_debuginfos; *bat_debug; ++bat_debug) {
 file = debugfs_create_file(((*bat_debug)-&amp;gt;attr).name,
   S_IFREG | ((*bat_debug)-&amp;gt;attr).mode,
   bat_priv-&amp;gt;debug_dir,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -378,9 +379,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void batadv_debugfs_del_meshif(struct net_device *dev)
 {
 struct bat_priv *bat_priv = netdev_priv(dev);
 
-debug_log_cleanup(bat_priv);
+batadv_debug_log_cleanup(bat_priv);
 
-if (bat_debugfs) {
+if (batadv_debugfs) {
 debugfs_remove_recursive(bat_priv-&amp;gt;debug_dir);
 bat_priv-&amp;gt;debug_dir = NULL;
 }
&lt;/pre&gt;</description>
    <dc:creator>Sven Eckelmann</dc:creator>
    <dc:date>2012-05-12T16:33:50</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.org.freifunk.batman/7060">
    <title>[PATCH] batman-adv: fix comment style and typo</title>
    <link>http://comments.gmane.org/gmane.org.freifunk.batman/7060</link>
    <description>&lt;pre&gt;Fix to David's style

Introduced by b46c60b9e1ee7a1909c542413a85875a750955d6

Signed-off-by: Antonio Quartulli &amp;lt;ordex-GaUfNO9RBHfsrOwW+9ziJQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
---

This patch is for next


 routing.c           |    3 ++-
 translation-table.c |    3 ++-
 unicast.c           |    5 +++--
 3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/routing.c b/routing.c
index 2181a91..4f2059f 100644
--- a/routing.c
+++ b/routing.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -922,7 +922,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int check_unicast_ttvn(struct bat_priv *bat_priv,
 sizeof(struct unicast_packet));
 
 /* we don't have an updated route for this client, so we should
- * not try to reroute the packet!! */
+ * not try to reroute the packet!!
+ */
 if (tt_global_client_is_roaming(bat_priv, ethhdr-&amp;gt;h_dest))
 return 1;
 
diff --git a/translation-table.c b/translation-table.c
index 88e4c8e..a66c2dc 100644
--- a/translation-table.c
+++ b/translation-table.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2122,7 +2122,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; request_table:
 
 /* returns true whether we know that the client has moved from its old
  * originator to another one. This entry is kept is still kept for consistency
- * purposes */
+ * purposes
+ */
 bool tt_global_client_is_roaming(struct bat_priv *bat_priv, uint8_t *addr)
 {
 struct tt_global_entry *tt_global_entry;
diff --git a/unicast.c b/unicast.c
index 62ea9f1..e5c7999 100644
--- a/unicast.c
+++ b/unicast.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -395,10 +395,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; find_router:
 
 unicast_packet = (struct unicast_packet *)skb-&amp;gt;data;
 
-/* inform the destination ode that we are still missing a correct route
+/* inform the destination node that we are still missing a correct route
  * for this client. The destination will receive this packet and will
  * try to reroute it because the ttvn contained in the header is less
- * than the current one */
+ * than the current one
+ */
 if (tt_global_client_is_roaming(bat_priv, ethhdr-&amp;gt;h_dest))
 unicast_packet-&amp;gt;ttvn = unicast_packet-&amp;gt;ttvn - 1;
 
&lt;/pre&gt;</description>
    <dc:creator>Antonio Quartulli</dc:creator>
    <dc:date>2012-05-12T12:38:01</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.org.freifunk.batman/7049">
    <title>[PATCH 1/8] batman-adv: Move hash_ipv4 todistributed-arp-table.c</title>
    <link>http://comments.gmane.org/gmane.org.freifunk.batman/7049</link>
    <description>&lt;pre&gt;hash_ipv4 is only used in distributed-arp-table.c and therefore can be placed
inside this file instead of the header.

Signed-off-by: Sven Eckelmann &amp;lt;sven-KaDOiPu9UxWEi8DpZVb4nw&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
---
 distributed-arp-table.c |   24 +++++++++++++++++++++++-
 distributed-arp-table.h |   22 ----------------------
 2 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/distributed-arp-table.c b/distributed-arp-table.c
index e678ec4..4894a85 100644
--- a/distributed-arp-table.c
+++ b/distributed-arp-table.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -32,6 +32,28 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #include "translation-table.h"
 #include "unicast.h"
 
+/* hash function to choose an entry in a hash table of given size.
+ * hash algorithm from http://en.wikipedia.org/wiki/Hash_table
+ */
+static uint32_t batadv_hash_ipv4(const void *data, uint32_t size)
+{
+const unsigned char *key = data;
+uint32_t hash = 0;
+size_t i;
+
+for (i = 0; i &amp;lt; 4; i++) {
+hash += key[i];
+hash += (hash &amp;lt;&amp;lt; 10);
+hash ^= (hash &amp;gt;&amp;gt; 6);
+}
+
+hash += (hash &amp;lt;&amp;lt; 3);
+hash ^= (hash &amp;gt;&amp;gt; 11);
+hash += (hash &amp;lt;&amp;lt; 15);
+
+return hash % size;
+}
+
 #ifdef CONFIG_BATMAN_ADV_DEBUG
 
 static void bat_dbg_arp(struct bat_priv *bat_priv, struct sk_buff *skb,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -214,7 +236,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static struct dht_candidate *dht_select_candidates(struct bat_priv *bat_priv,
 if (!res)
 return NULL;
 
-ip_key = (dat_addr_t)hash_ipv4(&amp;amp;ip_dst, DAT_ADDR_MAX);
+ip_key = (dat_addr_t)batadv_hash_ipv4(&amp;amp;ip_dst, DAT_ADDR_MAX);
 
 bat_dbg(DBG_DAT, bat_priv,
 "dht_select_candidates(): IP=%pI4 hash(IP)=%u\n", &amp;amp;ip_dst,
diff --git a/distributed-arp-table.h b/distributed-arp-table.h
index 1ba7f01..ee5200a 100644
--- a/distributed-arp-table.h
+++ b/distributed-arp-table.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -49,28 +49,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; bool batadv_dat_drop_broadcast_packet(struct bat_priv *bat_priv,
       struct forw_packet *forw_packet);
 void batadv_arp_change_timeout(struct net_device *soft_iface, const char *name);
 
-/* hash function to choose an entry in a hash table of given size.
- * hash algorithm from http://en.wikipedia.org/wiki/Hash_table
- */
-static inline uint32_t hash_ipv4(const void *data, uint32_t size)
-{
-const unsigned char *key = data;
-uint32_t hash = 0;
-size_t i;
-
-for (i = 0; i &amp;lt; 4; i++) {
-hash += key[i];
-hash += (hash &amp;lt;&amp;lt; 10);
-hash ^= (hash &amp;gt;&amp;gt; 6);
-}
-
-hash += (hash &amp;lt;&amp;lt; 3);
-hash ^= (hash &amp;gt;&amp;gt; 11);
-hash += (hash &amp;lt;&amp;lt; 15);
-
-return hash % size;
-}
-
 static inline void
 batadv_dat_init_orig_node_dht_addr(struct orig_node *orig_node)
 {
&lt;/pre&gt;</description>
    <dc:creator>Sven Eckelmann</dc:creator>
    <dc:date>2012-05-12T11:48:52</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.org.freifunk.batman/7023">
    <title>[PATCHv3 01/23] batman-adv: Fix namespace forhash_set_lock_class</title>
    <link>http://comments.gmane.org/gmane.org.freifunk.batman/7023</link>
    <description>&lt;pre&gt;This function was introduced in 2c9aa3b4c37bd55148f5f25212c89e7bf5f28497
without a proper namespace prefix.

Signed-off-by: Sven Eckelmann &amp;lt;sven-KaDOiPu9UxWEi8DpZVb4nw&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
---
 bridge_loop_avoidance.c |    7 ++++---
 hash.c                  |    3 ++-
 hash.h                  |    3 ++-
 3 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/bridge_loop_avoidance.c b/bridge_loop_avoidance.c
index 89e9721..314e37b 100644
--- a/bridge_loop_avoidance.c
+++ b/bridge_loop_avoidance.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1172,9 +1172,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int bla_init(struct bat_priv *bat_priv)
 if (!bat_priv-&amp;gt;claim_hash || !bat_priv-&amp;gt;backbone_hash)
 return -ENOMEM;
 
-hash_set_lock_class(bat_priv-&amp;gt;claim_hash, &amp;amp;claim_hash_lock_class_key);
-hash_set_lock_class(bat_priv-&amp;gt;backbone_hash,
-    &amp;amp;backbone_hash_lock_class_key);
+batadv_hash_set_lock_class(bat_priv-&amp;gt;claim_hash,
+   &amp;amp;claim_hash_lock_class_key);
+batadv_hash_set_lock_class(bat_priv-&amp;gt;backbone_hash,
+   &amp;amp;backbone_hash_lock_class_key);
 
 bat_dbg(DBG_BLA, bat_priv, "bla hashes initialized\n");
 
diff --git a/hash.c b/hash.c
index 4578c20..a7dcff0 100644
--- a/hash.c
+++ b/hash.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -70,7 +70,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; free_hash:
 return NULL;
 }
 
-void hash_set_lock_class(struct hashtable_t *hash, struct lock_class_key *key)
+void batadv_hash_set_lock_class(struct hashtable_t *hash,
+struct lock_class_key *key)
 {
 uint32_t i;
 
diff --git a/hash.h b/hash.h
index 2e0409a..3d67ce4 100644
--- a/hash.h
+++ b/hash.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -46,7 +46,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct hashtable_t {
 struct hashtable_t *hash_new(uint32_t size);
 
 /* set class key for all locks */
-void hash_set_lock_class(struct hashtable_t *hash, struct lock_class_key *key);
+void batadv_hash_set_lock_class(struct hashtable_t *hash,
+struct lock_class_key *key);
 
 /* free only the hashtable and the hash itself. */
 void hash_destroy(struct hashtable_t *hash);
&lt;/pre&gt;</description>
    <dc:creator>Sven Eckelmann</dc:creator>
    <dc:date>2012-05-12T00:09:21</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.org.freifunk.batman/7011">
    <title>[PATCHv2 1/3] batman-adv: Prefix non-staticfunctions with batadv_</title>
    <link>http://comments.gmane.org/gmane.org.freifunk.batman/7011</link>
    <description>&lt;pre&gt;batman-adv can be compiled as part of the kernel instead of an module. In that
case the linker will see all non-static symbols of batman-adv and all other
non-static symbols of the kernel. This could lead to symbol collisions. A
prefix for the batman-adv symbols that defines their private namespace avoids
such a problem.

Reported-by: David Miller &amp;lt;davem-fT/PcQaiUtIeIZ0/mPfg9Q&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Signed-off-by: Sven Eckelmann &amp;lt;sven-KaDOiPu9UxWEi8DpZVb4nw&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
---
 bat_algo.h              |    2 +-
 bat_debugfs.c           |   31 +++----
 bat_debugfs.h           |    8 +-
 bat_iv_ogm.c            |  130 ++++++++++++++--------------
 bat_sysfs.c             |   34 ++++----
 bat_sysfs.h             |   13 +--
 bitarray.c              |    8 +-
 bitarray.h              |    4 +-
 bridge_loop_avoidance.c |   46 +++++-----
 bridge_loop_avoidance.h |   65 +++++++-------
 compat.c                |    8 +-
 compat.h                |    2 +-
 distributed-arp-table.c |   46 +++++-----
 distributed-arp-table.h |   67 ++++++++-------
 gateway_client.c        |   93 ++++++++++----------
 gateway_client.h        |   26 +++---
 gateway_common.c        |    9 +-
 gateway_common.h        |    5 +-
 hard-interface.c        |   72 ++++++++--------
 hard-interface.h        |   22 ++---
 hash.c                  |    4 +-
 hash.h                  |    6 +-
 icmp_socket.c           |   20 ++---
 icmp_socket.h           |    8 +-
 main.c                  |  109 ++++++++++++------------
 main.h                  |   46 +++++-----
 originator.c            |   65 +++++++-------
 originator.h            |   21 ++---
 ring_buffer.c           |    5 +-
 ring_buffer.h           |    5 +-
 routing.c               |  215 ++++++++++++++++++++++++-----------------------
 routing.h               |   52 ++++++------
 send.c                  |   47 ++++++-----
 send.h                  |   17 ++--
 soft-interface.c        |   68 +++++++--------
 soft-interface.h        |   13 ++-
 translation-table.c     |  150 +++++++++++++++++----------------
 translation-table.h     |   71 +++++++++-------
 unicast.c               |   62 +++++++-------
 unicast.h               |   30 ++++---
 vis.c                   |   57 +++++++------
 vis.h                   |   18 ++--
 42 files changed, 925 insertions(+), 855 deletions(-)

diff --git a/bat_algo.h b/bat_algo.h
index 9852a68..a14336a 100644
--- a/bat_algo.h
+++ b/bat_algo.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -22,6 +22,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #ifndef _NET_BATMAN_ADV_BAT_ALGO_H_
 #define _NET_BATMAN_ADV_BAT_ALGO_H_
 
-int bat_iv_init(void);
+int batadv_iv_init(void);
 
 #endif /* _NET_BATMAN_ADV_BAT_ALGO_H_ */
diff --git a/bat_debugfs.c b/bat_debugfs.c
index 3b588f8..3bdd99a 100644
--- a/bat_debugfs.c
+++ b/bat_debugfs.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -76,7 +76,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int fdebug_log(struct debug_log *debug_log, const char *fmt, ...)
 return 0;
 }
 
-int debug_log(struct bat_priv *bat_priv, const char *fmt, ...)
+int batadv_debug_log(struct bat_priv *bat_priv, const char *fmt, ...)
 {
 va_list args;
 char tmp_log_buf[256];
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -94,13 +94,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int log_open(struct inode *inode, struct file *file)
 {
 nonseekable_open(inode, file);
 file-&amp;gt;private_data = inode-&amp;gt;i_private;
-inc_module_count();
+batadv_inc_module_count();
 return 0;
 }
 
 static int log_release(struct inode *inode, struct file *file)
 {
-dec_module_count();
+batadv_dec_module_count();
 return 0;
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -224,45 +224,46 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void debug_log_cleanup(struct bat_priv *bat_priv)
 
 static int bat_algorithms_open(struct inode *inode, struct file *file)
 {
-return single_open(file, bat_algo_seq_print_text, NULL);
+return single_open(file, batadv_algo_seq_print_text, NULL);
 }
 
 static int originators_open(struct inode *inode, struct file *file)
 {
 struct net_device *net_dev = (struct net_device *)inode-&amp;gt;i_private;
-return single_open(file, orig_seq_print_text, net_dev);
+return single_open(file, batadv_orig_seq_print_text, net_dev);
 }
 
 static int gateways_open(struct inode *inode, struct file *file)
 {
 struct net_device *net_dev = (struct net_device *)inode-&amp;gt;i_private;
-return single_open(file, gw_client_seq_print_text, net_dev);
+return single_open(file, batadv_gw_client_seq_print_text, net_dev);
 }
 
 static int transtable_global_open(struct inode *inode, struct file *file)
 {
 struct net_device *net_dev = (struct net_device *)inode-&amp;gt;i_private;
-return single_open(file, tt_global_seq_print_text, net_dev);
+return single_open(file, batadv_tt_global_seq_print_text, net_dev);
 }
 
 #ifdef CONFIG_BATMAN_ADV_BLA
 static int bla_claim_table_open(struct inode *inode, struct file *file)
 {
 struct net_device *net_dev = (struct net_device *)inode-&amp;gt;i_private;
-return single_open(file, bla_claim_table_seq_print_text, net_dev);
+return single_open(file, batadv_bla_claim_table_seq_print_text,
+   net_dev);
 }
 #endif
 
 static int transtable_local_open(struct inode *inode, struct file *file)
 {
 struct net_device *net_dev = (struct net_device *)inode-&amp;gt;i_private;
-return single_open(file, tt_local_seq_print_text, net_dev);
+return single_open(file, batadv_tt_local_seq_print_text, net_dev);
 }
 
 static int vis_data_open(struct inode *inode, struct file *file)
 {
 struct net_device *net_dev = (struct net_device *)inode-&amp;gt;i_private;
-return single_open(file, vis_seq_print_text, net_dev);
+return single_open(file, batadv_vis_seq_print_text, net_dev);
 }
 
 struct bat_debuginfo {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -304,7 +305,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static struct bat_debuginfo *mesh_debuginfos[] = {
 NULL,
 };
 
-void debugfs_init(void)
+void batadv_debugfs_init(void)
 {
 struct bat_debuginfo *bat_debug;
 struct dentry *file;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -327,7 +328,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 return;
 }
 
-void debugfs_destroy(void)
+void batadv_debugfs_destroy(void)
 {
 if (bat_debugfs) {
 debugfs_remove_recursive(bat_debugfs);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -335,7 +336,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void debugfs_destroy(void)
 }
 }
 
-int debugfs_add_meshif(struct net_device *dev)
+int batadv_debugfs_add_meshif(struct net_device *dev)
 {
 struct bat_priv *bat_priv = netdev_priv(dev);
 struct bat_debuginfo **bat_debug;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -348,7 +349,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int debugfs_add_meshif(struct net_device *dev)
 if (!bat_priv-&amp;gt;debug_dir)
 goto out;
 
-bat_socket_setup(bat_priv);
+batadv_socket_setup(bat_priv);
 debug_log_setup(bat_priv);
 
 for (bat_debug = mesh_debuginfos; *bat_debug; ++bat_debug) {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -375,7 +376,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 #endif /* CONFIG_DEBUG_FS */
 }
 
-void debugfs_del_meshif(struct net_device *dev)
+void batadv_debugfs_del_meshif(struct net_device *dev)
 {
 struct bat_priv *bat_priv = netdev_priv(dev);
 
diff --git a/bat_debugfs.h b/bat_debugfs.h
index d605c67..3b206c8 100644
--- a/bat_debugfs.h
+++ b/bat_debugfs.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -25,9 +25,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 #define DEBUGFS_BAT_SUBDIR "batman_adv"
 
-void debugfs_init(void);
-void debugfs_destroy(void);
-int debugfs_add_meshif(struct net_device *dev);
-void debugfs_del_meshif(struct net_device *dev);
+void batadv_debugfs_init(void);
+void batadv_debugfs_destroy(void);
+int batadv_debugfs_add_meshif(struct net_device *dev);
+void batadv_debugfs_del_meshif(struct net_device *dev);
 
 #endif /* _NET_BATMAN_ADV_DEBUGFS_H_ */
diff --git a/bat_iv_ogm.c b/bat_iv_ogm.c
index 8b0ecf3..82fc03b 100644
--- a/bat_iv_ogm.c
+++ b/bat_iv_ogm.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -138,7 +138,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static uint8_t hop_penalty(uint8_t tq, const struct bat_priv *bat_priv)
 static int bat_iv_ogm_aggr_packet(int buff_pos, int packet_len,
   int tt_num_changes)
 {
-int next_buff_pos = buff_pos + BATMAN_OGM_HLEN + tt_len(tt_num_changes);
+int next_buff_pos = 0;
+
+next_buff_pos += buff_pos + BATMAN_OGM_HLEN;
+next_buff_pos += batadv_tt_len(tt_num_changes);
 
 return (next_buff_pos &amp;lt;= packet_len) &amp;amp;&amp;amp;
 (next_buff_pos &amp;lt;= MAX_AGGREGATION_BYTES);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -188,8 +191,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void bat_iv_ogm_send_to_if(struct forw_packet *forw_packet,
 batman_ogm_packet-&amp;gt;ttvn, hard_iface-&amp;gt;net_dev-&amp;gt;name,
 hard_iface-&amp;gt;net_dev-&amp;gt;dev_addr);
 
-buff_pos += BATMAN_OGM_HLEN +
-tt_len(batman_ogm_packet-&amp;gt;tt_num_changes);
+buff_pos += BATMAN_OGM_HLEN;
+buff_pos += batadv_tt_len(batman_ogm_packet-&amp;gt;tt_num_changes);
 packet_num++;
 batman_ogm_packet = (struct batman_ogm_packet *)
 (forw_packet-&amp;gt;skb-&amp;gt;data + buff_pos);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -201,7 +204,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void bat_iv_ogm_send_to_if(struct forw_packet *forw_packet,
 inc_counter(bat_priv, BAT_CNT_MGMT_TX);
 add_counter(bat_priv, BAT_CNT_MGMT_TX_BYTES,
     skb-&amp;gt;len + ETH_HLEN);
-send_skb_packet(skb, hard_iface, broadcast_addr);
+batadv_send_skb_packet(skb, hard_iface, batadv_broadcast_addr);
 }
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -250,8 +253,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void bat_iv_ogm_emit(struct forw_packet *forw_packet)
 forw_packet-&amp;gt;if_incoming-&amp;gt;net_dev-&amp;gt;dev_addr);
 
 /* skb is only used once and than forw_packet is free'd */
-send_skb_packet(forw_packet-&amp;gt;skb, forw_packet-&amp;gt;if_incoming,
-broadcast_addr);
+batadv_send_skb_packet(forw_packet-&amp;gt;skb,
+       forw_packet-&amp;gt;if_incoming,
+       batadv_broadcast_addr);
 forw_packet-&amp;gt;skb = NULL;
 
 goto out;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -259,7 +263,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void bat_iv_ogm_emit(struct forw_packet *forw_packet)
 
 /* broadcast on every interface */
 rcu_read_lock();
-list_for_each_entry_rcu(hard_iface, &amp;amp;hardif_list, list) {
+list_for_each_entry_rcu(hard_iface, &amp;amp;batadv_hardif_list, list) {
 if (hard_iface-&amp;gt;soft_iface != soft_iface)
 continue;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -420,8 +424,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void bat_iv_ogm_aggregate_new(const unsigned char *packet_buff,
 
 /* start timer for this packet */
 INIT_DELAYED_WORK(&amp;amp;forw_packet_aggr-&amp;gt;delayed_work,
-  send_outstanding_bat_ogm_packet);
-queue_delayed_work(bat_event_workqueue,
+  batadv_send_outstanding_bat_ogm_packet);
+queue_delayed_work(batadv_event_workqueue,
    &amp;amp;forw_packet_aggr-&amp;gt;delayed_work,
    send_time - jiffies);
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -555,7 +559,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void bat_iv_ogm_forward(struct orig_node *orig_node,
 batman_ogm_packet-&amp;gt;flags &amp;amp;= ~DIRECTLINK;
 
 bat_iv_ogm_queue_add(bat_priv, (unsigned char *)batman_ogm_packet,
-     BATMAN_OGM_HLEN + tt_len(tt_num_changes),
+     BATMAN_OGM_HLEN + batadv_tt_len(tt_num_changes),
      if_incoming, 0, bat_iv_ogm_fwd_send_time());
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -595,7 +599,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void bat_iv_ogm_schedule(struct hard_iface *hard_iface,
 
 atomic_inc(&amp;amp;hard_iface-&amp;gt;seqno);
 
-slide_own_bcast_window(hard_iface);
+batadv_slide_own_bcast_window(hard_iface);
 bat_iv_ogm_queue_add(bat_priv, hard_iface-&amp;gt;packet_buff,
      hard_iface-&amp;gt;packet_len, hard_iface, 1,
      bat_iv_ogm_emit_send_time(bat_priv));
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -629,7 +633,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void bat_iv_ogm_orig_update(struct bat_priv *bat_priv,
     (tmp_neigh_node-&amp;gt;if_incoming == if_incoming) &amp;amp;&amp;amp;
      atomic_inc_not_zero(&amp;amp;tmp_neigh_node-&amp;gt;refcount)) {
 if (neigh_node)
-neigh_node_free_ref(neigh_node);
+batadv_neigh_node_free_ref(neigh_node);
 neigh_node = tmp_neigh_node;
 continue;
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -638,17 +642,17 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void bat_iv_ogm_orig_update(struct bat_priv *bat_priv,
 continue;
 
 spin_lock_bh(&amp;amp;tmp_neigh_node-&amp;gt;lq_update_lock);
-ring_buffer_set(tmp_neigh_node-&amp;gt;tq_recv,
-&amp;amp;tmp_neigh_node-&amp;gt;tq_index, 0);
+batadv_ring_buffer_set(tmp_neigh_node-&amp;gt;tq_recv,
+       &amp;amp;tmp_neigh_node-&amp;gt;tq_index, 0);
 tmp_neigh_node-&amp;gt;tq_avg =
-ring_buffer_avg(tmp_neigh_node-&amp;gt;tq_recv);
+batadv_ring_buffer_avg(tmp_neigh_node-&amp;gt;tq_recv);
 spin_unlock_bh(&amp;amp;tmp_neigh_node-&amp;gt;lq_update_lock);
 }
 
 if (!neigh_node) {
 struct orig_node *orig_tmp;
 
-orig_tmp = get_orig_node(bat_priv, ethhdr-&amp;gt;h_source);
+orig_tmp = batadv_get_orig_node(bat_priv, ethhdr-&amp;gt;h_source);
 if (!orig_tmp)
 goto unlock;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -656,7 +660,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void bat_iv_ogm_orig_update(struct bat_priv *bat_priv,
   orig_node, orig_tmp,
   batman_ogm_packet-&amp;gt;seqno);
 
-orig_node_free_ref(orig_tmp);
+batadv_orig_node_free_ref(orig_tmp);
 if (!neigh_node)
 goto unlock;
 } else
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -669,10 +673,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void bat_iv_ogm_orig_update(struct bat_priv *bat_priv,
 neigh_node-&amp;gt;last_seen = jiffies;
 
 spin_lock_bh(&amp;amp;neigh_node-&amp;gt;lq_update_lock);
-ring_buffer_set(neigh_node-&amp;gt;tq_recv,
-&amp;amp;neigh_node-&amp;gt;tq_index,
-batman_ogm_packet-&amp;gt;tq);
-neigh_node-&amp;gt;tq_avg = ring_buffer_avg(neigh_node-&amp;gt;tq_recv);
+batadv_ring_buffer_set(neigh_node-&amp;gt;tq_recv,
+       &amp;amp;neigh_node-&amp;gt;tq_index,
+       batman_ogm_packet-&amp;gt;tq);
+neigh_node-&amp;gt;tq_avg = batadv_ring_buffer_avg(neigh_node-&amp;gt;tq_recv);
 spin_unlock_bh(&amp;amp;neigh_node-&amp;gt;lq_update_lock);
 
 if (!is_duplicate) {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -680,11 +684,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void bat_iv_ogm_orig_update(struct bat_priv *bat_priv,
 neigh_node-&amp;gt;last_ttl = batman_ogm_packet-&amp;gt;header.ttl;
 }
 
-bonding_candidate_add(orig_node, neigh_node);
+batadv_bonding_candidate_add(orig_node, neigh_node);
 
 /* if this neighbor already is our next hop there is nothing
  * to change */
-router = orig_node_get_router(orig_node);
+router = batadv_orig_node_get_router(orig_node);
 if (router == neigh_node)
 goto update_tt;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -711,7 +715,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void bat_iv_ogm_orig_update(struct bat_priv *bat_priv,
 goto update_tt;
 }
 
-update_route(bat_priv, orig_node, neigh_node);
+batadv_update_route(bat_priv, orig_node, neigh_node);
 
 update_tt:
 /* I have to check for transtable changes only if the OGM has been
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -719,14 +723,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; update_tt:
 if (((batman_ogm_packet-&amp;gt;orig != ethhdr-&amp;gt;h_source) &amp;amp;&amp;amp;
      (batman_ogm_packet-&amp;gt;header.ttl &amp;gt; 2)) ||
     (batman_ogm_packet-&amp;gt;flags &amp;amp; PRIMARIES_FIRST_HOP))
-tt_update_orig(bat_priv, orig_node, tt_buff,
-       batman_ogm_packet-&amp;gt;tt_num_changes,
-       batman_ogm_packet-&amp;gt;ttvn,
-       ntohs(batman_ogm_packet-&amp;gt;tt_crc));
+batadv_tt_update_orig(bat_priv, orig_node, tt_buff,
+      batman_ogm_packet-&amp;gt;tt_num_changes,
+      batman_ogm_packet-&amp;gt;ttvn,
+      ntohs(batman_ogm_packet-&amp;gt;tt_crc));
 
 if (orig_node-&amp;gt;gw_flags != batman_ogm_packet-&amp;gt;gw_flags)
-gw_node_update(bat_priv, orig_node,
-       batman_ogm_packet-&amp;gt;gw_flags);
+batadv_gw_node_update(bat_priv, orig_node,
+      batman_ogm_packet-&amp;gt;gw_flags);
 
 orig_node-&amp;gt;gw_flags = batman_ogm_packet-&amp;gt;gw_flags;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -734,7 +738,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; update_tt:
 if ((orig_node-&amp;gt;gw_flags) &amp;amp;&amp;amp;
     (atomic_read(&amp;amp;bat_priv-&amp;gt;gw_mode) == GW_MODE_CLIENT) &amp;amp;&amp;amp;
     (atomic_read(&amp;amp;bat_priv-&amp;gt;gw_sel_class) &amp;gt; 2))
-gw_check_election(bat_priv, orig_node);
+batadv_gw_check_election(bat_priv, orig_node);
 
 goto out;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -742,9 +746,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; unlock:
 rcu_read_unlock();
 out:
 if (neigh_node)
-neigh_node_free_ref(neigh_node);
+batadv_neigh_node_free_ref(neigh_node);
 if (router)
-neigh_node_free_ref(router);
+batadv_neigh_node_free_ref(router);
 }
 
 static int bat_iv_ogm_calc_tq(struct orig_node *orig_node,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -844,7 +848,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int bat_iv_ogm_calc_tq(struct orig_node *orig_node,
 
 out:
 if (neigh_node)
-neigh_node_free_ref(neigh_node);
+batadv_neigh_node_free_ref(neigh_node);
 return ret;
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -871,7 +875,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int bat_iv_ogm_update_seqnos(const struct ethhdr *ethhdr,
 int set_mark, ret = -1;
 uint32_t seqno = ntohl(batman_ogm_packet-&amp;gt;seqno);
 
-orig_node = get_orig_node(bat_priv, batman_ogm_packet-&amp;gt;orig);
+orig_node = batadv_get_orig_node(bat_priv, batman_ogm_packet-&amp;gt;orig);
 if (!orig_node)
 return 0;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -880,8 +884,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int bat_iv_ogm_update_seqnos(const struct ethhdr *ethhdr,
 
 /* signalize caller that the packet is to be dropped. */
 if (!hlist_empty(&amp;amp;orig_node-&amp;gt;neigh_list) &amp;amp;&amp;amp;
-    window_protected(bat_priv, seq_diff,
-     &amp;amp;orig_node-&amp;gt;batman_seqno_reset))
+    batadv_window_protected(bat_priv, seq_diff,
+    &amp;amp;orig_node-&amp;gt;batman_seqno_reset))
 goto out;
 
 rcu_read_lock();
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -899,9 +903,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int bat_iv_ogm_update_seqnos(const struct ethhdr *ethhdr,
 set_mark = 0;
 
 /* if the window moved, set the update flag. */
-need_update |= bit_get_packet(bat_priv,
-      tmp_neigh_node-&amp;gt;real_bits,
-      seq_diff, set_mark);
+need_update |= batadv_bit_get_packet(bat_priv,
+     tmp_neigh_node-&amp;gt;real_bits,
+     seq_diff, set_mark);
 
 tmp_neigh_node-&amp;gt;real_packet_count =
 bitmap_weight(tmp_neigh_node-&amp;gt;real_bits,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -920,7 +924,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int bat_iv_ogm_update_seqnos(const struct ethhdr *ethhdr,
 
 out:
 spin_unlock_bh(&amp;amp;orig_node-&amp;gt;ogm_cnt_lock);
-orig_node_free_ref(orig_node);
+batadv_orig_node_free_ref(orig_node);
 return ret;
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -976,7 +980,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void bat_iv_ogm_process(const struct ethhdr *ethhdr,
 batman_ogm_packet-&amp;gt;header.version, has_directlink_flag);
 
 rcu_read_lock();
-list_for_each_entry_rcu(hard_iface, &amp;amp;hardif_list, list) {
+list_for_each_entry_rcu(hard_iface, &amp;amp;batadv_hardif_list, list) {
 if (hard_iface-&amp;gt;if_status != IF_ACTIVE)
 continue;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1025,7 +1029,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void bat_iv_ogm_process(const struct ethhdr *ethhdr,
 unsigned long *word;
 int offset;
 
-orig_neigh_node = get_orig_node(bat_priv, ethhdr-&amp;gt;h_source);
+orig_neigh_node = batadv_get_orig_node(bat_priv,
+       ethhdr-&amp;gt;h_source);
 if (!orig_neigh_node)
 return;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1049,7 +1054,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void bat_iv_ogm_process(const struct ethhdr *ethhdr,
 
 bat_dbg(DBG_BATMAN, bat_priv,
 "Drop packet: originator packet from myself (via neighbor)\n");
-orig_node_free_ref(orig_neigh_node);
+batadv_orig_node_free_ref(orig_neigh_node);
 return;
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1067,7 +1072,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void bat_iv_ogm_process(const struct ethhdr *ethhdr,
 return;
 }
 
-orig_node = get_orig_node(bat_priv, batman_ogm_packet-&amp;gt;orig);
+orig_node = batadv_get_orig_node(bat_priv, batman_ogm_packet-&amp;gt;orig);
 if (!orig_node)
 return;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1087,9 +1092,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void bat_iv_ogm_process(const struct ethhdr *ethhdr,
 goto out;
 }
 
-router = orig_node_get_router(orig_node);
+router = batadv_orig_node_get_router(orig_node);
 if (router)
-router_router = orig_node_get_router(router-&amp;gt;orig_node);
+router_router = batadv_orig_node_get_router(router-&amp;gt;orig_node);
 
 if ((router &amp;amp;&amp;amp; router-&amp;gt;tq_avg != 0) &amp;amp;&amp;amp;
     (compare_eth(router-&amp;gt;addr, ethhdr-&amp;gt;h_source)))
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1111,11 +1116,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void bat_iv_ogm_process(const struct ethhdr *ethhdr,
  * originator mac */
 orig_neigh_node = (is_single_hop_neigh ?
    orig_node :
-   get_orig_node(bat_priv, ethhdr-&amp;gt;h_source));
+   batadv_get_orig_node(bat_priv, ethhdr-&amp;gt;h_source));
 if (!orig_neigh_node)
 goto out;
 
-orig_neigh_router = orig_node_get_router(orig_neigh_node);
+orig_neigh_router = batadv_orig_node_get_router(orig_neigh_node);
 
 /* drop packet if sender is not a direct neighbor and if we
  * don't route towards it */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1128,7 +1133,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void bat_iv_ogm_process(const struct ethhdr *ethhdr,
 is_bidirectional = bat_iv_ogm_calc_tq(orig_node, orig_neigh_node,
       batman_ogm_packet, if_incoming);
 
-bonding_save_primary(orig_node, orig_neigh_node, batman_ogm_packet);
+batadv_bonding_save_primary(orig_node, orig_neigh_node,
+    batman_ogm_packet);
 
 /* update ranking if it is not a duplicate or has the same
  * seqno and similar ttl as the non-duplicate */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1174,16 +1180,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void bat_iv_ogm_process(const struct ethhdr *ethhdr,
 
 out_neigh:
 if ((orig_neigh_node) &amp;amp;&amp;amp; (!is_single_hop_neigh))
-orig_node_free_ref(orig_neigh_node);
+batadv_orig_node_free_ref(orig_neigh_node);
 out:
 if (router)
-neigh_node_free_ref(router);
+batadv_neigh_node_free_ref(router);
 if (router_router)
-neigh_node_free_ref(router_router);
+batadv_neigh_node_free_ref(router_router);
 if (orig_neigh_router)
-neigh_node_free_ref(orig_neigh_router);
+batadv_neigh_node_free_ref(orig_neigh_router);
 
-orig_node_free_ref(orig_node);
+batadv_orig_node_free_ref(orig_node);
 }
 
 static int bat_iv_ogm_receive(struct sk_buff *skb,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1196,7 +1202,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int bat_iv_ogm_receive(struct sk_buff *skb,
 unsigned char *tt_buff, *packet_buff;
 bool ret;
 
-ret = check_management_packet(skb, if_incoming, BATMAN_OGM_HLEN);
+ret = batadv_check_management_packet(skb, if_incoming, BATMAN_OGM_HLEN);
 if (!ret)
 return NET_RX_DROP;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1221,8 +1227,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int bat_iv_ogm_receive(struct sk_buff *skb,
 bat_iv_ogm_process(ethhdr, batman_ogm_packet,
    tt_buff, if_incoming);
 
-buff_pos += BATMAN_OGM_HLEN +
-tt_len(batman_ogm_packet-&amp;gt;tt_num_changes);
+buff_pos += BATMAN_OGM_HLEN;
+buff_pos += batadv_tt_len(batman_ogm_packet-&amp;gt;tt_num_changes);
 
 batman_ogm_packet = (struct batman_ogm_packet *)
 (packet_buff + buff_pos);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1243,23 +1249,23 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static struct bat_algo_ops batman_iv __read_mostly = {
 .bat_ogm_emit = bat_iv_ogm_emit,
 };
 
-int __init bat_iv_init(void)
+int __init batadv_iv_init(void)
 {
 int ret;
 
 /* batman originator packet */
-ret = recv_handler_register(BAT_IV_OGM, bat_iv_ogm_receive);
+ret = batadv_recv_handler_register(BAT_IV_OGM, bat_iv_ogm_receive);
 if (ret &amp;lt; 0)
 goto out;
 
-ret = bat_algo_register(&amp;amp;batman_iv);
+ret = batadv_algo_register(&amp;amp;batman_iv);
 if (ret &amp;lt; 0)
 goto handler_unregister;
 
 goto out;
 
 handler_unregister:
-recv_handler_unregister(BAT_IV_OGM);
+batadv_recv_handler_unregister(BAT_IV_OGM);
 out:
 return ret;
 }
diff --git a/bat_sysfs.c b/bat_sysfs.c
index 6ba3d89..6a2a812 100644
--- a/bat_sysfs.c
+++ b/bat_sysfs.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -326,7 +326,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static ssize_t show_bat_algo(struct kobject *kobj, struct attribute *attr,
 static void post_gw_deselect(struct net_device *net_dev)
 {
 struct bat_priv *bat_priv = netdev_priv(net_dev);
-gw_deselect(bat_priv);
+batadv_gw_deselect(bat_priv);
 }
 
 static ssize_t show_gw_mode(struct kobject *kobj, struct attribute *attr,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -397,7 +397,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static ssize_t store_gw_mode(struct kobject *kobj, struct attribute *attr,
 bat_info(net_dev, "Changing gw mode from: %s to: %s\n",
  curr_gw_mode_str, buff);
 
-gw_deselect(bat_priv);
+batadv_gw_deselect(bat_priv);
 atomic_set(&amp;amp;bat_priv-&amp;gt;gw_mode, (unsigned int)gw_mode_tmp);
 return count;
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -409,7 +409,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static ssize_t show_gw_bwidth(struct kobject *kobj, struct attribute *attr,
 int down, up;
 int gw_bandwidth = atomic_read(&amp;amp;bat_priv-&amp;gt;gw_bandwidth);
 
-gw_bandwidth_to_kbit(gw_bandwidth, &amp;amp;down, &amp;amp;up);
+batadv_gw_bandwidth_to_kbit(gw_bandwidth, &amp;amp;down, &amp;amp;up);
 return sprintf(buff, "%i%s/%i%s\n",
        (down &amp;gt; 2048 ? down / 1024 : down),
        (down &amp;gt; 2048 ? "MBit" : "KBit"),
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -425,7 +425,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static ssize_t store_gw_bwidth(struct kobject *kobj, struct attribute *attr,
 if (buff[count - 1] == '\n')
 buff[count - 1] = '\0';
 
-return gw_bandwidth_set(net_dev, buff, count);
+return batadv_gw_bandwidth_set(net_dev, buff, count);
 }
 
 BAT_ATTR_SIF_BOOL(aggregated_ogms, S_IRUGO | S_IWUSR, NULL);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -433,7 +433,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; BAT_ATTR_SIF_BOOL(bonding, S_IRUGO | S_IWUSR, NULL);
 #ifdef CONFIG_BATMAN_ADV_BLA
 BAT_ATTR_SIF_BOOL(bridge_loop_avoidance, S_IRUGO | S_IWUSR, NULL);
 #endif
-BAT_ATTR_SIF_BOOL(fragmentation, S_IRUGO | S_IWUSR, update_min_mtu);
+BAT_ATTR_SIF_BOOL(fragmentation, S_IRUGO | S_IWUSR, batadv_update_min_mtu);
 BAT_ATTR_SIF_BOOL(ap_isolation, S_IRUGO | S_IWUSR, NULL);
 static BAT_ATTR(vis_mode, S_IRUGO | S_IWUSR, show_vis_mode, store_vis_mode);
 static BAT_ATTR(routing_algo, S_IRUGO, show_bat_algo, NULL);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -469,7 +469,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static struct bat_attribute *mesh_attrs[] = {
 NULL,
 };
 
-int sysfs_add_meshif(struct net_device *dev)
+int batadv_sysfs_add_meshif(struct net_device *dev)
 {
 struct kobject *batif_kobject = &amp;amp;dev-&amp;gt;dev.kobj;
 struct bat_priv *bat_priv = netdev_priv(dev);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -507,7 +507,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 return -ENOMEM;
 }
 
-void sysfs_del_meshif(struct net_device *dev)
+void batadv_sysfs_del_meshif(struct net_device *dev)
 {
 struct bat_priv *bat_priv = netdev_priv(dev);
 struct bat_attribute **bat_attr;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -523,7 +523,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static ssize_t show_mesh_iface(struct kobject *kobj, struct attribute *attr,
        char *buff)
 {
 struct net_device *net_dev = kobj_to_netdev(kobj);
-struct hard_iface *hard_iface = hardif_get_by_netdev(net_dev);
+struct hard_iface *hard_iface = batadv_hardif_get_by_netdev(net_dev);
 ssize_t length;
 
 if (!hard_iface)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -541,7 +541,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static ssize_t store_mesh_iface(struct kobject *kobj, struct attribute *attr,
 char *buff, size_t count)
 {
 struct net_device *net_dev = kobj_to_netdev(kobj);
-struct hard_iface *hard_iface = hardif_get_by_netdev(net_dev);
+struct hard_iface *hard_iface = batadv_hardif_get_by_netdev(net_dev);
 int status_tmp = -1;
 int ret = count;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -576,15 +576,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static ssize_t store_mesh_iface(struct kobject *kobj, struct attribute *attr,
 }
 
 if (status_tmp == IF_NOT_IN_USE) {
-hardif_disable_interface(hard_iface);
+batadv_hardif_disable_interface(hard_iface);
 goto unlock;
 }
 
 /* if the interface already is in use */
 if (hard_iface-&amp;gt;if_status != IF_NOT_IN_USE)
-hardif_disable_interface(hard_iface);
+batadv_hardif_disable_interface(hard_iface);
 
-ret = hardif_enable_interface(hard_iface, buff);
+ret = batadv_hardif_enable_interface(hard_iface, buff);
 
 unlock:
 rtnl_unlock();
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -597,7 +597,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static ssize_t show_iface_status(struct kobject *kobj, struct attribute *attr,
  char *buff)
 {
 struct net_device *net_dev = kobj_to_netdev(kobj);
-struct hard_iface *hard_iface = hardif_get_by_netdev(net_dev);
+struct hard_iface *hard_iface = batadv_hardif_get_by_netdev(net_dev);
 ssize_t length;
 
 if (!hard_iface)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -637,7 +637,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static struct bat_attribute *batman_attrs[] = {
 NULL,
 };
 
-int sysfs_add_hardif(struct kobject **hardif_obj, struct net_device *dev)
+int batadv_sysfs_add_hardif(struct kobject **hardif_obj, struct net_device *dev)
 {
 struct kobject *hardif_kobject = &amp;amp;dev-&amp;gt;dev.kobj;
 struct bat_attribute **bat_attr;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -671,14 +671,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 return -ENOMEM;
 }
 
-void sysfs_del_hardif(struct kobject **hardif_obj)
+void batadv_sysfs_del_hardif(struct kobject **hardif_obj)
 {
 kobject_put(*hardif_obj);
 *hardif_obj = NULL;
 }
 
-int throw_uevent(struct bat_priv *bat_priv, enum uev_type type,
- enum uev_action action, const char *data)
+int batadv_throw_uevent(struct bat_priv *bat_priv, enum uev_type type,
+enum uev_action action, const char *data)
 {
 int ret = -ENOMEM;
 struct hard_iface *primary_if = NULL;
diff --git a/bat_sysfs.h b/bat_sysfs.h
index fece77a..f01aea8 100644
--- a/bat_sysfs.h
+++ b/bat_sysfs.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -34,11 +34,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct bat_attribute {
  char *buf, size_t count);
 };
 
-int sysfs_add_meshif(struct net_device *dev);
-void sysfs_del_meshif(struct net_device *dev);
-int sysfs_add_hardif(struct kobject **hardif_obj, struct net_device *dev);
-void sysfs_del_hardif(struct kobject **hardif_obj);
-int throw_uevent(struct bat_priv *bat_priv, enum uev_type type,
- enum uev_action action, const char *data);
+int batadv_sysfs_add_meshif(struct net_device *dev);
+void batadv_sysfs_del_meshif(struct net_device *dev);
+int batadv_sysfs_add_hardif(struct kobject **hardif_obj,
+    struct net_device *dev);
+void batadv_sysfs_del_hardif(struct kobject **hardif_obj);
+int batadv_throw_uevent(struct bat_priv *bat_priv, enum uev_type type,
+enum uev_action action, const char *data);
 
 #endif /* _NET_BATMAN_ADV_SYSFS_H_ */
diff --git a/bitarray.c b/bitarray.c
index 07ae6e1..99ed991 100644
--- a/bitarray.c
+++ b/bitarray.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -25,7 +25,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #include &amp;lt;linux/bitops.h&amp;gt;
 
 /* shift the packet array by n places. */
-static void bat_bitmap_shift_left(unsigned long *seq_bits, int32_t n)
+static void batadv_bitmap_shift_left(unsigned long *seq_bits, int32_t n)
 {
 if (n &amp;lt;= 0 || n &amp;gt;= TQ_LOCAL_WINDOW_SIZE)
 return;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -40,8 +40,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void bat_bitmap_shift_left(unsigned long *seq_bits, int32_t n)
  *  1 if the window was moved (either new or very old)
  *  0 if the window was not moved/shifted.
  */
-int bit_get_packet(void *priv, unsigned long *seq_bits,
-    int32_t seq_num_diff, int set_mark)
+int batadv_bit_get_packet(void *priv, unsigned long *seq_bits,
+  int32_t seq_num_diff, int set_mark)
 {
 struct bat_priv *bat_priv = priv;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -58,7 +58,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int bit_get_packet(void *priv, unsigned long *seq_bits,
  * set the mark if required */
 
 if ((seq_num_diff &amp;gt; 0) &amp;amp;&amp;amp; (seq_num_diff &amp;lt; TQ_LOCAL_WINDOW_SIZE)) {
-bat_bitmap_shift_left(seq_bits, seq_num_diff);
+batadv_bitmap_shift_left(seq_bits, seq_num_diff);
 
 if (set_mark)
 bat_set_bit(seq_bits, 0);
diff --git a/bitarray.h b/bitarray.h
index 1835c15..e855ddd 100644
--- a/bitarray.h
+++ b/bitarray.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -48,7 +48,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static inline void bat_set_bit(unsigned long *seq_bits, int32_t n)
 
 /* receive and process one packet, returns 1 if received seq_num is considered
  * new, 0 if old  */
-int bit_get_packet(void *priv, unsigned long *seq_bits,
-   int32_t seq_num_diff, int set_mark);
+int batadv_bit_get_packet(void *priv, unsigned long *seq_bits,
+  int32_t seq_num_diff, int set_mark);
 
 #endif /* _NET_BATMAN_ADV_BITARRAY_H_ */
diff --git a/bridge_loop_avoidance.c b/bridge_loop_avoidance.c
index 89e9721..0c5a3ef 100644
--- a/bridge_loop_avoidance.c
+++ b/bridge_loop_avoidance.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -397,9 +397,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static struct backbone_gw *bla_get_backbone_gw(struct bat_priv *bat_priv,
 /* this is a gateway now, remove any tt entries */
 orig_node = orig_hash_find(bat_priv, orig);
 if (orig_node) {
-tt_global_del_orig(bat_priv, orig_node,
-   "became a backbone gateway");
-orig_node_free_ref(orig_node);
+batadv_tt_global_del_orig(bat_priv, orig_node,
+  "became a backbone gateway");
+batadv_orig_node_free_ref(orig_node);
 }
 return entry;
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -804,7 +804,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int check_claim_group(struct bat_priv *bat_priv,
 bla_dst_own-&amp;gt;group = bla_dst-&amp;gt;group;
 }
 
-orig_node_free_ref(orig_node);
+batadv_orig_node_free_ref(orig_node);
 
 return 2;
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1019,9 +1019,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; purge_now:
  * Update the backbone gateways when the own orig address changes.
  *
  */
-void bla_update_orig_address(struct bat_priv *bat_priv,
-     struct hard_iface *primary_if,
-     struct hard_iface *oldif)
+void batadv_bla_update_orig_address(struct bat_priv *bat_priv,
+    struct hard_iface *primary_if,
+    struct hard_iface *oldif)
 {
 struct backbone_gw *backbone_gw;
 struct hlist_node *node;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1070,7 +1070,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void bla_update_orig_address(struct bat_priv *bat_priv,
 static void bla_start_timer(struct bat_priv *bat_priv)
 {
 INIT_DELAYED_WORK(&amp;amp;bat_priv-&amp;gt;bla_work, bla_periodic_work);
-queue_delayed_work(bat_event_workqueue, &amp;amp;bat_priv-&amp;gt;bla_work,
+queue_delayed_work(batadv_event_workqueue, &amp;amp;bat_priv-&amp;gt;bla_work,
    msecs_to_jiffies(BLA_PERIOD_LENGTH));
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1136,7 +1136,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static struct lock_class_key claim_hash_lock_class_key;
 static struct lock_class_key backbone_hash_lock_class_key;
 
 /* initialize all bla structures */
-int bla_init(struct bat_priv *bat_priv)
+int batadv_bla_init(struct bat_priv *bat_priv)
 {
 int i;
 uint8_t claim_dest[ETH_ALEN] = {0xff, 0x43, 0x05, 0x00, 0x00, 0x00};
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1166,8 +1166,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int bla_init(struct bat_priv *bat_priv)
 if (bat_priv-&amp;gt;claim_hash)
 return 0;
 
-bat_priv-&amp;gt;claim_hash = hash_new(128);
-bat_priv-&amp;gt;backbone_hash = hash_new(32);
+bat_priv-&amp;gt;claim_hash = batadv_hash_new(128);
+bat_priv-&amp;gt;backbone_hash = batadv_hash_new(32);
 
 if (!bat_priv-&amp;gt;claim_hash || !bat_priv-&amp;gt;backbone_hash)
 return -ENOMEM;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1198,9 +1198,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int bla_init(struct bat_priv *bat_priv)
  *
  **/
 
-int bla_check_bcast_duplist(struct bat_priv *bat_priv,
-    struct bcast_packet *bcast_packet,
-    int hdr_size)
+int batadv_bla_check_bcast_duplist(struct bat_priv *bat_priv,
+   struct bcast_packet *bcast_packet,
+   int hdr_size)
 {
 int i, length, curr;
 uint8_t *content;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1259,7 +1259,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int bla_check_bcast_duplist(struct bat_priv *bat_priv,
  *
  */
 
-int bla_is_backbone_gw_orig(struct bat_priv *bat_priv, uint8_t *orig)
+int batadv_bla_is_backbone_gw_orig(struct bat_priv *bat_priv, uint8_t *orig)
 {
 struct hashtable_t *hash = bat_priv-&amp;gt;backbone_hash;
 struct hlist_head *head;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1300,8 +1300,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int bla_is_backbone_gw_orig(struct bat_priv *bat_priv, uint8_t *orig)
  * returns 0.
  *
  */
-int bla_is_backbone_gw(struct sk_buff *skb,
-       struct orig_node *orig_node, int hdr_size)
+int batadv_bla_is_backbone_gw(struct sk_buff *skb,
+      struct orig_node *orig_node, int hdr_size)
 {
 struct ethhdr *ethhdr;
 struct vlan_ethhdr *vhdr;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1338,7 +1338,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int bla_is_backbone_gw(struct sk_buff *skb,
 }
 
 /* free all bla structures (for softinterface free or module unload) */
-void bla_free(struct bat_priv *bat_priv)
+void batadv_bla_free(struct bat_priv *bat_priv)
 {
 struct hard_iface *primary_if;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1347,12 +1347,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void bla_free(struct bat_priv *bat_priv)
 
 if (bat_priv-&amp;gt;claim_hash) {
 bla_purge_claims(bat_priv, primary_if, 1);
-hash_destroy(bat_priv-&amp;gt;claim_hash);
+batadv_hash_destroy(bat_priv-&amp;gt;claim_hash);
 bat_priv-&amp;gt;claim_hash = NULL;
 }
 if (bat_priv-&amp;gt;backbone_hash) {
 bla_purge_backbone_gw(bat_priv, 1);
-hash_destroy(bat_priv-&amp;gt;backbone_hash);
+batadv_hash_destroy(bat_priv-&amp;gt;backbone_hash);
 bat_priv-&amp;gt;backbone_hash = NULL;
 }
 if (primary_if)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1373,7 +1373,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void bla_free(struct bat_priv *bat_priv)
  * process the skb.
  *
  */
-int bla_rx(struct bat_priv *bat_priv, struct sk_buff *skb, short vid)
+int batadv_bla_rx(struct bat_priv *bat_priv, struct sk_buff *skb, short vid)
 {
 struct ethhdr *ethhdr;
 struct claim search_claim, *claim = NULL;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1462,7 +1462,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
  * process the skb.
  *
  */
-int bla_tx(struct bat_priv *bat_priv, struct sk_buff *skb, short vid)
+int batadv_bla_tx(struct bat_priv *bat_priv, struct sk_buff *skb, short vid)
 {
 struct ethhdr *ethhdr;
 struct claim search_claim, *claim = NULL;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1536,7 +1536,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 return ret;
 }
 
-int bla_claim_table_seq_print_text(struct seq_file *seq, void *offset)
+int batadv_bla_claim_table_seq_print_text(struct seq_file *seq, void *offset)
 {
 struct net_device *net_dev = (struct net_device *)seq-&amp;gt;private;
 struct bat_priv *bat_priv = netdev_priv(net_dev);
diff --git a/bridge_loop_avoidance.h b/bridge_loop_avoidance.h
index e39f93a..3fafed8 100644
--- a/bridge_loop_avoidance.h
+++ b/bridge_loop_avoidance.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -23,73 +23,76 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #define _NET_BATMAN_ADV_BLA_H_
 
 #ifdef CONFIG_BATMAN_ADV_BLA
-int bla_rx(struct bat_priv *bat_priv, struct sk_buff *skb, short vid);
-int bla_tx(struct bat_priv *bat_priv, struct sk_buff *skb, short vid);
-int bla_is_backbone_gw(struct sk_buff *skb,
-       struct orig_node *orig_node, int hdr_size);
-int bla_claim_table_seq_print_text(struct seq_file *seq, void *offset);
-int bla_is_backbone_gw_orig(struct bat_priv *bat_priv, uint8_t *orig);
-int bla_check_bcast_duplist(struct bat_priv *bat_priv,
-    struct bcast_packet *bcast_packet, int hdr_size);
-void bla_update_orig_address(struct bat_priv *bat_priv,
-     struct hard_iface *primary_if,
-     struct hard_iface *oldif);
-int bla_init(struct bat_priv *bat_priv);
-void bla_free(struct bat_priv *bat_priv);
+int batadv_bla_rx(struct bat_priv *bat_priv, struct sk_buff *skb, short vid);
+int batadv_bla_tx(struct bat_priv *bat_priv, struct sk_buff *skb, short vid);
+int batadv_bla_is_backbone_gw(struct sk_buff *skb,
+      struct orig_node *orig_node, int hdr_size);
+int batadv_bla_claim_table_seq_print_text(struct seq_file *seq, void *offset);
+int batadv_bla_is_backbone_gw_orig(struct bat_priv *bat_priv, uint8_t *orig);
+int batadv_bla_check_bcast_duplist(struct bat_priv *bat_priv,
+   struct bcast_packet *bcast_packet,
+   int hdr_size);
+void batadv_bla_update_orig_address(struct bat_priv *bat_priv,
+    struct hard_iface *primary_if,
+    struct hard_iface *oldif);
+int batadv_bla_init(struct bat_priv *bat_priv);
+void batadv_bla_free(struct bat_priv *bat_priv);
 
 #define BLA_CRC_INIT0
 #else /* ifdef CONFIG_BATMAN_ADV_BLA */
 
-static inline int bla_rx(struct bat_priv *bat_priv, struct sk_buff *skb,
- short vid)
+static inline int batadv_bla_rx(struct bat_priv *bat_priv, struct sk_buff *skb,
+short vid)
 {
 return 0;
 }
 
-static inline int bla_tx(struct bat_priv *bat_priv, struct sk_buff *skb,
+static inline int batadv_bla_tx(struct bat_priv *bat_priv, struct sk_buff *skb,
  short vid)
 {
 return 0;
 }
 
-static inline int bla_is_backbone_gw(struct sk_buff *skb,
-     struct orig_node *orig_node,
-     int hdr_size)
+static inline int batadv_bla_is_backbone_gw(struct sk_buff *skb,
+    struct orig_node *orig_node,
+    int hdr_size)
 {
 return 0;
 }
 
-static inline int bla_claim_table_seq_print_text(struct seq_file *seq,
- void *offset)
+static inline int batadv_bla_claim_table_seq_print_text(struct seq_file *seq,
+void *offset)
 {
 return 0;
 }
 
-static inline int bla_is_backbone_gw_orig(struct bat_priv *bat_priv,
-  uint8_t *orig)
+static inline int batadv_bla_is_backbone_gw_orig(struct bat_priv *bat_priv,
+ uint8_t *orig)
 {
 return 0;
 }
 
-static inline int bla_check_bcast_duplist(struct bat_priv *bat_priv,
-  struct bcast_packet *bcast_packet,
-  int hdr_size)
+static inline int
+batadv_bla_check_bcast_duplist(struct bat_priv *bat_priv,
+       struct bcast_packet *bcast_packet,
+       int hdr_size)
 {
 return 0;
 }
 
-static inline void bla_update_orig_address(struct bat_priv *bat_priv,
-   struct hard_iface *primary_if,
-   struct hard_iface *oldif)
+static inline void
+batadv_bla_update_orig_address(struct bat_priv *bat_priv,
+       struct hard_iface *primary_if,
+       struct hard_iface *oldif)
 {
 }
 
-static inline int bla_init(struct bat_priv *bat_priv)
+static inline int batadv_bla_init(struct bat_priv *bat_priv)
 {
 return 1;
 }
 
-static inline void bla_free(struct bat_priv *bat_priv)
+static inline void batadv_bla_free(struct bat_priv *bat_priv)
 {
 }
 
diff --git a/compat.c b/compat.c
index 35ad397..702c7c1 100644
--- a/compat.c
+++ b/compat.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -28,7 +28,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 #if LINUX_VERSION_CODE &amp;lt; KERNEL_VERSION(3, 0, 0)
 
-void free_rcu_gw_node(struct rcu_head *rcu)
+void batadv_free_rcu_gw_node(struct rcu_head *rcu)
 {
 struct gw_node *gw_node;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -36,7 +36,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void free_rcu_gw_node(struct rcu_head *rcu)
 kfree(gw_node);
 }
 
-void free_rcu_neigh_node(struct rcu_head *rcu)
+void batadv_free_rcu_neigh_node(struct rcu_head *rcu)
 {
 struct neigh_node *neigh_node;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -44,7 +44,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void free_rcu_neigh_node(struct rcu_head *rcu)
 kfree(neigh_node);
 }
 
-void free_rcu_tt_local_entry(struct rcu_head *rcu)
+void batadv_free_rcu_tt_local_entry(struct rcu_head *rcu)
 {
 struct tt_common_entry *tt_common_entry;
 struct tt_local_entry *tt_local_entry;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -56,7 +56,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void free_rcu_tt_local_entry(struct rcu_head *rcu)
 }
 
 #ifdef CONFIG_BATMAN_ADV_BLA
-void free_rcu_backbone_gw(struct rcu_head *rcu)
+void batadv_free_rcu_backbone_gw(struct rcu_head *rcu)
 {
 struct backbone_gw *backbone_gw;
 
diff --git a/compat.h b/compat.h
index 33c52d3..f4ec1b8 100644
--- a/compat.h
+++ b/compat.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -138,7 +138,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static inline int __param_set_copystring(const char *val,
 
 #if LINUX_VERSION_CODE &amp;lt; KERNEL_VERSION(3, 0, 0)
 
-#define kfree_rcu(ptr, rcu_head) call_rcu(&amp;amp;ptr-&amp;gt;rcu_head, free_rcu_##ptr)
+#define kfree_rcu(ptr, rcu_head) call_rcu(&amp;amp;ptr-&amp;gt;rcu_head, batadv_free_rcu_##ptr)
 #define vlan_insert_tag(skb, vid) __vlan_put_tag(skb, vid)
 
 void free_rcu_gw_node(struct rcu_head *rcu);
diff --git a/distributed-arp-table.c b/distributed-arp-table.c
index 31699a4..6bc64f8 100644
--- a/distributed-arp-table.c
+++ b/distributed-arp-table.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -179,7 +179,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void choose_next_candidate(struct bat_priv *bat_priv,
 
 max = tmp_max;
 if (max_orig_node)
-orig_node_free_ref(max_orig_node);
+batadv_orig_node_free_ref(max_orig_node);
 max_orig_node = orig_node;
 }
 rcu_read_unlock();
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -240,6 +240,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static bool dht_send_data(struct bat_priv *bat_priv, struct sk_buff *skb,
 {
 int i;
 bool ret = false;
+int send_status;
 struct neigh_node *neigh_node = NULL;
 struct sk_buff *tmp_skb;
 struct dht_candidate *cand = dht_select_candidates(bat_priv, ip);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -253,25 +254,28 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static bool dht_send_data(struct bat_priv *bat_priv, struct sk_buff *skb,
 if (cand[i].type == DHT_CANDIDATE_NOT_FOUND)
 continue;
 
-neigh_node = orig_node_get_router(cand[i].orig_node);
+neigh_node = batadv_orig_node_get_router(cand[i].orig_node);
 if (!neigh_node)
 goto free_orig;
 
 tmp_skb = pskb_copy(skb, GFP_ATOMIC);
-if (!prepare_unicast_4addr_packet(bat_priv, tmp_skb,
-  cand[i].orig_node,
-  packet_subtype)) {
+if (!batadv_prepare_unicast_4addr_packet(bat_priv, tmp_skb,
+ cand[i].orig_node,
+ packet_subtype)) {
 kfree_skb(tmp_skb);
 goto free_neigh;
 }
-if (send_skb_packet(tmp_skb, neigh_node-&amp;gt;if_incoming,
-    neigh_node-&amp;gt;addr) == NET_XMIT_SUCCESS)
+
+send_status = batadv_send_skb_packet(tmp_skb,
+     neigh_node-&amp;gt;if_incoming,
+     neigh_node-&amp;gt;addr);
+if (send_status == NET_XMIT_SUCCESS)
 /* packet sent to a candidate: we can return true */
 ret = true;
 free_neigh:
-neigh_node_free_ref(neigh_node);
+batadv_neigh_node_free_ref(neigh_node);
 free_orig:
-orig_node_free_ref(cand[i].orig_node);
+batadv_orig_node_free_ref(cand[i].orig_node);
 }
 
 out:
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -362,8 +366,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
  * otherwise. In case of true the message has to be enqueued to permit the
  * fallback
  */
-bool dat_snoop_outgoing_arp_request(struct bat_priv *bat_priv,
-    struct sk_buff *skb)
+bool batadv_dat_snoop_outgoing_arp_request(struct bat_priv *bat_priv,
+   struct sk_buff *skb)
 {
 uint16_t type = 0;
 __be32 ip_dst, ip_src;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -428,8 +432,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
  * into the local table. If found, an ARP reply is sent immediately, otherwise
  * the caller has to deliver the ARP request to the upper layer
  */
-bool dat_snoop_incoming_arp_request(struct bat_priv *bat_priv,
-    struct sk_buff *skb, int hdr_size)
+bool batadv_dat_snoop_incoming_arp_request(struct bat_priv *bat_priv,
+   struct sk_buff *skb, int hdr_size)
 {
 uint16_t type;
 __be32 ip_src, ip_dst;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -487,8 +491,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
  * soft interface. The related neighbour entry has to be updated and the DHT has
  * to be populated as well
  */
-bool dat_snoop_outgoing_arp_reply(struct bat_priv *bat_priv,
-  struct sk_buff *skb)
+bool batadv_dat_snoop_outgoing_arp_reply(struct bat_priv *bat_priv,
+ struct sk_buff *skb)
 {
 uint16_t type;
 __be32 ip_src, ip_dst;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -524,8 +528,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 /* This function has to be invoked on an ARP reply coming into the soft
  * interface from the mesh network. The local table has to be updated
  */
-bool dat_snoop_incoming_arp_reply(struct bat_priv *bat_priv,
-  struct sk_buff *skb, int hdr_size)
+bool batadv_dat_snoop_incoming_arp_reply(struct bat_priv *bat_priv,
+ struct sk_buff *skb, int hdr_size)
 {
 uint16_t type;
 __be32 ip_src, ip_dst;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -553,14 +557,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; bool dat_snoop_incoming_arp_reply(struct bat_priv *bat_priv,
 /* if this REPLY is directed to a client of mine, let's deliver the
  * packet to the interface
  */
-ret = !is_my_client(bat_priv, hw_dst);
+ret = !batadv_is_my_client(bat_priv, hw_dst);
 out:
 /* if ret == false packet has to be delivered to the interface */
 return ret;
 }
 
-bool dat_drop_broadcast_packet(struct bat_priv *bat_priv,
-       struct forw_packet *forw_packet)
+bool batadv_dat_drop_broadcast_packet(struct bat_priv *bat_priv,
+      struct forw_packet *forw_packet)
 {
 struct neighbour *n;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -590,7 +594,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; bool dat_drop_broadcast_packet(struct bat_priv *bat_priv,
 return false;
 }
 
-void arp_change_timeout(struct net_device *soft_iface, const char *name)
+void batadv_arp_change_timeout(struct net_device *soft_iface, const char *name)
 {
 struct in_device *in_dev = in_dev_get(soft_iface);
 if (!in_dev) {
diff --git a/distributed-arp-table.h b/distributed-arp-table.h
index bf72275..23ffbfb 100644
--- a/distributed-arp-table.h
+++ b/distributed-arp-table.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -39,17 +39,17 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #define ARP_IP_DST(skb, hdr_size) (*(__be32 *)(ARP_HW_SRC(skb, hdr_size) + \
    ETH_ALEN * 2 + 4))
 
-bool dat_snoop_outgoing_arp_request(struct bat_priv *bat_priv,
-    struct sk_buff *skb);
-bool dat_snoop_incoming_arp_request(struct bat_priv *bat_priv,
-    struct sk_buff *skb, int hdr_size);
-bool dat_snoop_outgoing_arp_reply(struct bat_priv *bat_priv,
-  struct sk_buff *skb);
-bool dat_snoop_incoming_arp_reply(struct bat_priv *bat_priv,
-  struct sk_buff *skb, int hdr_size);
-bool dat_drop_broadcast_packet(struct bat_priv *bat_priv,
-       struct forw_packet *forw_packet);
-void arp_change_timeout(struct net_device *soft_iface, const char *name);
+bool batadv_dat_snoop_outgoing_arp_request(struct bat_priv *bat_priv,
+   struct sk_buff *skb);
+bool batadv_dat_snoop_incoming_arp_request(struct bat_priv *bat_priv,
+   struct sk_buff *skb, int hdr_size);
+bool batadv_dat_snoop_outgoing_arp_reply(struct bat_priv *bat_priv,
+ struct sk_buff *skb);
+bool batadv_dat_snoop_incoming_arp_reply(struct bat_priv *bat_priv,
+ struct sk_buff *skb, int hdr_size);
+bool batadv_dat_drop_broadcast_packet(struct bat_priv *bat_priv,
+      struct forw_packet *forw_packet);
+void batadv_arp_change_timeout(struct net_device *soft_iface, const char *name);
 
 /* hash function to choose an entry in a hash table of given size.
  * hash algorithm from http://en.wikipedia.org/wiki/Hash_table
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -73,14 +73,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static inline uint32_t hash_ipv4(const void *data, uint32_t size)
 return hash % size;
 }
 
-static inline void dat_init_orig_node_dht_addr(struct orig_node *orig_node)
+static inline void
+batadv_dat_init_orig_node_dht_addr(struct orig_node *orig_node)
 {
 orig_node-&amp;gt;dht_addr = (dat_addr_t)choose_orig(orig_node-&amp;gt;orig,
       DAT_ADDR_MAX);
 }
 
-static inline void dat_init_own_dht_addr(struct bat_priv *bat_priv,
- struct hard_iface *primary_if)
+static inline void batadv_dat_init_own_dht_addr(struct bat_priv *bat_priv,
+struct hard_iface *primary_if)
 {
 bat_priv-&amp;gt;dht_addr = (dat_addr_t)
 choose_orig(primary_if-&amp;gt;net_dev-&amp;gt;dev_addr,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -89,49 +90,53 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static inline void dat_init_own_dht_addr(struct bat_priv *bat_priv,
 
 #else
 
-static inline bool dat_snoop_outgoing_arp_request(struct bat_priv *bat_priv,
-  struct sk_buff *skb)
+static inline bool
+batadv_dat_snoop_outgoing_arp_request(struct bat_priv *bat_priv,
+      struct sk_buff *skb)
 {
 return false;
 }
 
-static inline bool dat_snoop_incoming_arp_request(struct bat_priv *bat_priv,
-  struct sk_buff *skb,
-  int hdr_size)
+static inline bool
+batadv_dat_snoop_incoming_arp_request(struct bat_priv *bat_priv,
+      struct sk_buff *skb, int hdr_size)
 {
 return false;
 }
 
-static inline bool dat_snoop_outgoing_arp_reply(struct bat_priv *bat_priv,
-struct sk_buff *skb)
+static inline bool
+batadv_dat_snoop_outgoing_arp_reply(struct bat_priv *bat_priv,
+    struct sk_buff *skb)
 {
 return false;
 }
 
-static inline bool dat_snoop_incoming_arp_reply(struct bat_priv *bat_priv,
-struct sk_buff *skb,
-int hdr_size)
+static inline bool
+batadv_dat_snoop_incoming_arp_reply(struct bat_priv *bat_priv,
+    struct sk_buff *skb, int hdr_size)
 {
 return false;
 }
 
-static inline bool dat_drop_broadcast_packet(struct bat_priv *bat_priv,
-     struct forw_packet *forw_packet)
+static inline bool
+batadv_dat_drop_broadcast_packet(struct bat_priv *bat_priv,
+ struct forw_packet *forw_packet)
 {
 return false;
 }
 
-static inline void dat_init_orig_node_dht_addr(struct orig_node *orig_node)
+static inline void
+batadv_dat_init_orig_node_dht_addr(struct orig_node *orig_node)
 {
 }
 
-static inline void dat_init_own_dht_addr(struct bat_priv *bat_priv,
- struct hard_iface *primary_if)
+static inline void batadv_dat_init_own_dht_addr(struct bat_priv *bat_priv,
+struct hard_iface *primary_if)
 {
 }
 
-static inline void arp_change_timeout(struct net_device *soft_iface,
-      const char *name)
+static inline void batadv_arp_change_timeout(struct net_device *soft_iface,
+     const char *name)
 {
 }
 
diff --git a/gateway_client.c b/gateway_client.c
index 47f7186..e396029 100644
--- a/gateway_client.c
+++ b/gateway_client.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -60,7 +60,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 return gw_node;
 }
 
-struct orig_node *gw_get_selected_orig(struct bat_priv *bat_priv)
+struct orig_node *batadv_gw_get_selected_orig(struct bat_priv *bat_priv)
 {
 struct gw_node *gw_node;
 struct orig_node *orig_node = NULL;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -103,7 +103,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void gw_select(struct bat_priv *bat_priv, struct gw_node *new_gw_node)
 spin_unlock_bh(&amp;amp;bat_priv-&amp;gt;gw_list_lock);
 }
 
-void gw_deselect(struct bat_priv *bat_priv)
+void batadv_gw_deselect(struct bat_priv *bat_priv)
 {
 atomic_set(&amp;amp;bat_priv-&amp;gt;gw_reselect, 1);
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -116,13 +116,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static struct gw_node *gw_get_best_gw_node(struct bat_priv *bat_priv)
 uint32_t max_gw_factor = 0, tmp_gw_factor = 0;
 uint8_t max_tq = 0;
 int down, up;
+struct orig_node *orig_node;
 
 rcu_read_lock();
 hlist_for_each_entry_rcu(gw_node, node, &amp;amp;bat_priv-&amp;gt;gw_list, list) {
 if (gw_node-&amp;gt;deleted)
 continue;
 
-router = orig_node_get_router(gw_node-&amp;gt;orig_node);
+orig_node = gw_node-&amp;gt;orig_node;
+router = batadv_orig_node_get_router(orig_node);
 if (!router)
 continue;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -131,8 +133,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static struct gw_node *gw_get_best_gw_node(struct bat_priv *bat_priv)
 
 switch (atomic_read(&amp;amp;bat_priv-&amp;gt;gw_sel_class)) {
 case 1: /* fast connection */
-gw_bandwidth_to_kbit(gw_node-&amp;gt;orig_node-&amp;gt;gw_flags,
-     &amp;amp;down, &amp;amp;up);
+batadv_gw_bandwidth_to_kbit(orig_node-&amp;gt;gw_flags,
+    &amp;amp;down, &amp;amp;up);
 
 tmp_gw_factor = (router-&amp;gt;tq_avg * router-&amp;gt;tq_avg *
  down * 100 * 100) /
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -175,14 +177,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static struct gw_node *gw_get_best_gw_node(struct bat_priv *bat_priv)
 gw_node_free_ref(gw_node);
 
 next:
-neigh_node_free_ref(router);
+batadv_neigh_node_free_ref(router);
 }
 rcu_read_unlock();
 
 return curr_gw;
 }
 
-void gw_election(struct bat_priv *bat_priv)
+void batadv_gw_election(struct bat_priv *bat_priv)
 {
 struct gw_node *curr_gw = NULL, *next_gw = NULL;
 struct neigh_node *router = NULL;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -210,9 +212,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void gw_election(struct bat_priv *bat_priv)
 if (next_gw) {
 sprintf(gw_addr, "%pM", next_gw-&amp;gt;orig_node-&amp;gt;orig);
 
-router = orig_node_get_router(next_gw-&amp;gt;orig_node);
+router = batadv_orig_node_get_router(next_gw-&amp;gt;orig_node);
 if (!router) {
-gw_deselect(bat_priv);
+batadv_gw_deselect(bat_priv);
 goto out;
 }
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -220,19 +222,19 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void gw_election(struct bat_priv *bat_priv)
 if ((curr_gw) &amp;amp;&amp;amp; (!next_gw)) {
 bat_dbg(DBG_BATMAN, bat_priv,
 "Removing selected gateway - no gateway in range\n");
-throw_uevent(bat_priv, UEV_GW, UEV_DEL, NULL);
+batadv_throw_uevent(bat_priv, UEV_GW, UEV_DEL, NULL);
 } else if ((!curr_gw) &amp;amp;&amp;amp; (next_gw)) {
 bat_dbg(DBG_BATMAN, bat_priv,
 "Adding route to gateway %pM (gw_flags: %i, tq: %i)\n",
 next_gw-&amp;gt;orig_node-&amp;gt;orig, next_gw-&amp;gt;orig_node-&amp;gt;gw_flags,
 router-&amp;gt;tq_avg);
-throw_uevent(bat_priv, UEV_GW, UEV_ADD, gw_addr);
+batadv_throw_uevent(bat_priv, UEV_GW, UEV_ADD, gw_addr);
 } else {
 bat_dbg(DBG_BATMAN, bat_priv,
 "Changing route to gateway %pM (gw_flags: %i, tq: %i)\n",
 next_gw-&amp;gt;orig_node-&amp;gt;orig, next_gw-&amp;gt;orig_node-&amp;gt;gw_flags,
 router-&amp;gt;tq_avg);
-throw_uevent(bat_priv, UEV_GW, UEV_CHANGE, gw_addr);
+batadv_throw_uevent(bat_priv, UEV_GW, UEV_CHANGE, gw_addr);
 }
 
 gw_select(bat_priv, next_gw);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -243,20 +245,21 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 if (next_gw)
 gw_node_free_ref(next_gw);
 if (router)
-neigh_node_free_ref(router);
+batadv_neigh_node_free_ref(router);
 }
 
-void gw_check_election(struct bat_priv *bat_priv, struct orig_node *orig_node)
+void batadv_gw_check_election(struct bat_priv *bat_priv,
+      struct orig_node *orig_node)
 {
 struct orig_node *curr_gw_orig;
 struct neigh_node *router_gw = NULL, *router_orig = NULL;
 uint8_t gw_tq_avg, orig_tq_avg;
 
-curr_gw_orig = gw_get_selected_orig(bat_priv);
+curr_gw_orig = batadv_gw_get_selected_orig(bat_priv);
 if (!curr_gw_orig)
 goto deselect;
 
-router_gw = orig_node_get_router(curr_gw_orig);
+router_gw = batadv_orig_node_get_router(curr_gw_orig);
 if (!router_gw)
 goto deselect;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -264,7 +267,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void gw_check_election(struct bat_priv *bat_priv, struct orig_node *orig_node)
 if (curr_gw_orig == orig_node)
 goto out;
 
-router_orig = orig_node_get_router(orig_node);
+router_orig = batadv_orig_node_get_router(orig_node);
 if (!router_orig)
 goto out;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -288,14 +291,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void gw_check_election(struct bat_priv *bat_priv, struct orig_node *orig_node)
 gw_tq_avg, orig_tq_avg);
 
 deselect:
-gw_deselect(bat_priv);
+batadv_gw_deselect(bat_priv);
 out:
 if (curr_gw_orig)
-orig_node_free_ref(curr_gw_orig);
+batadv_orig_node_free_ref(curr_gw_orig);
 if (router_gw)
-neigh_node_free_ref(router_gw);
+batadv_neigh_node_free_ref(router_gw);
 if (router_orig)
-neigh_node_free_ref(router_orig);
+batadv_neigh_node_free_ref(router_orig);
 
 return;
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -318,7 +321,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void gw_node_add(struct bat_priv *bat_priv,
 hlist_add_head_rcu(&amp;amp;gw_node-&amp;gt;list, &amp;amp;bat_priv-&amp;gt;gw_list);
 spin_unlock_bh(&amp;amp;bat_priv-&amp;gt;gw_list_lock);
 
-gw_bandwidth_to_kbit(new_gwflags, &amp;amp;down, &amp;amp;up);
+batadv_gw_bandwidth_to_kbit(new_gwflags, &amp;amp;down, &amp;amp;up);
 bat_dbg(DBG_BATMAN, bat_priv,
 "Found new gateway %pM -&amp;gt; gw_class: %i - %i%s/%i%s\n",
 orig_node-&amp;gt;orig, new_gwflags,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -328,8 +331,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void gw_node_add(struct bat_priv *bat_priv,
 (up &amp;gt; 2048 ? "MBit" : "KBit"));
 }
 
-void gw_node_update(struct bat_priv *bat_priv,
-    struct orig_node *orig_node, uint8_t new_gwflags)
+void batadv_gw_node_update(struct bat_priv *bat_priv,
+   struct orig_node *orig_node, uint8_t new_gwflags)
 {
 struct hlist_node *node;
 struct gw_node *gw_node, *curr_gw;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -374,7 +377,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void gw_node_update(struct bat_priv *bat_priv,
 goto unlock;
 
 deselect:
-gw_deselect(bat_priv);
+batadv_gw_deselect(bat_priv);
 unlock:
 rcu_read_unlock();
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -382,12 +385,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; unlock:
 gw_node_free_ref(curr_gw);
 }
 
-void gw_node_delete(struct bat_priv *bat_priv, struct orig_node *orig_node)
+void batadv_gw_node_delete(struct bat_priv *bat_priv,
+   struct orig_node *orig_node)
 {
-gw_node_update(bat_priv, orig_node, 0);
+batadv_gw_node_update(bat_priv, orig_node, 0);
 }
 
-void gw_node_purge(struct bat_priv *bat_priv)
+void batadv_gw_node_purge(struct bat_priv *bat_priv)
 {
 struct gw_node *gw_node, *curr_gw;
 struct hlist_node *node, *node_tmp;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -416,7 +420,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void gw_node_purge(struct bat_priv *bat_priv)
 
 /* gw_deselect() needs to acquire the gw_list_lock */
 if (do_deselect)
-gw_deselect(bat_priv);
+batadv_gw_deselect(bat_priv);
 
 if (curr_gw)
 gw_node_free_ref(curr_gw);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -432,9 +436,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int _write_buffer_text(struct bat_priv *bat_priv, struct seq_file *seq,
 struct neigh_node *router;
 int down, up, ret = -1;
 
-gw_bandwidth_to_kbit(gw_node-&amp;gt;orig_node-&amp;gt;gw_flags, &amp;amp;down, &amp;amp;up);
+batadv_gw_bandwidth_to_kbit(gw_node-&amp;gt;orig_node-&amp;gt;gw_flags, &amp;amp;down, &amp;amp;up);
 
-router = orig_node_get_router(gw_node-&amp;gt;orig_node);
+router = batadv_orig_node_get_router(gw_node-&amp;gt;orig_node);
 if (!router)
 goto out;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -451,14 +455,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int _write_buffer_text(struct bat_priv *bat_priv, struct seq_file *seq,
  (up &amp;gt; 2048 ? up / 1024 : up),
  (up &amp;gt; 2048 ? "MBit" : "KBit"));
 
-neigh_node_free_ref(router);
+batadv_neigh_node_free_ref(router);
 if (curr_gw)
 gw_node_free_ref(curr_gw);
 out:
 return ret;
 }
 
-int gw_client_seq_print_text(struct seq_file *seq, void *offset)
+int batadv_gw_client_seq_print_text(struct seq_file *seq, void *offset)
 {
 struct net_device *net_dev = (struct net_device *)seq-&amp;gt;private;
 struct bat_priv *bat_priv = netdev_priv(net_dev);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -568,7 +572,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 return ret;
 }
 
-bool gw_is_dhcp_target(struct sk_buff *skb, unsigned int *header_len)
+bool batadv_gw_is_dhcp_target(struct sk_buff *skb, unsigned int *header_len)
 {
 struct ethhdr *ethhdr;
 struct iphdr *iphdr;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -634,8 +638,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; bool gw_is_dhcp_target(struct sk_buff *skb, unsigned int *header_len)
 return true;
 }
 
-bool gw_out_of_range(struct bat_priv *bat_priv,
-     struct sk_buff *skb, struct ethhdr *ethhdr)
+bool batadv_gw_out_of_range(struct bat_priv *bat_priv,
+    struct sk_buff *skb, struct ethhdr *ethhdr)
 {
 struct neigh_node *neigh_curr = NULL, *neigh_old = NULL;
 struct orig_node *orig_dst_node = NULL;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -644,12 +648,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; bool gw_out_of_range(struct bat_priv *bat_priv,
 unsigned int header_len = 0;
 uint8_t curr_tq_avg;
 
-ret = gw_is_dhcp_target(skb, &amp;amp;header_len);
+ret = batadv_gw_is_dhcp_target(skb, &amp;amp;header_len);
 if (!ret)
 goto out;
 
-orig_dst_node = transtable_search(bat_priv, ethhdr-&amp;gt;h_source,
-  ethhdr-&amp;gt;h_dest);
+orig_dst_node = batadv_transtable_search(bat_priv, ethhdr-&amp;gt;h_source,
+ ethhdr-&amp;gt;h_dest);
 if (!orig_dst_node)
 goto out;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -678,7 +682,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; bool gw_out_of_range(struct bat_priv *bat_priv,
 /* If the dhcp packet has been sent to a different gw,
  * we have to evaluate whether the old gw is still
  * reliable enough */
-neigh_curr = find_router(bat_priv, curr_gw-&amp;gt;orig_node, NULL);
+neigh_curr = batadv_find_router(bat_priv, curr_gw-&amp;gt;orig_node,
+NULL);
 if (!neigh_curr)
 goto out;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -689,7 +694,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; bool gw_out_of_range(struct bat_priv *bat_priv,
 goto out;
 }
 
-neigh_old = find_router(bat_priv, orig_dst_node, NULL);
+neigh_old = batadv_find_router(bat_priv, orig_dst_node, NULL);
 if (!neigh_old)
 goto out;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -698,12 +703,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; bool gw_out_of_range(struct bat_priv *bat_priv,
 
 out:
 if (orig_dst_node)
-orig_node_free_ref(orig_dst_node);
+batadv_orig_node_free_ref(orig_dst_node);
 if (curr_gw)
 gw_node_free_ref(curr_gw);
 if (neigh_old)
-neigh_node_free_ref(neigh_old);
+batadv_neigh_node_free_ref(neigh_old);
 if (neigh_curr)
-neigh_node_free_ref(neigh_curr);
+batadv_neigh_node_free_ref(neigh_curr);
 return out_of_range;
 }
diff --git a/gateway_client.h b/gateway_client.h
index bf56a5a..2c2446f 100644
--- a/gateway_client.h
+++ b/gateway_client.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -22,17 +22,19 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #ifndef _NET_BATMAN_ADV_GATEWAY_CLIENT_H_
 #define _NET_BATMAN_ADV_GATEWAY_CLIENT_H_
 
-void gw_deselect(struct bat_priv *bat_priv);
-void gw_election(struct bat_priv *bat_priv);
-struct orig_node *gw_get_selected_orig(struct bat_priv *bat_priv);
-void gw_check_election(struct bat_priv *bat_priv, struct orig_node *orig_node);
-void gw_node_update(struct bat_priv *bat_priv,
-    struct orig_node *orig_node, uint8_t new_gwflags);
-void gw_node_delete(struct bat_priv *bat_priv, struct orig_node *orig_node);
-void gw_node_purge(struct bat_priv *bat_priv);
-int gw_client_seq_print_text(struct seq_file *seq, void *offset);
-bool gw_is_dhcp_target(struct sk_buff *skb, unsigned int *header_len);
-bool gw_out_of_range(struct bat_priv *bat_priv,
-     struct sk_buff *skb, struct ethhdr *ethhdr);
+void batadv_gw_deselect(struct bat_priv *bat_priv);
+void batadv_gw_election(struct bat_priv *bat_priv);
+struct orig_node *batadv_gw_get_selected_orig(struct bat_priv *bat_priv);
+void batadv_gw_check_election(struct bat_priv *bat_priv,
+      struct orig_node *orig_node);
+void batadv_gw_node_update(struct bat_priv *bat_priv,
+   struct orig_node *orig_node, uint8_t new_gwflags);
+void batadv_gw_node_delete(struct bat_priv *bat_priv,
+   struct orig_node *orig_node);
+void batadv_gw_node_purge(struct bat_priv *bat_priv);
+int batadv_gw_client_seq_print_text(struct seq_file *seq, void *offset);
+bool batadv_gw_is_dhcp_target(struct sk_buff *skb, unsigned int *header_len);
+bool batadv_gw_out_of_range(struct bat_priv *bat_priv,
+    struct sk_buff *skb, struct ethhdr *ethhdr);
 
 #endif /* _NET_BATMAN_ADV_GATEWAY_CLIENT_H_ */
diff --git a/gateway_common.c b/gateway_common.c
index ca57ac7..149f22c 100644
--- a/gateway_common.c
+++ b/gateway_common.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -59,7 +59,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void kbit_to_gw_bandwidth(int down, int up, long *gw_srv_class)
 }
 
 /* returns the up and downspeeds in kbit, calculated from the class */
-void gw_bandwidth_to_kbit(uint8_t gw_srv_class, int *down, int *up)
+void batadv_gw_bandwidth_to_kbit(uint8_t gw_srv_class, int *down, int *up)
 {
 int sbit = (gw_srv_class &amp;amp; 0x80) &amp;gt;&amp;gt; 7;
 int dpart = (gw_srv_class &amp;amp; 0x78) &amp;gt;&amp;gt; 3;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -136,7 +136,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static bool parse_gw_bandwidth(struct net_device *net_dev, char *buff,
 return true;
 }
 
-ssize_t gw_bandwidth_set(struct net_device *net_dev, char *buff, size_t count)
+ssize_t batadv_gw_bandwidth_set(struct net_device *net_dev, char *buff,
+size_t count)
 {
 struct bat_priv *bat_priv = netdev_priv(net_dev);
 long gw_bandwidth_tmp = 0;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -160,9 +161,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; ssize_t gw_bandwidth_set(struct net_device *net_dev, char *buff, size_t count)
  * speeds, hence we need to calculate it back to show the number
  * that is going to be propagated
  **/
-gw_bandwidth_to_kbit((uint8_t)gw_bandwidth_tmp, &amp;amp;down, &amp;amp;up);
+batadv_gw_bandwidth_to_kbit((uint8_t)gw_bandwidth_tmp, &amp;amp;down, &amp;amp;up);
 
-gw_deselect(bat_priv);
+batadv_gw_deselect(bat_priv);
 bat_info(net_dev,
  "Changing gateway bandwidth from: '%i' to: '%ld' (propagating: %d%s/%d%s)\n",
  atomic_read(&amp;amp;bat_priv-&amp;gt;gw_bandwidth), gw_bandwidth_tmp,
diff --git a/gateway_common.h b/gateway_common.h
index b8fb11c..e256040 100644
--- a/gateway_common.h
+++ b/gateway_common.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -32,7 +32,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; enum gw_modes {
 #define GW_MODE_CLIENT_NAME"client"
 #define GW_MODE_SERVER_NAME"server"
 
-void gw_bandwidth_to_kbit(uint8_t gw_class, int *down, int *up);
-ssize_t gw_bandwidth_set(struct net_device *net_dev, char *buff, size_t count);
+void batadv_gw_bandwidth_to_kbit(uint8_t gw_class, int *down, int *up);
+ssize_t batadv_gw_bandwidth_set(struct net_device *net_dev, char *buff,
+size_t count);
 
 #endif /* _NET_BATMAN_ADV_GATEWAY_COMMON_H_ */
diff --git a/hard-interface.c b/hard-interface.c
index 843caa7..106b4e3 100644
--- a/hard-interface.c
+++ b/hard-interface.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -33,7 +33,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 #include &amp;lt;linux/if_arp.h&amp;gt;
 
-void hardif_free_rcu(struct rcu_head *rcu)
+void batadv_hardif_free_rcu(struct rcu_head *rcu)
 {
 struct hard_iface *hard_iface;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -42,12 +42,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void hardif_free_rcu(struct rcu_head *rcu)
 kfree(hard_iface);
 }
 
-struct hard_iface *hardif_get_by_netdev(const struct net_device *net_dev)
+struct hard_iface *batadv_hardif_get_by_netdev(const struct net_device *net_dev)
 {
 struct hard_iface *hard_iface;
 
 rcu_read_lock();
-list_for_each_entry_rcu(hard_iface, &amp;amp;hardif_list, list) {
+list_for_each_entry_rcu(hard_iface, &amp;amp;batadv_hardif_list, list) {
 if (hard_iface-&amp;gt;net_dev == net_dev &amp;amp;&amp;amp;
     atomic_inc_not_zero(&amp;amp;hard_iface-&amp;gt;refcount))
 goto out;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -72,7 +72,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int is_valid_iface(const struct net_device *net_dev)
 return 0;
 
 /* no batman over batman */
-if (softif_is_valid(net_dev))
+if (batadv_softif_is_valid(net_dev))
 return 0;
 
 /* Device is being bridged */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -87,7 +87,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static struct hard_iface *hardif_get_active(const struct net_device *soft_iface)
 struct hard_iface *hard_iface;
 
 rcu_read_lock();
-list_for_each_entry_rcu(hard_iface, &amp;amp;hardif_list, list) {
+list_for_each_entry_rcu(hard_iface, &amp;amp;batadv_hardif_list, list) {
 if (hard_iface-&amp;gt;soft_iface != soft_iface)
 continue;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -113,7 +113,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void primary_if_update_addr(struct bat_priv *bat_priv,
 if (!primary_if)
 goto out;
 
-dat_init_own_dht_addr(bat_priv, primary_if);
+batadv_dat_init_own_dht_addr(bat_priv, primary_if);
 
 vis_packet = (struct vis_packet *)
 bat_priv-&amp;gt;my_vis_info-&amp;gt;skb_packet-&amp;gt;data;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -121,7 +121,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void primary_if_update_addr(struct bat_priv *bat_priv,
 memcpy(vis_packet-&amp;gt;sender_orig,
        primary_if-&amp;gt;net_dev-&amp;gt;dev_addr, ETH_ALEN);
 
-bla_update_orig_address(bat_priv, primary_if, oldif);
+batadv_bla_update_orig_address(bat_priv, primary_if, oldif);
 out:
 if (primary_if)
 hardif_free_ref(primary_if);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -164,7 +164,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void check_known_mac_addr(const struct net_device *net_dev)
 const struct hard_iface *hard_iface;
 
 rcu_read_lock();
-list_for_each_entry_rcu(hard_iface, &amp;amp;hardif_list, list) {
+list_for_each_entry_rcu(hard_iface, &amp;amp;batadv_hardif_list, list) {
 if ((hard_iface-&amp;gt;if_status != IF_ACTIVE) &amp;amp;&amp;amp;
     (hard_iface-&amp;gt;if_status != IF_TO_BE_ACTIVATED))
 continue;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -183,7 +183,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void check_known_mac_addr(const struct net_device *net_dev)
 rcu_read_unlock();
 }
 
-int hardif_min_mtu(struct net_device *soft_iface)
+int batadv_hardif_min_mtu(struct net_device *soft_iface)
 {
 const struct bat_priv *bat_priv = netdev_priv(soft_iface);
 const struct hard_iface *hard_iface;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -195,7 +195,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int hardif_min_mtu(struct net_device *soft_iface)
 goto out;
 
 rcu_read_lock();
-list_for_each_entry_rcu(hard_iface, &amp;amp;hardif_list, list) {
+list_for_each_entry_rcu(hard_iface, &amp;amp;batadv_hardif_list, list) {
 if ((hard_iface-&amp;gt;if_status != IF_ACTIVE) &amp;amp;&amp;amp;
     (hard_iface-&amp;gt;if_status != IF_TO_BE_ACTIVATED))
 continue;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -212,11 +212,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 }
 
 /* adjusts the MTU if a new interface with a smaller MTU appeared. */
-void update_min_mtu(struct net_device *soft_iface)
+void batadv_update_min_mtu(struct net_device *soft_iface)
 {
 int min_mtu;
 
-min_mtu = hardif_min_mtu(soft_iface);
+min_mtu = batadv_hardif_min_mtu(soft_iface);
 if (soft_iface-&amp;gt;mtu != min_mtu)
 soft_iface-&amp;gt;mtu = min_mtu;
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -245,7 +245,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void hardif_activate_interface(struct hard_iface *hard_iface)
 bat_info(hard_iface-&amp;gt;soft_iface, "Interface activated: %s\n",
  hard_iface-&amp;gt;net_dev-&amp;gt;name);
 
-update_min_mtu(hard_iface-&amp;gt;soft_iface);
+batadv_update_min_mtu(hard_iface-&amp;gt;soft_iface);
 
 out:
 if (primary_if)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -263,11 +263,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void hardif_deactivate_interface(struct hard_iface *hard_iface)
 bat_info(hard_iface-&amp;gt;soft_iface, "Interface deactivated: %s\n",
  hard_iface-&amp;gt;net_dev-&amp;gt;name);
 
-update_min_mtu(hard_iface-&amp;gt;soft_iface);
+batadv_update_min_mtu(hard_iface-&amp;gt;soft_iface);
 }
 
-int hardif_enable_interface(struct hard_iface *hard_iface,
-    const char *iface_name)
+int batadv_hardif_enable_interface(struct hard_iface *hard_iface,
+   const char *iface_name)
 {
 struct bat_priv *bat_priv;
 struct net_device *soft_iface;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -287,7 +287,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int hardif_enable_interface(struct hard_iface *hard_iface,
 soft_iface = dev_get_by_name(&amp;amp;init_net, iface_name);
 
 if (!soft_iface) {
-soft_iface = softif_create(iface_name);
+soft_iface = batadv_softif_create(iface_name);
 
 if (!soft_iface) {
 ret = -ENOMEM;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -298,7 +298,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int hardif_enable_interface(struct hard_iface *hard_iface,
 dev_hold(soft_iface);
 }
 
-if (!softif_is_valid(soft_iface)) {
+if (!batadv_softif_is_valid(soft_iface)) {
 pr_err("Can't create batman mesh interface %s: already exists as regular interface\n",
        soft_iface-&amp;gt;name);
 ret = -EINVAL;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -315,10 +315,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int hardif_enable_interface(struct hard_iface *hard_iface,
 hard_iface-&amp;gt;if_num = bat_priv-&amp;gt;num_ifaces;
 bat_priv-&amp;gt;num_ifaces++;
 hard_iface-&amp;gt;if_status = IF_INACTIVE;
-orig_hash_add_if(hard_iface, bat_priv-&amp;gt;num_ifaces);
+batadv_orig_hash_add_if(hard_iface, bat_priv-&amp;gt;num_ifaces);
 
 hard_iface-&amp;gt;batman_adv_ptype.type = __constant_htons(ETH_P_BATMAN);
-hard_iface-&amp;gt;batman_adv_ptype.func = batman_skb_recv;
+hard_iface-&amp;gt;batman_adv_ptype.func = batadv_batman_skb_recv;
 hard_iface-&amp;gt;batman_adv_ptype.dev = hard_iface-&amp;gt;net_dev;
 dev_add_pack(&amp;amp;hard_iface-&amp;gt;batman_adv_ptype);
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -348,7 +348,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int hardif_enable_interface(struct hard_iface *hard_iface,
 hard_iface-&amp;gt;net_dev-&amp;gt;name);
 
 /* begin scheduling originator messages on that interface */
-schedule_bat_ogm(hard_iface);
+batadv_schedule_bat_ogm(hard_iface);
 
 out:
 return 0;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -360,7 +360,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; err:
 return ret;
 }
 
-void hardif_disable_interface(struct hard_iface *hard_iface)
+void batadv_hardif_disable_interface(struct hard_iface *hard_iface)
 {
 struct bat_priv *bat_priv = netdev_priv(hard_iface-&amp;gt;soft_iface);
 struct hard_iface *primary_if = NULL;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -376,7 +376,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void hardif_disable_interface(struct hard_iface *hard_iface)
 dev_remove_pack(&amp;amp;hard_iface-&amp;gt;batman_adv_ptype);
 
 bat_priv-&amp;gt;num_ifaces--;
-orig_hash_del_if(hard_iface, bat_priv-&amp;gt;num_ifaces);
+batadv_orig_hash_del_if(hard_iface, bat_priv-&amp;gt;num_ifaces);
 
 primary_if = primary_if_get_selected(bat_priv);
 if (hard_iface == primary_if) {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -393,13 +393,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void hardif_disable_interface(struct hard_iface *hard_iface)
 hard_iface-&amp;gt;if_status = IF_NOT_IN_USE;
 
 /* delete all references to this hard_iface */
-purge_orig_ref(bat_priv);
-purge_outstanding_packets(bat_priv, hard_iface);
+batadv_purge_orig_ref(bat_priv);
+batadv_purge_outstanding_packets(bat_priv, hard_iface);
 dev_put(hard_iface-&amp;gt;soft_iface);
 
 /* nobody uses this interface anymore */
 if (!bat_priv-&amp;gt;num_ifaces)
-softif_destroy(hard_iface-&amp;gt;soft_iface);
+batadv_softif_destroy(hard_iface-&amp;gt;soft_iface);
 
 hard_iface-&amp;gt;soft_iface = NULL;
 hardif_free_ref(hard_iface);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -426,7 +426,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static struct hard_iface *hardif_add_interface(struct net_device *net_dev)
 if (!hard_iface)
 goto release_dev;
 
-ret = sysfs_add_hardif(&amp;amp;hard_iface-&amp;gt;hardif_obj, net_dev);
+ret = batadv_sysfs_add_hardif(&amp;amp;hard_iface-&amp;gt;hardif_obj, net_dev);
 if (ret)
 goto free_if;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -439,7 +439,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static struct hard_iface *hardif_add_interface(struct net_device *net_dev)
 atomic_set(&amp;amp;hard_iface-&amp;gt;refcount, 2);
 
 check_known_mac_addr(hard_iface-&amp;gt;net_dev);
-list_add_tail_rcu(&amp;amp;hard_iface-&amp;gt;list, &amp;amp;hardif_list);
+list_add_tail_rcu(&amp;amp;hard_iface-&amp;gt;list, &amp;amp;batadv_hardif_list);
 
 /**
  * This can't be called via a bat_priv callback because
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -464,23 +464,23 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void hardif_remove_interface(struct hard_iface *hard_iface)
 
 /* first deactivate interface */
 if (hard_iface-&amp;gt;if_status != IF_NOT_IN_USE)
-hardif_disable_interface(hard_iface);
+batadv_hardif_disable_interface(hard_iface);
 
 if (hard_iface-&amp;gt;if_status != IF_NOT_IN_USE)
 return;
 
 hard_iface-&amp;gt;if_status = IF_TO_BE_REMOVED;
-sysfs_del_hardif(&amp;amp;hard_iface-&amp;gt;hardif_obj);
+batadv_sysfs_del_hardif(&amp;amp;hard_iface-&amp;gt;hardif_obj);
 hardif_free_ref(hard_iface);
 }
 
-void hardif_remove_interfaces(void)
+void batadv_hardif_remove_interfaces(void)
 {
 struct hard_iface *hard_iface, *hard_iface_tmp;
 
 rtnl_lock();
 list_for_each_entry_safe(hard_iface, hard_iface_tmp,
- &amp;amp;hardif_list, list) {
+ &amp;amp;batadv_hardif_list, list) {
 list_del_rcu(&amp;amp;hard_iface-&amp;gt;list);
 hardif_remove_interface(hard_iface);
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -491,7 +491,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int hard_if_event(struct notifier_block *this,
  unsigned long event, void *ptr)
 {
 struct net_device *net_dev = ptr;
-struct hard_iface *hard_iface = hardif_get_by_netdev(net_dev);
+struct hard_iface *hard_iface = batadv_hardif_get_by_netdev(net_dev);
 struct hard_iface *primary_if = NULL;
 struct bat_priv *bat_priv;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -516,7 +516,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int hard_if_event(struct notifier_block *this,
 break;
 case NETDEV_CHANGEMTU:
 if (hard_iface-&amp;gt;soft_iface)
-update_min_mtu(hard_iface-&amp;gt;soft_iface);
+batadv_update_min_mtu(hard_iface-&amp;gt;soft_iface);
 break;
 case NETDEV_CHANGEADDR:
 if (hard_iface-&amp;gt;if_status == IF_NOT_IN_USE)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -548,7 +548,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 
 /* This function returns true if the interface represented by ifindex is a
  * 802.11 wireless device */
-bool is_wifi_iface(int ifindex)
+bool batadv_is_wifi_iface(int ifindex)
 {
 struct net_device *net_device = NULL;
 bool ret = false;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -576,6 +576,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 return ret;
 }
 
-struct notifier_block hard_if_notifier = {
+struct notifier_block batadv_hard_if_notifier = {
 .notifier_call = hard_if_event,
 };
diff --git a/hard-interface.h b/hard-interface.h
index e68c565..20e09db 100644
--- a/hard-interface.h
+++ b/hard-interface.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -31,23 +31,23 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; enum hard_if_state {
 IF_I_WANT_YOU
 };
 
-extern struct notifier_block hard_if_notifier;
+extern struct notifier_block batadv_hard_if_notifier;
 
 struct hard_iface*
-hardif_get_by_netdev(const struct net_device *net_dev);
-int hardif_enable_interface(struct hard_iface *hard_iface,
-    const char *iface_name);
-void hardif_disable_interface(struct hard_iface *hard_iface);
-void hardif_remove_interfaces(void);
-int hardif_min_mtu(struct net_device *soft_iface);
-void update_min_mtu(struct net_device *soft_iface);
-void hardif_free_rcu(struct rcu_head *rcu);
-bool is_wifi_iface(int ifindex);
+batadv_hardif_get_by_netdev(const struct net_device *net_dev);
+int batadv_hardif_enable_interface(struct hard_iface *hard_iface,
+   const char *iface_name);
+void batadv_hardif_disable_interface(struct hard_iface *hard_iface);
+void batadv_hardif_remove_interfaces(void);
+int batadv_hardif_min_mtu(struct net_device *soft_iface);
+void batadv_update_min_mtu(struct net_device *soft_iface);
+void batadv_hardif_free_rcu(struct rcu_head *rcu);
+bool batadv_is_wifi_iface(int ifindex);
 
 static inline void hardif_free_ref(struct hard_iface *hard_iface)
 {
 if (atomic_dec_and_test(&amp;amp;hard_iface-&amp;gt;refcount))
-call_rcu(&amp;amp;hard_iface-&amp;gt;rcu, hardif_free_rcu);
+call_rcu(&amp;amp;hard_iface-&amp;gt;rcu, batadv_hardif_free_rcu);
 }
 
 static inline struct hard_iface *primary_if_get_selected(
diff --git a/hash.c b/hash.c
index 4578c20..260d092 100644
--- a/hash.c
+++ b/hash.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -34,7 +34,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void hash_init(struct hashtable_t *hash)
 }
 
 /* free only the hashtable and the hash itself. */
-void hash_destroy(struct hashtable_t *hash)
+void batadv_hash_destroy(struct hashtable_t *hash)
 {
 kfree(hash-&amp;gt;list_locks);
 kfree(hash-&amp;gt;table);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -42,7 +42,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void hash_destroy(struct hashtable_t *hash)
 }
 
 /* allocates and clears the hash */
-struct hashtable_t *hash_new(uint32_t size)
+struct hashtable_t *batadv_hash_new(uint32_t size)
 {
 struct hashtable_t *hash;
 
diff --git a/hash.h b/hash.h
index 7bcb98f..486b94b 100644
--- a/hash.h
+++ b/hash.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -43,13 +43,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct hashtable_t {
 };
 
 /* allocates and clears the hash */
-struct hashtable_t *hash_new(uint32_t size);
+struct hashtable_t *batadv_hash_new(uint32_t size);
 
 /* set class key for all locks */
 void hash_set_lock_class(struct hashtable_t *hash, struct lock_class_key *key);
 
 /* free only the hashtable and the hash itself. */
-void hash_destroy(struct hashtable_t *hash);
+void batadv_hash_destroy(struct hashtable_t *hash);
 
 /* remove the hash structure. if hashdata_free_cb != NULL, this function will be
  * called to remove the elements inside of the hash.  if you don't remove the
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -76,7 +76,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static inline void hash_delete(struct hashtable_t *hash,
 spin_unlock_bh(list_lock);
 }
 
-hash_destroy(hash);
+batadv_hash_destroy(hash);
 }
 
 /**
diff --git a/icmp_socket.c b/icmp_socket.c
index 2e98a57..cd4e357 100644
--- a/icmp_socket.c
+++ b/icmp_socket.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -34,7 +34,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void bat_socket_add_packet(struct socket_client *socket_client,
   struct icmp_packet_rr *icmp_packet,
   size_t icmp_len);
 
-void bat_socket_init(void)
+void batadv_socket_init(void)
 {
 memset(socket_client_hash, 0, sizeof(socket_client_hash));
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -73,7 +73,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int bat_socket_open(struct inode *inode, struct file *file)
 
 file-&amp;gt;private_data = socket_client;
 
-inc_module_count();
+batadv_inc_module_count();
 return 0;
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -98,7 +98,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int bat_socket_release(struct inode *inode, struct file *file)
 spin_unlock_bh(&amp;amp;socket_client-&amp;gt;lock);
 
 kfree(socket_client);
-dec_module_count();
+batadv_dec_module_count();
 
 return 0;
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -219,7 +219,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static ssize_t bat_socket_write(struct file *file, const char __user *buff,
 if (!orig_node)
 goto dst_unreach;
 
-neigh_node = orig_node_get_router(orig_node);
+neigh_node = batadv_orig_node_get_router(orig_node);
 if (!neigh_node)
 goto dst_unreach;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -236,7 +236,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static ssize_t bat_socket_write(struct file *file, const char __user *buff,
 memcpy(icmp_packet-&amp;gt;rr,
        neigh_node-&amp;gt;if_incoming-&amp;gt;net_dev-&amp;gt;dev_addr, ETH_ALEN);
 
-send_skb_packet(skb, neigh_node-&amp;gt;if_incoming, neigh_node-&amp;gt;addr);
+batadv_send_skb_packet(skb, neigh_node-&amp;gt;if_incoming, neigh_node-&amp;gt;addr);
 goto out;
 
 dst_unreach:
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -248,9 +248,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 if (primary_if)
 hardif_free_ref(primary_if);
 if (neigh_node)
-neigh_node_free_ref(neigh_node);
+batadv_neigh_node_free_ref(neigh_node);
 if (orig_node)
-orig_node_free_ref(orig_node);
+batadv_orig_node_free_ref(orig_node);
 return len;
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -276,7 +276,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static const struct file_operations fops = {
 .llseek = no_llseek,
 };
 
-int bat_socket_setup(struct bat_priv *bat_priv)
+int batadv_socket_setup(struct bat_priv *bat_priv)
 {
 struct dentry *d;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -336,8 +336,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void bat_socket_add_packet(struct socket_client *socket_client,
 wake_up(&amp;amp;socket_client-&amp;gt;queue_wait);
 }
 
-void bat_socket_receive_packet(struct icmp_packet_rr *icmp_packet,
-       size_t icmp_len)
+void batadv_socket_receive_packet(struct icmp_packet_rr *icmp_packet,
+  size_t icmp_len)
 {
 struct socket_client *hash = socket_client_hash[icmp_packet-&amp;gt;uid];
 
diff --git a/icmp_socket.h b/icmp_socket.h
index 380ed4c..7b88636 100644
--- a/icmp_socket.h
+++ b/icmp_socket.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -24,9 +24,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 #define ICMP_SOCKET "socket"
 
-void bat_socket_init(void);
-int bat_socket_setup(struct bat_priv *bat_priv);
-void bat_socket_receive_packet(struct icmp_packet_rr *icmp_packet,
-       size_t icmp_len);
+void batadv_socket_init(void);
+int batadv_socket_setup(struct bat_priv *bat_priv);
+void batadv_socket_receive_packet(struct icmp_packet_rr *icmp_packet,
+  size_t icmp_len);
 
 #endif /* _NET_BATMAN_ADV_ICMP_SOCKET_H_ */
diff --git a/main.c b/main.c
index 805373f..535d785 100644
--- a/main.c
+++ b/main.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -38,37 +38,37 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 /* List manipulations on hardif_list have to be rtnl_lock()'ed,
  * list traversals just rcu-locked */
-struct list_head hardif_list;
+struct list_head batadv_hardif_list;
 static int (*recv_packet_handler[256])(struct sk_buff *, struct hard_iface *);
-char bat_routing_algo[20] = "BATMAN_IV";
+char batadv_routing_algo[20] = "BATMAN_IV";
 static struct hlist_head bat_algo_list;
 
-unsigned char broadcast_addr[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
+unsigned char batadv_broadcast_addr[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
 
-struct workqueue_struct *bat_event_workqueue;
+struct workqueue_struct *batadv_event_workqueue;
 
 static void recv_handler_init(void);
 
 static int __init batman_init(void)
 {
-INIT_LIST_HEAD(&amp;amp;hardif_list);
+INIT_LIST_HEAD(&amp;amp;batadv_hardif_list);
 INIT_HLIST_HEAD(&amp;amp;bat_algo_list);
 
 recv_handler_init();
 
-bat_iv_init();
+batadv_iv_init();
 
 /* the name should not be longer than 10 chars - see
  * http://lwn.net/Articles/23634/ */
-bat_event_workqueue = create_singlethread_workqueue("bat_events");
+batadv_event_workqueue = create_singlethread_workqueue("bat_events");
 
-if (!bat_event_workqueue)
+if (!batadv_event_workqueue)
 return -ENOMEM;
 
-bat_socket_init();
-debugfs_init();
+batadv_socket_init();
+batadv_debugfs_init();
 
-register_netdevice_notifier(&amp;amp;hard_if_notifier);
+register_netdevice_notifier(&amp;amp;batadv_hard_if_notifier);
 
 pr_info("B.A.T.M.A.N. advanced %s (compatibility version %i) loaded\n",
 SOURCE_VERSION, COMPAT_VERSION);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -78,18 +78,18 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int __init batman_init(void)
 
 static void __exit batman_exit(void)
 {
-debugfs_destroy();
-unregister_netdevice_notifier(&amp;amp;hard_if_notifier);
-hardif_remove_interfaces();
+batadv_debugfs_destroy();
+unregister_netdevice_notifier(&amp;amp;batadv_hard_if_notifier);
+batadv_hardif_remove_interfaces();
 
-flush_workqueue(bat_event_workqueue);
-destroy_workqueue(bat_event_workqueue);
-bat_event_workqueue = NULL;
+flush_workqueue(batadv_event_workqueue);
+destroy_workqueue(batadv_event_workqueue);
+batadv_event_workqueue = NULL;
 
 rcu_barrier();
 }
 
-int mesh_init(struct net_device *soft_iface)
+int batadv_mesh_init(struct net_device *soft_iface)
 {
 struct bat_priv *bat_priv = netdev_priv(soft_iface);
 int ret;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -111,21 +111,21 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int mesh_init(struct net_device *soft_iface)
 INIT_LIST_HEAD(&amp;amp;bat_priv-&amp;gt;tt_req_list);
 INIT_LIST_HEAD(&amp;amp;bat_priv-&amp;gt;tt_roam_list);
 
-ret = originator_init(bat_priv);
+ret = batadv_originator_init(bat_priv);
 if (ret &amp;lt; 0)
 goto err;
 
-ret = tt_init(bat_priv);
+ret = batadv_tt_init(bat_priv);
 if (ret &amp;lt; 0)
 goto err;
 
-tt_local_add(soft_iface, soft_iface-&amp;gt;dev_addr, NULL_IFINDEX);
+batadv_tt_local_add(soft_iface, soft_iface-&amp;gt;dev_addr, NULL_IFINDEX);
 
-ret = vis_init(bat_priv);
+ret = batadv_vis_init(bat_priv);
 if (ret &amp;lt; 0)
 goto err;
 
-ret = bla_init(bat_priv);
+ret = batadv_bla_init(bat_priv);
 if (ret &amp;lt; 0)
 goto err;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -135,48 +135,48 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int mesh_init(struct net_device *soft_iface)
 return 0;
 
 err:
-mesh_free(soft_iface);
+batadv_mesh_free(soft_iface);
 return ret;
 }
 
-void mesh_free(struct net_device *soft_iface)
+void batadv_mesh_free(struct net_device *soft_iface)
 {
 struct bat_priv *bat_priv = netdev_priv(soft_iface);
 
 atomic_set(&amp;amp;bat_priv-&amp;gt;mesh_state, MESH_DEACTIVATING);
 
-purge_outstanding_packets(bat_priv, NULL);
+batadv_purge_outstanding_packets(bat_priv, NULL);
 
-vis_quit(bat_priv);
+batadv_vis_quit(bat_priv);
 
-gw_node_purge(bat_priv);
-originator_free(bat_priv);
+batadv_gw_node_purge(bat_priv);
+batadv_originator_free(bat_priv);
 
-tt_free(bat_priv);
+batadv_tt_free(bat_priv);
 
-bla_free(bat_priv);
+batadv_bla_free(bat_priv);
 
 free_percpu(bat_priv-&amp;gt;bat_counters);
 
 atomic_set(&amp;amp;bat_priv-&amp;gt;mesh_state, MESH_INACTIVE);
 }
 
-void inc_module_count(void)
+void batadv_inc_module_count(void)
 {
 try_module_get(THIS_MODULE);
 }
 
-void dec_module_count(void)
+void batadv_dec_module_count(void)
 {
 module_put(THIS_MODULE);
 }
 
-int is_my_mac(const uint8_t *addr)
+int batadv_is_my_mac(const uint8_t *addr)
 {
 const struct hard_iface *hard_iface;
 
 rcu_read_lock();
-list_for_each_entry_rcu(hard_iface, &amp;amp;hardif_list, list) {
+list_for_each_entry_rcu(hard_iface, &amp;amp;batadv_hardif_list, list) {
 if (hard_iface-&amp;gt;if_status != IF_ACTIVE)
 continue;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -198,8 +198,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int recv_unhandled_packet(struct sk_buff *skb,
 /* incoming packets with the batman ethertype received on any active hard
  * interface
  */
-int batman_skb_recv(struct sk_buff *skb, struct net_device *dev,
-    struct packet_type *ptype, struct net_device *orig_dev)
+int batadv_batman_skb_recv(struct sk_buff *skb, struct net_device *dev,
+   struct packet_type *ptype,
+   struct net_device *orig_dev)
 {
 struct bat_priv *bat_priv;
 struct batman_ogm_packet *batman_ogm_packet;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -272,26 +273,26 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void recv_handler_init(void)
 recv_packet_handler[i] = recv_unhandled_packet;
 
 /* batman icmp packet */
-recv_packet_handler[BAT_ICMP] = recv_icmp_packet;
+recv_packet_handler[BAT_ICMP] = batadv_recv_icmp_packet;
 /* unicast with 4 addresses packet */
-recv_packet_handler[BAT_UNICAST_4ADDR] = recv_unicast_packet;
+recv_packet_handler[BAT_UNICAST_4ADDR] = batadv_recv_unicast_packet;
 /* unicast packet */
-recv_packet_handler[BAT_UNICAST] = recv_unicast_packet;
+recv_packet_handler[BAT_UNICAST] = batadv_recv_unicast_packet;
 /* fragmented unicast packet */
-recv_packet_handler[BAT_UNICAST_FRAG] = recv_ucast_frag_packet;
+recv_packet_handler[BAT_UNICAST_FRAG] = batadv_recv_ucast_frag_packet;
 /* broadcast packet */
-recv_packet_handler[BAT_BCAST] = recv_bcast_packet;
+recv_packet_handler[BAT_BCAST] = batadv_recv_bcast_packet;
 /* vis packet */
-recv_packet_handler[BAT_VIS] = recv_vis_packet;
+recv_packet_handler[BAT_VIS] = batadv_recv_vis_packet;
 /* Translation table query (request or response) */
-recv_packet_handler[BAT_TT_QUERY] = recv_tt_query;
+recv_packet_handler[BAT_TT_QUERY] = batadv_recv_tt_query;
 /* Roaming advertisement */
-recv_packet_handler[BAT_ROAM_ADV] = recv_roam_adv;
+recv_packet_handler[BAT_ROAM_ADV] = batadv_recv_roam_adv;
 }
 
-int recv_handler_register(uint8_t packet_type,
-  int (*recv_handler)(struct sk_buff *,
-      struct hard_iface *))
+int batadv_recv_handler_register(uint8_t packet_type,
+ int (*recv_handler)(struct sk_buff *,
+     struct hard_iface *))
 {
 if (recv_packet_handler[packet_type] != &amp;amp;recv_unhandled_packet)
 return -EBUSY;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -300,7 +301,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int recv_handler_register(uint8_t packet_type,
 return 0;
 }
 
-void recv_handler_unregister(uint8_t packet_type)
+void batadv_recv_handler_unregister(uint8_t packet_type)
 {
 recv_packet_handler[packet_type] = recv_unhandled_packet;
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -321,7 +322,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static struct bat_algo_ops *bat_algo_get(char *name)
 return bat_algo_ops;
 }
 
-int bat_algo_register(struct bat_algo_ops *bat_algo_ops)
+int batadv_algo_register(struct bat_algo_ops *bat_algo_ops)
 {
 struct bat_algo_ops *bat_algo_ops_tmp;
 int ret;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -355,7 +356,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 return ret;
 }
 
-int bat_algo_select(struct bat_priv *bat_priv, char *name)
+int batadv_algo_select(struct bat_priv *bat_priv, char *name)
 {
 struct bat_algo_ops *bat_algo_ops;
 int ret = -EINVAL;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -371,7 +372,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 return ret;
 }
 
-int bat_algo_seq_print_text(struct seq_file *seq, void *offset)
+int batadv_algo_seq_print_text(struct seq_file *seq, void *offset)
 {
 struct bat_algo_ops *bat_algo_ops;
 struct hlist_node *node;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -409,8 +410,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static const struct kernel_param_ops param_ops_ra = {
 };
 
 static struct kparam_string __param_string_ra = {
-.maxlen = sizeof(bat_routing_algo),
-.string = bat_routing_algo,
+.maxlen = sizeof(batadv_routing_algo),
+.string = batadv_routing_algo,
 };
 
 module_param_cb(routing_algo, &amp;amp;param_ops_ra, &amp;amp;__param_string_ra, 0644);
diff --git a/main.h b/main.h
index a94ceae..b15cd94 100644
--- a/main.h
+++ b/main.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -160,34 +160,36 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; enum dbg_level {
 
 #include "types.h"
 
-extern char bat_routing_algo[];
-extern struct list_head hardif_list;
-
-extern unsigned char broadcast_addr[];
-extern struct workqueue_struct *bat_event_workqueue;
-
-int mesh_init(struct net_device *soft_iface);
-void mesh_free(struct net_device *soft_iface);
-void inc_module_count(void);
-void dec_module_count(void);
-int is_my_mac(const uint8_t *addr);
-int batman_skb_recv(struct sk_buff *skb, struct net_device *dev,
-    struct packet_type *ptype, struct net_device *orig_dev);
-int recv_handler_register(uint8_t packet_type,
-  int (*recv_handler)(struct sk_buff *,
-      struct hard_iface *));
-void recv_handler_unregister(uint8_t packet_type);
-int bat_algo_register(struct bat_algo_ops *bat_algo_ops);
-int bat_algo_select(struct bat_priv *bat_priv, char *name);
-int bat_algo_seq_print_text(struct seq_file *seq, void *offset);
+extern char batadv_routing_algo[];
+extern struct list_head batadv_hardif_list;
+
+extern unsigned char batadv_broadcast_addr[];
+extern struct workqueue_struct *batadv_event_workqueue;
+
+int batadv_mesh_init(struct net_device *soft_iface);
+void batadv_mesh_free(struct net_device *soft_iface);
+void batadv_inc_module_count(void);
+void batadv_dec_module_count(void);
+int batadv_is_my_mac(const uint8_t *addr);
+int batadv_batman_skb_recv(struct sk_buff *skb, struct net_device *dev,
+   struct packet_type *ptype,
+   struct net_device *orig_dev);
+int batadv_recv_handler_register(uint8_t packet_type,
+ int (*recv_handler)(struct sk_buff *,
+     struct hard_iface *));
+void batadv_recv_handler_unregister(uint8_t packet_type);
+int batadv_algo_register(struct bat_algo_ops *bat_algo_ops);
+int batadv_algo_select(struct bat_priv *bat_priv, char *name);
+int batadv_algo_seq_print_text(struct seq_file *seq, void *offset);
 
 #ifdef CONFIG_BATMAN_ADV_DEBUG
-int debug_log(struct bat_priv *bat_priv, const char *fmt, ...) __printf(2, 3);
+int batadv_debug_log(struct bat_priv *bat_priv, const char *fmt, ...)
+__printf(2, 3);
 
 #define bat_dbg(type, bat_priv, fmt, arg...)\
 do {\
 if (atomic_read(&amp;amp;bat_priv-&amp;gt;log_level) &amp;amp; type)\
-debug_log(bat_priv, fmt, ## arg);\
+batadv_debug_log(bat_priv, fmt, ## arg);\
 }\
 while (0)
 #else /* !CONFIG_BATMAN_ADV_DEBUG */
diff --git a/originator.c b/originator.c
index c17dc0c..93d5b2b 100644
--- a/originator.c
+++ b/originator.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -36,7 +36,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void purge_orig(struct work_struct *work);
 static void start_purge_timer(struct bat_priv *bat_priv)
 {
 INIT_DELAYED_WORK(&amp;amp;bat_priv-&amp;gt;orig_work, purge_orig);
-queue_delayed_work(bat_event_workqueue,
+queue_delayed_work(batadv_event_workqueue,
    &amp;amp;bat_priv-&amp;gt;orig_work, msecs_to_jiffies(1000));
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -48,12 +48,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int compare_orig(const struct hlist_node *node, const void *data2)
 return (memcmp(data1, data2, ETH_ALEN) == 0 ? 1 : 0);
 }
 
-int originator_init(struct bat_priv *bat_priv)
+int batadv_originator_init(struct bat_priv *bat_priv)
 {
 if (bat_priv-&amp;gt;orig_hash)
 return 0;
 
-bat_priv-&amp;gt;orig_hash = hash_new(1024);
+bat_priv-&amp;gt;orig_hash = batadv_hash_new(1024);
 
 if (!bat_priv-&amp;gt;orig_hash)
 goto err;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -65,14 +65,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; err:
 return -ENOMEM;
 }
 
-void neigh_node_free_ref(struct neigh_node *neigh_node)
+void batadv_neigh_node_free_ref(struct neigh_node *neigh_node)
 {
 if (atomic_dec_and_test(&amp;amp;neigh_node-&amp;gt;refcount))
 kfree_rcu(neigh_node, rcu);
 }
 
 /* increases the refcounter of a found router */
-struct neigh_node *orig_node_get_router(struct orig_node *orig_node)
+struct neigh_node *batadv_orig_node_get_router(struct orig_node *orig_node)
 {
 struct neigh_node *router;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -127,21 +127,21 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void orig_node_free_rcu(struct rcu_head *rcu)
 list_for_each_entry_safe(neigh_node, tmp_neigh_node,
  &amp;amp;orig_node-&amp;gt;bond_list, bonding_list) {
 list_del_rcu(&amp;amp;neigh_node-&amp;gt;bonding_list);
-neigh_node_free_ref(neigh_node);
+batadv_neigh_node_free_ref(neigh_node);
 }
 
 /* for all neighbors towards this originator ... */
 hlist_for_each_entry_safe(neigh_node, node, node_tmp,
   &amp;amp;orig_node-&amp;gt;neigh_list, list) {
 hlist_del_rcu(&amp;amp;neigh_node-&amp;gt;list);
-neigh_node_free_ref(neigh_node);
+batadv_neigh_node_free_ref(neigh_node);
 }
 
 spin_unlock_bh(&amp;amp;orig_node-&amp;gt;neigh_list_lock);
 
-frag_list_free(&amp;amp;orig_node-&amp;gt;frag_list);
-tt_global_del_orig(orig_node-&amp;gt;bat_priv, orig_node,
-   "originator timed out");
+batadv_frag_list_free(&amp;amp;orig_node-&amp;gt;frag_list);
+batadv_tt_global_del_orig(orig_node-&amp;gt;bat_priv, orig_node,
+  "originator timed out");
 
 kfree(orig_node-&amp;gt;tt_buff);
 kfree(orig_node-&amp;gt;bcast_own);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -149,13 +149,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void orig_node_free_rcu(struct rcu_head *rcu)
 kfree(orig_node);
 }
 
-void orig_node_free_ref(struct orig_node *orig_node)
+void batadv_orig_node_free_ref(struct orig_node *orig_node)
 {
 if (atomic_dec_and_test(&amp;amp;orig_node-&amp;gt;refcount))
 call_rcu(&amp;amp;orig_node-&amp;gt;rcu, orig_node_free_rcu);
 }
 
-void originator_free(struct bat_priv *bat_priv)
+void batadv_originator_free(struct bat_priv *bat_priv)
 {
 struct hashtable_t *hash = bat_priv-&amp;gt;orig_hash;
 struct hlist_node *node, *node_tmp;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -180,17 +180,18 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void originator_free(struct bat_priv *bat_priv)
   head, hash_entry) {
 
 hlist_del_rcu(node);
-orig_node_free_ref(orig_node);
+batadv_orig_node_free_ref(orig_node);
 }
 spin_unlock_bh(list_lock);
 }
 
-hash_destroy(hash);
+ batadv_hash_destroy(hash);
 }
 
 /* this function finds or creates an originator entry for the given
  * address if it does not exits */
-struct orig_node *get_orig_node(struct bat_priv *bat_priv, const uint8_t *addr)
+struct orig_node *batadv_get_orig_node(struct bat_priv *bat_priv,
+       const uint8_t *addr)
 {
 struct orig_node *orig_node;
 int size;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -221,7 +222,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct orig_node *get_orig_node(struct bat_priv *bat_priv, const uint8_t *addr)
 orig_node-&amp;gt;tt_poss_change = false;
 orig_node-&amp;gt;bat_priv = bat_priv;
 memcpy(orig_node-&amp;gt;orig, addr, ETH_ALEN);
-dat_init_orig_node_dht_addr(orig_node);
+batadv_dat_init_orig_node_dht_addr(orig_node);
 orig_node-&amp;gt;router = NULL;
 orig_node-&amp;gt;tt_crc = 0;
 atomic_set(&amp;amp;orig_node-&amp;gt;last_ttvn, 0);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -308,8 +309,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static bool purge_orig_neighbors(struct bat_priv *bat_priv,
 neigh_purged = true;
 
 hlist_del_rcu(&amp;amp;neigh_node-&amp;gt;list);
-bonding_candidate_del(orig_node, neigh_node);
-neigh_node_free_ref(neigh_node);
+batadv_bonding_candidate_del(orig_node, neigh_node);
+batadv_neigh_node_free_ref(neigh_node);
 } else {
 if ((!*best_neigh_node) ||
     (neigh_node-&amp;gt;tq_avg &amp;gt; (*best_neigh_node)-&amp;gt;tq_avg))
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -335,7 +336,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static bool purge_orig_node(struct bat_priv *bat_priv,
 } else {
 if (purge_orig_neighbors(bat_priv, orig_node,
  &amp;amp;best_neigh_node))
-update_route(bat_priv, orig_node, best_neigh_node);
+batadv_update_route(bat_priv, orig_node,
+    best_neigh_node);
 }
 
 return false;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -363,21 +365,22 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void _purge_orig(struct bat_priv *bat_priv)
   head, hash_entry) {
 if (purge_orig_node(bat_priv, orig_node)) {
 if (orig_node-&amp;gt;gw_flags)
-gw_node_delete(bat_priv, orig_node);
+batadv_gw_node_delete(bat_priv,
+      orig_node);
 hlist_del_rcu(node);
-orig_node_free_ref(orig_node);
+batadv_orig_node_free_ref(orig_node);
 continue;
 }
 
 if (has_timed_out(orig_node-&amp;gt;last_frag_packet,
   FRAG_TIMEOUT))
-frag_list_free(&amp;amp;orig_node-&amp;gt;frag_list);
+batadv_frag_list_free(&amp;amp;orig_node-&amp;gt;frag_list);
 }
 spin_unlock_bh(list_lock);
 }
 
-gw_node_purge(bat_priv);
-gw_election(bat_priv);
+batadv_gw_node_purge(bat_priv);
+batadv_gw_election(bat_priv);
 }
 
 static void purge_orig(struct work_struct *work)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -391,12 +394,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void purge_orig(struct work_struct *work)
 start_purge_timer(bat_priv);
 }
 
-void purge_orig_ref(struct bat_priv *bat_priv)
+void batadv_purge_orig_ref(struct bat_priv *bat_priv)
 {
 _purge_orig(bat_priv);
 }
 
-int orig_seq_print_text(struct seq_file *seq, void *offset)
+int batadv_orig_seq_print_text(struct seq_file *seq, void *offset)
 {
 struct net_device *net_dev = (struct net_device *)seq-&amp;gt;private;
 struct bat_priv *bat_priv = netdev_priv(net_dev);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -440,7 +443,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int orig_seq_print_text(struct seq_file *seq, void *offset)
 
 rcu_read_lock();
 hlist_for_each_entry_rcu(orig_node, node, head, hash_entry) {
-neigh_node = orig_node_get_router(orig_node);
+neigh_node = batadv_orig_node_get_router(orig_node);
 if (!neigh_node)
 continue;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -469,7 +472,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int orig_seq_print_text(struct seq_file *seq, void *offset)
 batman_count++;
 
 next:
-neigh_node_free_ref(neigh_node);
+batadv_neigh_node_free_ref(neigh_node);
 }
 rcu_read_unlock();
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -509,7 +512,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int orig_node_add_if(struct orig_node *orig_node, int max_if_num)
 return 0;
 }
 
-int orig_hash_add_if(struct hard_iface *hard_iface, int max_if_num)
+int batadv_orig_hash_add_if(struct hard_iface *hard_iface, int max_if_num)
 {
 struct bat_priv *bat_priv = netdev_priv(hard_iface-&amp;gt;soft_iface);
 struct hashtable_t *hash = bat_priv-&amp;gt;orig_hash;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -591,7 +594,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; free_own_sum:
 return 0;
 }
 
-int orig_hash_del_if(struct hard_iface *hard_iface, int max_if_num)
+int batadv_orig_hash_del_if(struct hard_iface *hard_iface, int max_if_num)
 {
 struct bat_priv *bat_priv = netdev_priv(hard_iface-&amp;gt;soft_iface);
 struct hashtable_t *hash = bat_priv-&amp;gt;orig_hash;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -622,7 +625,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int orig_hash_del_if(struct hard_iface *hard_iface, int max_if_num)
 
 /* renumber remaining batman interfaces _inside_ of orig_hash_lock */
 rcu_read_lock();
-list_for_each_entry_rcu(hard_iface_tmp, &amp;amp;hardif_list, list) {
+list_for_each_entry_rcu(hard_iface_tmp, &amp;amp;batadv_hardif_list, list) {
 if (hard_iface_tmp-&amp;gt;if_status == IF_NOT_IN_USE)
 continue;
 
diff --git a/originator.h b/originator.h
index f74d0d6..97deeba 100644
--- a/originator.h
+++ b/originator.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -24,19 +24,20 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 #include "hash.h"
 
-int originator_init(struct bat_priv *bat_priv);
-void originator_free(struct bat_priv *bat_priv);
-void purge_orig_ref(struct bat_priv *bat_priv);
-void orig_node_free_ref(struct orig_node *orig_node);
-struct orig_node *get_orig_node(struct bat_priv *bat_priv, const uint8_t *addr);
+int batadv_originator_init(struct bat_priv *bat_priv);
+void batadv_originator_free(struct bat_priv *bat_priv);
+void batadv_purge_orig_ref(struct bat_priv *bat_priv);
+void batadv_orig_node_free_ref(struct orig_node *orig_node);
+struct orig_node *batadv_get_orig_node(struct bat_priv *bat_priv,
+       const uint8_t *addr);
 struct neigh_node *batadv_neigh_node_new(struct hard_iface *hard_iface,
  const uint8_t *neigh_addr,
  uint32_t seqno);
-void neigh_node_free_ref(struct neigh_node *neigh_node);
-struct neigh_node *orig_node_get_router(struct orig_node *orig_node);
-int orig_seq_print_text(struct seq_file *seq, void *offset);
-int orig_hash_add_if(struct hard_iface *hard_iface, int max_if_num);
-int orig_hash_del_if(struct hard_iface *hard_iface, int max_if_num);
+void batadv_neigh_node_free_ref(struct neigh_node *neigh_node);
+struct neigh_node *batadv_orig_node_get_router(struct orig_node *orig_node);
+int batadv_orig_seq_print_text(struct seq_file *seq, void *offset);
+int batadv_orig_hash_add_if(struct hard_iface *hard_iface, int max_if_num);
+int batadv_orig_hash_del_if(struct hard_iface *hard_iface, int max_if_num);
 
 
 /* hashfunction to choose an entry in a hash table of given size */
diff --git a/ring_buffer.c b/ring_buffer.c
index fd63951..db8f5ef 100644
--- a/ring_buffer.c
+++ b/ring_buffer.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -22,13 +22,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #include "main.h"
 #include "ring_buffer.h"
 
-void ring_buffer_set(uint8_t lq_recv[], uint8_t *lq_index, uint8_t value)
+void batadv_ring_buffer_set(uint8_t lq_recv[], uint8_t *lq_index,
+    uint8_t value)
 {
 lq_recv[*lq_index] = value;
 *lq_index = (*lq_index + 1) % TQ_GLOBAL_WINDOW_SIZE;
 }
 
-uint8_t ring_buffer_avg(const uint8_t lq_recv[])
+uint8_t batadv_ring_buffer_avg(const uint8_t lq_recv[])
 {
 const uint8_t *ptr;
 uint16_t count = 0, i = 0, sum = 0;
diff --git a/ring_buffer.h b/ring_buffer.h
index 8b58bd8..fbaf9d2 100644
--- a/ring_buffer.h
+++ b/ring_buffer.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -22,7 +22,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #ifndef _NET_BATMAN_ADV_RING_BUFFER_H_
 #define _NET_BATMAN_ADV_RING_BUFFER_H_
 
-void ring_buffer_set(uint8_t lq_recv[], uint8_t *lq_index, uint8_t value);
-uint8_t ring_buffer_avg(const uint8_t lq_recv[]);
+void batadv_ring_buffer_set(uint8_t lq_recv[], uint8_t *lq_index,
+    uint8_t value);
+uint8_t batadv_ring_buffer_avg(const uint8_t lq_recv[]);
 
 #endif /* _NET_BATMAN_ADV_RING_BUFFER_H_ */
diff --git a/routing.c b/routing.c
index 9beb2e2..c708cf5 100644
--- a/routing.c
+++ b/routing.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -34,7 +34,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 static int route_unicast_packet(struct sk_buff *skb,
 struct hard_iface *recv_if);
 
-void slide_own_bcast_window(struct hard_iface *hard_iface)
+void batadv_slide_own_bcast_window(struct hard_iface *hard_iface)
 {
 struct bat_priv *bat_priv = netdev_priv(hard_iface-&amp;gt;soft_iface);
 struct hashtable_t *hash = bat_priv-&amp;gt;orig_hash;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -54,7 +54,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void slide_own_bcast_window(struct hard_iface *hard_iface)
 word_index = hard_iface-&amp;gt;if_num * NUM_WORDS;
 word = &amp;amp;(orig_node-&amp;gt;bcast_own[word_index]);
 
-bit_get_packet(bat_priv, word, 1, 0);
+batadv_bit_get_packet(bat_priv, word, 1, 0);
 orig_node-&amp;gt;bcast_own_sum[hard_iface-&amp;gt;if_num] =
 bitmap_weight(word, TQ_LOCAL_WINDOW_SIZE);
 spin_unlock_bh(&amp;amp;orig_node-&amp;gt;ogm_cnt_lock);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -69,14 +69,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void _update_route(struct bat_priv *bat_priv,
 {
 struct neigh_node *curr_router;
 
-curr_router = orig_node_get_router(orig_node);
+curr_router = batadv_orig_node_get_router(orig_node);
 
 /* route deleted */
 if ((curr_router) &amp;amp;&amp;amp; (!neigh_node)) {
 bat_dbg(DBG_ROUTES, bat_priv, "Deleting route towards: %pM\n",
 orig_node-&amp;gt;orig);
-tt_global_del_orig(bat_priv, orig_node,
-   "Deleted route towards originator");
+batadv_tt_global_del_orig(bat_priv, orig_node,
+  "Deleted route towards originator");
 
 /* route added */
 } else if ((!curr_router) &amp;amp;&amp;amp; (neigh_node)) {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -93,7 +93,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void _update_route(struct bat_priv *bat_priv,
 }
 
 if (curr_router)
-neigh_node_free_ref(curr_router);
+batadv_neigh_node_free_ref(curr_router);
 
 /* increase refcount of new best neighbor */
 if (neigh_node &amp;amp;&amp;amp; !atomic_inc_not_zero(&amp;amp;neigh_node-&amp;gt;refcount))
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -105,30 +105,30 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void _update_route(struct bat_priv *bat_priv,
 
 /* decrease refcount of previous best neighbor */
 if (curr_router)
-neigh_node_free_ref(curr_router);
+batadv_neigh_node_free_ref(curr_router);
 }
 
-void update_route(struct bat_priv *bat_priv, struct orig_node *orig_node,
-  struct neigh_node *neigh_node)
+void batadv_update_route(struct bat_priv *bat_priv, struct orig_node *orig_node,
+ struct neigh_node *neigh_node)
 {
 struct neigh_node *router = NULL;
 
 if (!orig_node)
 goto out;
 
-router = orig_node_get_router(orig_node);
+router = batadv_orig_node_get_router(orig_node);
 
 if (router != neigh_node)
 _update_route(bat_priv, orig_node, neigh_node);
 
 out:
 if (router)
-neigh_node_free_ref(router);
+batadv_neigh_node_free_ref(router);
 }
 
 /* caller must hold the neigh_list_lock */
-void bonding_candidate_del(struct orig_node *orig_node,
-   struct neigh_node *neigh_node)
+void batadv_bonding_candidate_del(struct orig_node *orig_node,
+  struct neigh_node *neigh_node)
 {
 /* this neighbor is not part of our candidate list */
 if (list_empty(&amp;amp;neigh_node-&amp;gt;bonding_list))
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -136,15 +136,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void bonding_candidate_del(struct orig_node *orig_node,
 
 list_del_rcu(&amp;amp;neigh_node-&amp;gt;bonding_list);
 INIT_LIST_HEAD(&amp;amp;neigh_node-&amp;gt;bonding_list);
-neigh_node_free_ref(neigh_node);
+batadv_neigh_node_free_ref(neigh_node);
 atomic_dec(&amp;amp;orig_node-&amp;gt;bond_candidates);
 
 out:
 return;
 }
 
-void bonding_candidate_add(struct orig_node *orig_node,
-   struct neigh_node *neigh_node)
+void batadv_bonding_candidate_add(struct orig_node *orig_node,
+  struct neigh_node *neigh_node)
 {
 struct hlist_node *node;
 struct neigh_node *tmp_neigh_node, *router = NULL;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -157,7 +157,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void bonding_candidate_add(struct orig_node *orig_node,
  neigh_node-&amp;gt;orig_node-&amp;gt;primary_addr))
 goto candidate_del;
 
-router = orig_node_get_router(orig_node);
+router = batadv_orig_node_get_router(orig_node);
 if (!router)
 goto candidate_del;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -204,19 +204,20 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void bonding_candidate_add(struct orig_node *orig_node,
 goto out;
 
 candidate_del:
-bonding_candidate_del(orig_node, neigh_node);
+batadv_bonding_candidate_del(orig_node, neigh_node);
 
 out:
 spin_unlock_bh(&amp;amp;orig_node-&amp;gt;neigh_list_lock);
 
 if (router)
-neigh_node_free_ref(router);
+batadv_neigh_node_free_ref(router);
 }
 
 /* copy primary address for bonding */
-void bonding_save_primary(const struct orig_node *orig_node,
-  struct orig_node *orig_neigh_node,
-  const struct batman_ogm_packet *batman_ogm_packet)
+void
+batadv_bonding_save_primary(const struct orig_node *orig_node,
+    struct orig_node *orig_neigh_node,
+    const struct batman_ogm_packet *batman_ogm_packet)
 {
 if (!(batman_ogm_packet-&amp;gt;flags &amp;amp; PRIMARIES_FIRST_HOP))
 return;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -229,8 +230,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void bonding_save_primary(const struct orig_node *orig_node,
  *  0 if the packet is to be accepted
  *  1 if the packet is to be ignored.
  */
-int window_protected(struct bat_priv *bat_priv, int32_t seq_num_diff,
-     unsigned long *last_reset)
+int batadv_window_protected(struct bat_priv *bat_priv, int32_t seq_num_diff,
+    unsigned long *last_reset)
 {
 if ((seq_num_diff &amp;lt;= -TQ_LOCAL_WINDOW_SIZE) ||
     (seq_num_diff &amp;gt;= EXPECTED_SEQNO_RANGE)) {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -245,9 +246,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int window_protected(struct bat_priv *bat_priv, int32_t seq_num_diff,
 return 0;
 }
 
-bool check_management_packet(struct sk_buff *skb,
-     struct hard_iface *hard_iface,
-     int header_len)
+bool batadv_check_management_packet(struct sk_buff *skb,
+    struct hard_iface *hard_iface,
+    int header_len)
 {
 struct ethhdr *ethhdr;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -289,7 +290,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int recv_my_icmp_packet(struct bat_priv *bat_priv,
 
 /* add data to device queue */
 if (icmp_packet-&amp;gt;msg_type != ECHO_REQUEST) {
-bat_socket_receive_packet(icmp_packet, icmp_len);
+batadv_socket_receive_packet(icmp_packet, icmp_len);
 goto out;
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -303,7 +304,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int recv_my_icmp_packet(struct bat_priv *bat_priv,
 if (!orig_node)
 goto out;
 
-router = orig_node_get_router(orig_node);
+router = batadv_orig_node_get_router(orig_node);
 if (!router)
 goto out;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -318,16 +319,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int recv_my_icmp_packet(struct bat_priv *bat_priv,
 icmp_packet-&amp;gt;msg_type = ECHO_REPLY;
 icmp_packet-&amp;gt;header.ttl = TTL;
 
-send_skb_packet(skb, router-&amp;gt;if_incoming, router-&amp;gt;addr);
+batadv_send_skb_packet(skb, router-&amp;gt;if_incoming, router-&amp;gt;addr);
 ret = NET_RX_SUCCESS;
 
 out:
 if (primary_if)
 hardif_free_ref(primary_if);
 if (router)
-neigh_node_free_ref(router);
+batadv_neigh_node_free_ref(router);
 if (orig_node)
-orig_node_free_ref(orig_node);
+batadv_orig_node_free_ref(orig_node);
 return ret;
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -358,7 +359,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int recv_icmp_ttl_exceeded(struct bat_priv *bat_priv,
 if (!orig_node)
 goto out;
 
-router = orig_node_get_router(orig_node);
+router = batadv_orig_node_get_router(orig_node);
 if (!router)
 goto out;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -373,21 +374,21 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int recv_icmp_ttl_exceeded(struct bat_priv *bat_priv,
 icmp_packet-&amp;gt;msg_type = TTL_EXCEEDED;
 icmp_packet-&amp;gt;header.ttl = TTL;
 
-send_skb_packet(skb, router-&amp;gt;if_incoming, router-&amp;gt;addr);
+batadv_send_skb_packet(skb, router-&amp;gt;if_incoming, router-&amp;gt;addr);
 ret = NET_RX_SUCCESS;
 
 out:
 if (primary_if)
 hardif_free_ref(primary_if);
 if (router)
-neigh_node_free_ref(router);
+batadv_neigh_node_free_ref(router);
 if (orig_node)
-orig_node_free_ref(orig_node);
+batadv_orig_node_free_ref(orig_node);
 return ret;
 }
 
 
-int recv_icmp_packet(struct sk_buff *skb, struct hard_iface *recv_if)
+int batadv_recv_icmp_packet(struct sk_buff *skb, struct hard_iface *recv_if)
 {
 struct bat_priv *bat_priv = netdev_priv(recv_if-&amp;gt;soft_iface);
 struct icmp_packet_rr *icmp_packet;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -418,7 +419,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int recv_icmp_packet(struct sk_buff *skb, struct hard_iface *recv_if)
 goto out;
 
 /* not for me */
-if (!is_my_mac(ethhdr-&amp;gt;h_dest))
+if (!batadv_is_my_mac(ethhdr-&amp;gt;h_dest))
 goto out;
 
 icmp_packet = (struct icmp_packet_rr *)skb-&amp;gt;data;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -432,7 +433,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int recv_icmp_packet(struct sk_buff *skb, struct hard_iface *recv_if)
 }
 
 /* packet for me */
-if (is_my_mac(icmp_packet-&amp;gt;dst))
+if (batadv_is_my_mac(icmp_packet-&amp;gt;dst))
 return recv_my_icmp_packet(bat_priv, skb, hdr_size);
 
 /* TTL exceeded */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -444,7 +445,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int recv_icmp_packet(struct sk_buff *skb, struct hard_iface *recv_if)
 if (!orig_node)
 goto out;
 
-router = orig_node_get_router(orig_node);
+router = batadv_orig_node_get_router(orig_node);
 if (!router)
 goto out;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -458,14 +459,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int recv_icmp_packet(struct sk_buff *skb, struct hard_iface *recv_if)
 icmp_packet-&amp;gt;header.ttl--;
 
 /* route it */
-send_skb_packet(skb, router-&amp;gt;if_incoming, router-&amp;gt;addr);
+batadv_send_skb_packet(skb, router-&amp;gt;if_incoming, router-&amp;gt;addr);
 ret = NET_RX_SUCCESS;
 
 out:
 if (router)
-neigh_node_free_ref(router);
+batadv_neigh_node_free_ref(router);
 if (orig_node)
-orig_node_free_ref(orig_node);
+batadv_orig_node_free_ref(orig_node);
 return ret;
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -551,13 +552,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static struct neigh_node *find_ifalter_router(struct orig_node *primary_orig,
 /* decrement refcount of
  * previously selected router */
 if (router)
-neigh_node_free_ref(router);
+batadv_neigh_node_free_ref(router);
 
 router = tmp_neigh_node;
 atomic_inc_not_zero(&amp;amp;router-&amp;gt;refcount);
 }
 
-neigh_node_free_ref(tmp_neigh_node);
+batadv_neigh_node_free_ref(tmp_neigh_node);
 }
 
 /* use the first candidate if nothing was found. */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -569,7 +570,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static struct neigh_node *find_ifalter_router(struct orig_node *primary_orig,
 return router;
 }
 
-int recv_tt_query(struct sk_buff *skb, struct hard_iface *recv_if)
+int batadv_recv_tt_query(struct sk_buff *skb, struct hard_iface *recv_if)
 {
 struct bat_priv *bat_priv = netdev_priv(recv_if-&amp;gt;soft_iface);
 struct tt_query_packet *tt_query;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -602,7 +603,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int recv_tt_query(struct sk_buff *skb, struct hard_iface *recv_if)
 
 /* If we cannot provide an answer the tt_request is
  * forwarded */
-if (!send_tt_response(bat_priv, tt_query)) {
+if (!batadv_send_tt_response(bat_priv, tt_query)) {
 bat_dbg(DBG_TT, bat_priv,
 "Routing TT_REQUEST to %pM [%c]\n",
 tt_query-&amp;gt;dst,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -613,20 +614,20 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int recv_tt_query(struct sk_buff *skb, struct hard_iface *recv_if)
 case TT_RESPONSE:
 inc_counter(bat_priv, BAT_CNT_TT_RESPONSE_RX);
 
-if (is_my_mac(tt_query-&amp;gt;dst)) {
+if (batadv_is_my_mac(tt_query-&amp;gt;dst)) {
 /* packet needs to be linearized to access the TT
  * changes */
 if (skb_linearize(skb) &amp;lt; 0)
 goto out;
 
-tt_size = tt_len(ntohs(tt_query-&amp;gt;tt_data));
+tt_size = batadv_tt_len(ntohs(tt_query-&amp;gt;tt_data));
 
 /* Ensure we have all the claimed data */
 if (unlikely(skb_headlen(skb) &amp;lt;
      sizeof(struct tt_query_packet) + tt_size))
 goto out;
 
-handle_tt_response(bat_priv, tt_query);
+batadv_handle_tt_response(bat_priv, tt_query);
 } else {
 bat_dbg(DBG_TT, bat_priv,
 "Routing TT_RESPONSE to %pM [%c]\n",
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -642,7 +643,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 return NET_RX_DROP;
 }
 
-int recv_roam_adv(struct sk_buff *skb, struct hard_iface *recv_if)
+int batadv_recv_roam_adv(struct sk_buff *skb, struct hard_iface *recv_if)
 {
 struct bat_priv *bat_priv = netdev_priv(recv_if-&amp;gt;soft_iface);
 struct roam_adv_packet *roam_adv_packet;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -667,14 +668,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int recv_roam_adv(struct sk_buff *skb, struct hard_iface *recv_if)
 
 roam_adv_packet = (struct roam_adv_packet *)skb-&amp;gt;data;
 
-if (!is_my_mac(roam_adv_packet-&amp;gt;dst))
+if (!batadv_is_my_mac(roam_adv_packet-&amp;gt;dst))
 return route_unicast_packet(skb, recv_if);
 
 /* check if it is a backbone gateway. we don't accept
  * roaming advertisement from it, as it has the same
  * entries as we have.
  */
-if (bla_is_backbone_gw_orig(bat_priv, roam_adv_packet-&amp;gt;src))
+if (batadv_bla_is_backbone_gw_orig(bat_priv, roam_adv_packet-&amp;gt;src))
 goto out;
 
 orig_node = orig_hash_find(bat_priv, roam_adv_packet-&amp;gt;src);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -685,15 +686,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int recv_roam_adv(struct sk_buff *skb, struct hard_iface *recv_if)
 "Received ROAMING_ADV from %pM (client %pM)\n",
 roam_adv_packet-&amp;gt;src, roam_adv_packet-&amp;gt;client);
 
-tt_global_add(bat_priv, orig_node, roam_adv_packet-&amp;gt;client,
-      atomic_read(&amp;amp;orig_node-&amp;gt;last_ttvn) + 1, true, false);
+batadv_tt_global_add(bat_priv, orig_node, roam_adv_packet-&amp;gt;client,
+     atomic_read(&amp;amp;orig_node-&amp;gt;last_ttvn) + 1, true,
+     false);
 
 /* Roaming phase starts: I have new information but the ttvn has not
  * been incremented yet. This flag will make me check all the incoming
  * packets for the correct destination. */
 bat_priv-&amp;gt;tt_poss_change = true;
 
-orig_node_free_ref(orig_node);
+batadv_orig_node_free_ref(orig_node);
 out:
 /* returning NET_RX_DROP will make the caller function kfree the skb */
 return NET_RX_DROP;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -702,9 +704,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 /* find a suitable router for this originator, and use
  * bonding if possible. increases the found neighbors
  * refcount.*/
-struct neigh_node *find_router(struct bat_priv *bat_priv,
-       struct orig_node *orig_node,
-       const struct hard_iface *recv_if)
+struct neigh_node *batadv_find_router(struct bat_priv *bat_priv,
+      struct orig_node *orig_node,
+      const struct hard_iface *recv_if)
 {
 struct orig_node *primary_orig_node;
 struct orig_node *router_orig;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -715,7 +717,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct neigh_node *find_router(struct bat_priv *bat_priv,
 if (!orig_node)
 return NULL;
 
-router = orig_node_get_router(orig_node);
+router = batadv_orig_node_get_router(orig_node);
 if (!router)
 goto err;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -748,7 +750,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct neigh_node *find_router(struct bat_priv *bat_priv,
 if (!primary_orig_node)
 goto return_router;
 
-orig_node_free_ref(primary_orig_node);
+batadv_orig_node_free_ref(primary_orig_node);
 }
 
 /* with less than 2 candidates, we can't do any
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -760,7 +762,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct neigh_node *find_router(struct bat_priv *bat_priv,
  * is is not on the interface where the packet came
  * in. */
 
-neigh_node_free_ref(router);
+batadv_neigh_node_free_ref(router);
 
 if (bonding_enabled)
 router = find_bond_router(primary_orig_node, recv_if);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -777,7 +779,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; err_unlock:
 rcu_read_unlock();
 err:
 if (router)
-neigh_node_free_ref(router);
+batadv_neigh_node_free_ref(router);
 return NULL;
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -800,7 +802,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int check_unicast_packet(struct sk_buff *skb, int hdr_size)
 return -1;
 
 /* not for me */
-if (!is_my_mac(ethhdr-&amp;gt;h_dest))
+if (!batadv_is_my_mac(ethhdr-&amp;gt;h_dest))
 return -1;
 
 return 0;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -832,7 +834,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int route_unicast_packet(struct sk_buff *skb, struct hard_iface *recv_if)
 goto out;
 
 /* find_router() increases neigh_nodes refcount if found. */
-neigh_node = find_router(bat_priv, orig_node, recv_if);
+neigh_node = batadv_find_router(bat_priv, orig_node, recv_if);
 
 if (!neigh_node)
 goto out;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -846,15 +848,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int route_unicast_packet(struct sk_buff *skb, struct hard_iface *recv_if)
 if (unicast_packet-&amp;gt;header.packet_type == BAT_UNICAST &amp;amp;&amp;amp;
     atomic_read(&amp;amp;bat_priv-&amp;gt;fragmentation) &amp;amp;&amp;amp;
     skb-&amp;gt;len &amp;gt; neigh_node-&amp;gt;if_incoming-&amp;gt;net_dev-&amp;gt;mtu) {
-ret = frag_send_skb(skb, bat_priv,
-    neigh_node-&amp;gt;if_incoming, neigh_node-&amp;gt;addr);
+ret = batadv_frag_send_skb(skb, bat_priv,
+   neigh_node-&amp;gt;if_incoming,
+   neigh_node-&amp;gt;addr);
 goto out;
 }
 
 if (unicast_packet-&amp;gt;header.packet_type == BAT_UNICAST_FRAG &amp;amp;&amp;amp;
     frag_can_reassemble(skb, neigh_node-&amp;gt;if_incoming-&amp;gt;net_dev-&amp;gt;mtu)) {
 
-ret = frag_reassemble_skb(skb, bat_priv, &amp;amp;new_skb);
+ret = batadv_frag_reassemble_skb(skb, bat_priv, &amp;amp;new_skb);
 
 if (ret == NET_RX_DROP)
 goto out;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -877,14 +880,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int route_unicast_packet(struct sk_buff *skb, struct hard_iface *recv_if)
 add_counter(bat_priv, BAT_CNT_FORWARD_BYTES, skb-&amp;gt;len + ETH_HLEN);
 
 /* route it */
-send_skb_packet(skb, neigh_node-&amp;gt;if_incoming, neigh_node-&amp;gt;addr);
+batadv_send_skb_packet(skb, neigh_node-&amp;gt;if_incoming, neigh_node-&amp;gt;addr);
 ret = NET_RX_SUCCESS;
 
 out:
 if (neigh_node)
-neigh_node_free_ref(neigh_node);
+batadv_neigh_node_free_ref(neigh_node);
 if (orig_node)
-orig_node_free_ref(orig_node);
+batadv_orig_node_free_ref(orig_node);
 return ret;
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -903,7 +906,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int check_unicast_ttvn(struct bat_priv *bat_priv,
 
 unicast_packet = (struct unicast_packet *)skb-&amp;gt;data;
 
-if (is_my_mac(unicast_packet-&amp;gt;dest)) {
+if (batadv_is_my_mac(unicast_packet-&amp;gt;dest)) {
 tt_poss_change = bat_priv-&amp;gt;tt_poss_change;
 curr_ttvn = (uint8_t)atomic_read(&amp;amp;bat_priv-&amp;gt;ttvn);
 } else {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -914,7 +917,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int check_unicast_ttvn(struct bat_priv *bat_priv,
 
 curr_ttvn = (uint8_t)atomic_read(&amp;amp;orig_node-&amp;gt;last_ttvn);
 tt_poss_change = orig_node-&amp;gt;tt_poss_change;
-orig_node_free_ref(orig_node);
+batadv_orig_node_free_ref(orig_node);
 }
 
 /* Check whether I have to reroute the packet */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -929,13 +932,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int check_unicast_ttvn(struct bat_priv *bat_priv,
 
 /* we don't have an updated route for this client, so we should
  * not try to reroute the packet!! */
-if (tt_global_client_is_roaming(bat_priv, ethhdr-&amp;gt;h_dest))
+if (batadv_tt_global_client_is_roaming(bat_priv,
+       ethhdr-&amp;gt;h_dest))
 return 1;
 
-orig_node = transtable_search(bat_priv, NULL, ethhdr-&amp;gt;h_dest);
+orig_node = batadv_transtable_search(bat_priv, NULL,
+     ethhdr-&amp;gt;h_dest);
 
 if (!orig_node) {
-if (!is_my_client(bat_priv, ethhdr-&amp;gt;h_dest))
+if (!batadv_is_my_client(bat_priv, ethhdr-&amp;gt;h_dest))
 return 0;
 primary_if = primary_if_get_selected(bat_priv);
 if (!primary_if)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -948,7 +953,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int check_unicast_ttvn(struct bat_priv *bat_priv,
        ETH_ALEN);
 curr_ttvn = (uint8_t)
 atomic_read(&amp;amp;orig_node-&amp;gt;last_ttvn);
-orig_node_free_ref(orig_node);
+batadv_orig_node_free_ref(orig_node);
 }
 
 bat_dbg(DBG_ROUTES, bat_priv,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -961,7 +966,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int check_unicast_ttvn(struct bat_priv *bat_priv,
 return 1;
 }
 
-int recv_unicast_packet(struct sk_buff *skb, struct hard_iface *recv_if)
+int batadv_recv_unicast_packet(struct sk_buff *skb, struct hard_iface *recv_if)
 {
 struct bat_priv *bat_priv = netdev_priv(recv_if-&amp;gt;soft_iface);
 struct unicast_packet *unicast_packet;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -980,15 +985,17 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int recv_unicast_packet(struct sk_buff *skb, struct hard_iface *recv_if)
 return NET_RX_DROP;
 
 /* packet for me */
-if (is_my_mac(unicast_packet-&amp;gt;dest)) {
-interface_rx(recv_if-&amp;gt;soft_iface, skb, recv_if, hdr_size);
+if (batadv_is_my_mac(unicast_packet-&amp;gt;dest)) {
+batadv_interface_rx(recv_if-&amp;gt;soft_iface, skb, recv_if,
+    hdr_size);
 return NET_RX_SUCCESS;
 }
 
 return route_unicast_packet(skb, recv_if);
 }
 
-int recv_ucast_frag_packet(struct sk_buff *skb, struct hard_iface *recv_if)
+int batadv_recv_ucast_frag_packet(struct sk_buff *skb,
+  struct hard_iface *recv_if)
 {
 struct bat_priv *bat_priv = netdev_priv(recv_if-&amp;gt;soft_iface);
 struct unicast_frag_packet *unicast_packet;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1005,9 +1012,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int recv_ucast_frag_packet(struct sk_buff *skb, struct hard_iface *recv_if)
 unicast_packet = (struct unicast_frag_packet *)skb-&amp;gt;data;
 
 /* packet for me */
-if (is_my_mac(unicast_packet-&amp;gt;dest)) {
+if (batadv_is_my_mac(unicast_packet-&amp;gt;dest)) {
 
-ret = frag_reassemble_skb(skb, bat_priv, &amp;amp;new_skb);
+ret = batadv_frag_reassemble_skb(skb, bat_priv, &amp;amp;new_skb);
 
 if (ret == NET_RX_DROP)
 return NET_RX_DROP;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1016,8 +1023,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int recv_ucast_frag_packet(struct sk_buff *skb, struct hard_iface *recv_if)
 if (!new_skb)
 return NET_RX_SUCCESS;
 
-interface_rx(recv_if-&amp;gt;soft_iface, new_skb, recv_if,
-     sizeof(struct unicast_packet));
+batadv_interface_rx(recv_if-&amp;gt;soft_iface, new_skb, recv_if,
+    sizeof(struct unicast_packet));
 return NET_RX_SUCCESS;
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1025,7 +1032,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int recv_ucast_frag_packet(struct sk_buff *skb, struct hard_iface *recv_if)
 }
 
 
-int recv_bcast_packet(struct sk_buff *skb, struct hard_iface *recv_if)
+int batadv_recv_bcast_packet(struct sk_buff *skb, struct hard_iface *recv_if)
 {
 struct bat_priv *bat_priv = netdev_priv(recv_if-&amp;gt;soft_iface);
 struct orig_node *orig_node = NULL;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1050,13 +1057,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int recv_bcast_packet(struct sk_buff *skb, struct hard_iface *recv_if)
 goto out;
 
 /* ignore broadcasts sent by myself */
-if (is_my_mac(ethhdr-&amp;gt;h_source))
+if (batadv_is_my_mac(ethhdr-&amp;gt;h_source))
 goto out;
 
 bcast_packet = (struct bcast_packet *)skb-&amp;gt;data;
 
 /* ignore broadcasts originated by myself */
-if (is_my_mac(bcast_packet-&amp;gt;orig))
+if (batadv_is_my_mac(bcast_packet-&amp;gt;orig))
 goto out;
 
 if (bcast_packet-&amp;gt;header.ttl &amp;lt; 2)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1077,32 +1084,32 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int recv_bcast_packet(struct sk_buff *skb, struct hard_iface *recv_if)
 seq_diff = ntohl(bcast_packet-&amp;gt;seqno) - orig_node-&amp;gt;last_bcast_seqno;
 
 /* check whether the packet is old and the host just restarted. */
-if (window_protected(bat_priv, seq_diff,
-     &amp;amp;orig_node-&amp;gt;bcast_seqno_reset))
+if (batadv_window_protected(bat_priv, seq_diff,
+    &amp;amp;orig_node-&amp;gt;bcast_seqno_reset))
 goto spin_unlock;
 
 /* mark broadcast in flood history, update window position
  * if required. */
-if (bit_get_packet(bat_priv, orig_node-&amp;gt;bcast_bits, seq_diff, 1))
+if (batadv_bit_get_packet(bat_priv, orig_node-&amp;gt;bcast_bits, seq_diff, 1))
 orig_node-&amp;gt;last_bcast_seqno = ntohl(bcast_packet-&amp;gt;seqno);
 
 spin_unlock_bh(&amp;amp;orig_node-&amp;gt;bcast_seqno_lock);
 
 /* check whether this has been sent by another originator before */
-if (bla_check_bcast_duplist(bat_priv, bcast_packet, hdr_size))
+if (batadv_bla_check_bcast_duplist(bat_priv, bcast_packet, hdr_size))
 goto out;
 
 /* rebroadcast packet */
-add_bcast_packet_to_list(bat_priv, skb, 1);
+batadv_add_bcast_packet_to_list(bat_priv, skb, 1);
 
 /* don't hand the broadcast up if it is from an originator
  * from the same backbone.
  */
-if (bla_is_backbone_gw(skb, orig_node, hdr_size))
+if (batadv_bla_is_backbone_gw(skb, orig_node, hdr_size))
 goto out;
 
 /* broadcast for me */
-interface_rx(recv_if-&amp;gt;soft_iface, skb, recv_if, hdr_size);
+batadv_interface_rx(recv_if-&amp;gt;soft_iface, skb, recv_if, hdr_size);
 ret = NET_RX_SUCCESS;
 goto out;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1110,11 +1117,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; spin_unlock:
 spin_unlock_bh(&amp;amp;orig_node-&amp;gt;bcast_seqno_lock);
 out:
 if (orig_node)
-orig_node_free_ref(orig_node);
+batadv_orig_node_free_ref(orig_node);
 return ret;
 }
 
-int recv_vis_packet(struct sk_buff *skb, struct hard_iface *recv_if)
+int batadv_recv_vis_packet(struct sk_buff *skb, struct hard_iface *recv_if)
 {
 struct vis_packet *vis_packet;
 struct ethhdr *ethhdr;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1132,25 +1139,25 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int recv_vis_packet(struct sk_buff *skb, struct hard_iface *recv_if)
 ethhdr = (struct ethhdr *)skb_mac_header(skb);
 
 /* not for me */
-if (!is_my_mac(ethhdr-&amp;gt;h_dest))
+if (!batadv_is_my_mac(ethhdr-&amp;gt;h_dest))
 return NET_RX_DROP;
 
 /* ignore own packets */
-if (is_my_mac(vis_packet-&amp;gt;vis_orig))
+if (batadv_is_my_mac(vis_packet-&amp;gt;vis_orig))
 return NET_RX_DROP;
 
-if (is_my_mac(vis_packet-&amp;gt;sender_orig))
+if (batadv_is_my_mac(vis_packet-&amp;gt;sender_orig))
 return NET_RX_DROP;
 
 switch (vis_packet-&amp;gt;vis_type) {
 case VIS_TYPE_SERVER_SYNC:
-receive_server_sync_packet(bat_priv, vis_packet,
-   skb_headlen(skb));
+batadv_receive_server_sync_packet(bat_priv, vis_packet,
+  skb_headlen(skb));
 break;
 
 case VIS_TYPE_CLIENT_UPDATE:
-receive_client_update_packet(bat_priv, vis_packet,
-     skb_headlen(skb));
+batadv_receive_client_update_packet(bat_priv, vis_packet,
+    skb_headlen(skb));
 break;
 
 default:/* ignore unknown packet */
diff --git a/routing.h b/routing.h
index d6bbbeb..4652f0c 100644
--- a/routing.h
+++ b/routing.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -22,30 +22,32 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #ifndef _NET_BATMAN_ADV_ROUTING_H_
 #define _NET_BATMAN_ADV_ROUTING_H_
 
-void slide_own_bcast_window(struct hard_iface *hard_iface);
-bool check_management_packet(struct sk_buff *skb,
-     struct hard_iface *hard_iface,
-     int header_len);
-void update_route(struct bat_priv *bat_priv, struct orig_node *orig_node,
-  struct neigh_node *neigh_node);
-int recv_icmp_packet(struct sk_buff *skb, struct hard_iface *recv_if);
-int recv_unicast_packet(struct sk_buff *skb, struct hard_iface *recv_if);
-int recv_ucast_frag_packet(struct sk_buff *skb, struct hard_iface *recv_if);
-int recv_bcast_packet(struct sk_buff *skb, struct hard_iface *recv_if);
-int recv_vis_packet(struct sk_buff *skb, struct hard_iface *recv_if);
-int recv_tt_query(struct sk_buff *skb, struct hard_iface *recv_if);
-int recv_roam_adv(struct sk_buff *skb, struct hard_iface *recv_if);
-struct neigh_node *find_router(struct bat_priv *bat_priv,
-       struct orig_node *orig_node,
-       const struct hard_iface *recv_if);
-void bonding_candidate_del(struct orig_node *orig_node,
-   struct neigh_node *neigh_node);
-void bonding_candidate_add(struct orig_node *orig_node,
-   struct neigh_node *neigh_node);
-void bonding_save_primary(const struct orig_node *orig_node,
-  struct orig_node *orig_neigh_node,
-  const struct batman_ogm_packet *batman_ogm_packet);
-int window_protected(struct bat_priv *bat_priv, int32_t seq_num_diff,
-     unsigned long *last_reset);
+void batadv_slide_own_bcast_window(struct hard_iface *hard_iface);
+bool batadv_check_management_packet(struct sk_buff *skb,
+    struct hard_iface *hard_iface,
+    int header_len);
+void batadv_update_route(struct bat_priv *bat_priv, struct orig_node *orig_node,
+ struct neigh_node *neigh_node);
+int batadv_recv_icmp_packet(struct sk_buff *skb, struct hard_iface *recv_if);
+int batadv_recv_unicast_packet(struct sk_buff *skb, struct hard_iface *recv_if);
+int batadv_recv_ucast_frag_packet(struct sk_buff *skb,
+  struct hard_iface *recv_if);
+int batadv_recv_bcast_packet(struct sk_buff *skb, struct hard_iface *recv_if);
+int batadv_recv_vis_packet(struct sk_buff *skb, struct hard_iface *recv_if);
+int batadv_recv_tt_query(struct sk_buff *skb, struct hard_iface *recv_if);
+int batadv_recv_roam_adv(struct sk_buff *skb, struct hard_iface *recv_if);
+struct neigh_node *batadv_find_router(struct bat_priv *bat_priv,
+      struct orig_node *orig_node,
+      const struct hard_iface *recv_if);
+void batadv_bonding_candidate_del(struct orig_node *orig_node,
+  struct neigh_node *neigh_node);
+void batadv_bonding_candidate_add(struct orig_node *orig_node,
+  struct neigh_node *neigh_node);
+void batadv_bonding_save_primary(const struct orig_node *orig_node,
+ struct orig_node *orig_neigh_node,
+ const struct batman_ogm_packet
+ *batman_ogm_packet);
+int batadv_window_protected(struct bat_priv *bat_priv, int32_t seq_num_diff,
+    unsigned long *last_reset);
 
 #endif /* _NET_BATMAN_ADV_ROUTING_H_ */
diff --git a/send.c b/send.c
index cebc14a..adb0694 100644
--- a/send.c
+++ b/send.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -34,8 +34,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void send_outstanding_bcast_packet(struct work_struct *work);
 
 /* send out an already prepared packet to the given address via the
  * specified batman interface */
-int send_skb_packet(struct sk_buff *skb, struct hard_iface *hard_iface,
-    const uint8_t *dst_addr)
+int batadv_send_skb_packet(struct sk_buff *skb, struct hard_iface *hard_iface,
+   const uint8_t *dst_addr)
 {
 struct ethhdr *ethhdr;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -52,7 +52,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int send_skb_packet(struct sk_buff *skb, struct hard_iface *hard_iface,
 }
 
 /* push to the ethernet header. */
-if (my_skb_head_push(skb, ETH_HLEN) &amp;lt; 0)
+if (batadv_skb_head_push(skb, ETH_HLEN) &amp;lt; 0)
 goto send_skb_err;
 
 skb_reset_mac_header(skb);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -101,9 +101,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int prepare_packet_buffer(struct bat_priv *bat_priv,
   struct hard_iface *hard_iface)
 {
 int new_len;
+uint8_t num_changes;
+unsigned char *pos;
+int buf_len;
 
-new_len = BATMAN_OGM_HLEN +
-  tt_len((uint8_t)atomic_read(&amp;amp;bat_priv-&amp;gt;tt_local_changes));
+num_changes = (uint8_t)atomic_read(&amp;amp;bat_priv-&amp;gt;tt_local_changes);
+new_len = BATMAN_OGM_HLEN + batadv_tt_len(num_changes);
 
 /* if we have too many changes for one packet don't send any
  * and wait for the tt table request which will be fragmented */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -112,14 +115,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int prepare_packet_buffer(struct bat_priv *bat_priv,
 
 realloc_packet_buffer(hard_iface, new_len);
 
-bat_priv-&amp;gt;tt_crc = tt_local_crc(bat_priv);
+bat_priv-&amp;gt;tt_crc = batadv_tt_local_crc(bat_priv);
 
 /* reset the sending counter */
 atomic_set(&amp;amp;bat_priv-&amp;gt;tt_ogm_append_cnt, TT_OGM_APPEND_MAX);
 
-return tt_changes_fill_buffer(bat_priv,
-      hard_iface-&amp;gt;packet_buff + BATMAN_OGM_HLEN,
-      hard_iface-&amp;gt;packet_len - BATMAN_OGM_HLEN);
+pos = hard_iface-&amp;gt;packet_buff + BATMAN_OGM_HLEN;
+buf_len = hard_iface-&amp;gt;packet_len - BATMAN_OGM_HLEN;
+return batadv_tt_changes_fill_buffer(bat_priv, pos, buf_len);
 }
 
 static int reset_packet_buffer(struct bat_priv *bat_priv,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -129,7 +132,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int reset_packet_buffer(struct bat_priv *bat_priv,
 return 0;
 }
 
-void schedule_bat_ogm(struct hard_iface *hard_iface)
+void batadv_schedule_bat_ogm(struct hard_iface *hard_iface)
 {
 struct bat_priv *bat_priv = netdev_priv(hard_iface-&amp;gt;soft_iface);
 struct hard_iface *primary_if;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -154,7 +157,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void schedule_bat_ogm(struct hard_iface *hard_iface)
 if (hard_iface == primary_if) {
 /* if at least one change happened */
 if (atomic_read(&amp;amp;bat_priv-&amp;gt;tt_local_changes) &amp;gt; 0) {
-tt_commit_changes(bat_priv);
+batadv_tt_commit_changes(bat_priv);
 tt_num_changes = prepare_packet_buffer(bat_priv,
        hard_iface);
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -194,7 +197,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void _add_bcast_packet_to_list(struct bat_priv *bat_priv,
 /* start timer for this packet */
 INIT_DELAYED_WORK(&amp;amp;forw_packet-&amp;gt;delayed_work,
   send_outstanding_bcast_packet);
-queue_delayed_work(bat_event_workqueue, &amp;amp;forw_packet-&amp;gt;delayed_work,
+queue_delayed_work(batadv_event_workqueue, &amp;amp;forw_packet-&amp;gt;delayed_work,
    send_time);
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -206,8 +209,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void _add_bcast_packet_to_list(struct bat_priv *bat_priv,
  *
  * The skb is not consumed, so the caller should make sure that the
  * skb is freed. */
-int add_bcast_packet_to_list(struct bat_priv *bat_priv,
-     const struct sk_buff *skb, unsigned long delay)
+int batadv_add_bcast_packet_to_list(struct bat_priv *bat_priv,
+    const struct sk_buff *skb,
+    unsigned long delay)
 {
 struct hard_iface *primary_if = NULL;
 struct forw_packet *forw_packet;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -275,19 +279,20 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void send_outstanding_bcast_packet(struct work_struct *work)
 if (atomic_read(&amp;amp;bat_priv-&amp;gt;mesh_state) == MESH_DEACTIVATING)
 goto out;
 
-if (dat_drop_broadcast_packet(bat_priv, forw_packet))
+if (batadv_dat_drop_broadcast_packet(bat_priv, forw_packet))
 goto out;
 
 /* rebroadcast packet */
 rcu_read_lock();
-list_for_each_entry_rcu(hard_iface, &amp;amp;hardif_list, list) {
+list_for_each_entry_rcu(hard_iface, &amp;amp;batadv_hardif_list, list) {
 if (hard_iface-&amp;gt;soft_iface != soft_iface)
 continue;
 
 /* send a copy of the saved skb */
 skb1 = skb_clone(forw_packet-&amp;gt;skb, GFP_ATOMIC);
 if (skb1)
-send_skb_packet(skb1, hard_iface, broadcast_addr);
+batadv_send_skb_packet(skb1, hard_iface,
+       batadv_broadcast_addr);
 }
 rcu_read_unlock();
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -305,7 +310,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 atomic_inc(&amp;amp;bat_priv-&amp;gt;bcast_queue_left);
 }
 
-void send_outstanding_bat_ogm_packet(struct work_struct *work)
+void batadv_send_outstanding_bat_ogm_packet(struct work_struct *work)
 {
 struct delayed_work *delayed_work =
 container_of(work, struct delayed_work, work);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -329,7 +334,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void send_outstanding_bat_ogm_packet(struct work_struct *work)
  * shutting down
  */
 if (forw_packet-&amp;gt;own)
-schedule_bat_ogm(forw_packet-&amp;gt;if_incoming);
+batadv_schedule_bat_ogm(forw_packet-&amp;gt;if_incoming);
 
 out:
 /* don't count own packet */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -339,8 +344,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 forw_packet_free(forw_packet);
 }
 
-void purge_outstanding_packets(struct bat_priv *bat_priv,
-       const struct hard_iface *hard_iface)
+void batadv_purge_outstanding_packets(struct bat_priv *bat_priv,
+      const struct hard_iface *hard_iface)
 {
 struct forw_packet *forw_packet;
 struct hlist_node *tmp_node, *safe_tmp_node;
diff --git a/send.h b/send.h
index 824ef06..452e8df 100644
--- a/send.h
+++ b/send.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -22,13 +22,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #ifndef _NET_BATMAN_ADV_SEND_H_
 #define _NET_BATMAN_ADV_SEND_H_
 
-int send_skb_packet(struct sk_buff *skb, struct hard_iface *hard_iface,
-    const uint8_t *dst_addr);
-void schedule_bat_ogm(struct hard_iface *hard_iface);
-int add_bcast_packet_to_list(struct bat_priv *bat_priv,
-     const struct sk_buff *skb, unsigned long delay);
-void send_outstanding_bat_ogm_packet(struct work_struct *work);
-void purge_outstanding_packets(struct bat_priv *bat_priv,
-       const struct hard_iface *hard_iface);
+int batadv_send_skb_packet(struct sk_buff *skb, struct hard_iface *hard_iface,
+   const uint8_t *dst_addr);
+void batadv_schedule_bat_ogm(struct hard_iface *hard_iface);
+int batadv_add_bcast_packet_to_list(struct bat_priv *bat_priv,
+    const struct sk_buff *skb,
+    unsigned long delay);
+void batadv_send_outstanding_bat_ogm_packet(struct work_struct *work);
+void batadv_purge_outstanding_packets(struct bat_priv *bat_priv,
+      const struct hard_iface *hard_iface);
 
 #endif /* _NET_BATMAN_ADV_SEND_H_ */
diff --git a/soft-interface.c b/soft-interface.c
index 101253d..eb76396 100644
--- a/soft-interface.c
+++ b/soft-interface.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -62,7 +62,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static const struct ethtool_ops bat_ethtool_ops = {
 .get_sset_count = bat_get_sset_count,
 };
 
-int my_skb_head_push(struct sk_buff *skb, unsigned int len)
+int batadv_skb_head_push(struct sk_buff *skb, unsigned int len)
 {
 int result;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -110,9 +110,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int interface_set_mac_addr(struct net_device *dev, void *p)
 
 /* only modify transtable if it has been initialized before */
 if (atomic_read(&amp;amp;bat_priv-&amp;gt;mesh_state) == MESH_ACTIVE) {
-tt_local_remove(bat_priv, dev-&amp;gt;dev_addr,
-"mac address changed", false);
-tt_local_add(dev, addr-&amp;gt;sa_data, NULL_IFINDEX);
+batadv_tt_local_remove(bat_priv, dev-&amp;gt;dev_addr,
+       "mac address changed", false);
+batadv_tt_local_add(dev, addr-&amp;gt;sa_data, NULL_IFINDEX);
 }
 
 memcpy(dev-&amp;gt;dev_addr, addr-&amp;gt;sa_data, ETH_ALEN);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -123,7 +123,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int interface_set_mac_addr(struct net_device *dev, void *p)
 static int interface_change_mtu(struct net_device *dev, int new_mtu)
 {
 /* check ranges */
-if ((new_mtu &amp;lt; 68) || (new_mtu &amp;gt; hardif_min_mtu(dev)))
+if ((new_mtu &amp;lt; 68) || (new_mtu &amp;gt; batadv_hardif_min_mtu(dev)))
 return -EINVAL;
 
 dev-&amp;gt;mtu = new_mtu;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -164,11 +164,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int interface_tx(struct sk_buff *skb, struct net_device *soft_iface)
 goto dropped;
 }
 
-if (bla_tx(bat_priv, skb, vid))
+if (batadv_bla_tx(bat_priv, skb, vid))
 goto dropped;
 
 /* Register the client MAC in the transtable */
-tt_local_add(soft_iface, ethhdr-&amp;gt;h_source, skb-&amp;gt;skb_iif);
+batadv_tt_local_add(soft_iface, ethhdr-&amp;gt;h_source, skb-&amp;gt;skb_iif);
 
 /* don't accept stp packets. STP does not help in meshes.
  * better use the bridge loop avoidance ...
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -183,14 +183,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int interface_tx(struct sk_buff *skb, struct net_device *soft_iface)
 case GW_MODE_SERVER:
 /* gateway servers should not send dhcp
  * requests into the mesh */
-ret = gw_is_dhcp_target(skb, &amp;amp;header_len);
+ret = batadv_gw_is_dhcp_target(skb, &amp;amp;header_len);
 if (ret)
 goto dropped;
 break;
 case GW_MODE_CLIENT:
 /* gateway clients should send dhcp requests
  * via unicast to their gateway */
-ret = gw_is_dhcp_target(skb, &amp;amp;header_len);
+ret = batadv_gw_is_dhcp_target(skb, &amp;amp;header_len);
 if (ret)
 do_bcast = false;
 break;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -206,10 +206,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int interface_tx(struct sk_buff *skb, struct net_device *soft_iface)
 if (!primary_if)
 goto dropped;
 
-if (dat_snoop_outgoing_arp_request(bat_priv, skb))
+if (batadv_dat_snoop_outgoing_arp_request(bat_priv, skb))
 brd_delay = msecs_to_jiffies(ARP_REQ_DELAY);
 
-if (my_skb_head_push(skb, sizeof(*bcast_packet)) &amp;lt; 0)
+if (batadv_skb_head_push(skb, sizeof(*bcast_packet)) &amp;lt; 0)
 goto dropped;
 
 bcast_packet = (struct bcast_packet *)skb-&amp;gt;data;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -228,7 +228,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int interface_tx(struct sk_buff *skb, struct net_device *soft_iface)
 bcast_packet-&amp;gt;seqno =
 htonl(atomic_inc_return(&amp;amp;bat_priv-&amp;gt;bcast_seqno));
 
-add_bcast_packet_to_list(bat_priv, skb, brd_delay);
+batadv_add_bcast_packet_to_list(bat_priv, skb, brd_delay);
 
 /* a copy is stored in the bcast list, therefore removing
  * the original skb. */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -237,12 +237,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int interface_tx(struct sk_buff *skb, struct net_device *soft_iface)
 /* unicast packet */
 } else {
 if (atomic_read(&amp;amp;bat_priv-&amp;gt;gw_mode) != GW_MODE_OFF) {
-ret = gw_out_of_range(bat_priv, skb, ethhdr);
+ret = batadv_gw_out_of_range(bat_priv, skb, ethhdr);
 if (ret)
 goto dropped;
 }
 
-dat_snoop_outgoing_arp_reply(bat_priv, skb);
+batadv_dat_snoop_outgoing_arp_reply(bat_priv, skb);
 
 ret = unicast_send_skb(skb, bat_priv);
 if (ret != 0)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -263,9 +263,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; end:
 return NETDEV_TX_OK;
 }
 
-void interface_rx(struct net_device *soft_iface,
-  struct sk_buff *skb, struct hard_iface *recv_if,
-  int hdr_size)
+void batadv_interface_rx(struct net_device *soft_iface,
+ struct sk_buff *skb, struct hard_iface *recv_if,
+ int hdr_size)
 {
 struct bat_priv *bat_priv = netdev_priv(soft_iface);
 struct ethhdr *ethhdr;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -276,10 +276,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void interface_rx(struct net_device *soft_iface,
 if (!pskb_may_pull(skb, hdr_size))
 goto dropped;
 
-if (dat_snoop_incoming_arp_request(bat_priv, skb, hdr_size))
+if (batadv_dat_snoop_incoming_arp_request(bat_priv, skb, hdr_size))
 goto out;
 
-if (dat_snoop_incoming_arp_reply(bat_priv, skb, hdr_size))
+if (batadv_dat_snoop_incoming_arp_reply(bat_priv, skb, hdr_size))
 goto out;
 
 skb_pull_rcsum(skb, hdr_size);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -316,13 +316,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void interface_rx(struct net_device *soft_iface,
 
 soft_iface-&amp;gt;last_rx = jiffies;
 
-if (is_ap_isolated(bat_priv, ethhdr-&amp;gt;h_source, ethhdr-&amp;gt;h_dest))
+if (batadv_is_ap_isolated(bat_priv, ethhdr-&amp;gt;h_source, ethhdr-&amp;gt;h_dest))
 goto dropped;
 
 /* Let the bridge loop avoidance check the packet. If will
  * not handle it, we can safely push it up.
  */
-if (bla_rx(bat_priv, skb, vid))
+if (batadv_bla_rx(bat_priv, skb, vid))
 goto out;
 
 netif_rx(skb);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -370,7 +370,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void interface_setup(struct net_device *dev)
 memset(priv, 0, sizeof(*priv));
 }
 
-struct net_device *softif_create(const char *name)
+struct net_device *batadv_softif_create(const char *name)
 {
 struct net_device *soft_iface;
 struct bat_priv *bat_priv;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -388,7 +388,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct net_device *softif_create(const char *name)
 goto free_soft_iface;
 }
 
-arp_change_timeout(soft_iface, name);
+batadv_arp_change_timeout(soft_iface, name);
 
 bat_priv = netdev_priv(soft_iface);
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -426,28 +426,28 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct net_device *softif_create(const char *name)
 if (!bat_priv-&amp;gt;bat_counters)
 goto unreg_soft_iface;
 
-ret = bat_algo_select(bat_priv, bat_routing_algo);
+ret = batadv_algo_select(bat_priv, batadv_routing_algo);
 if (ret &amp;lt; 0)
 goto free_bat_counters;
 
-ret = sysfs_add_meshif(soft_iface);
+ret = batadv_sysfs_add_meshif(soft_iface);
 if (ret &amp;lt; 0)
 goto free_bat_counters;
 
-ret = debugfs_add_meshif(soft_iface);
+ret = batadv_debugfs_add_meshif(soft_iface);
 if (ret &amp;lt; 0)
 goto unreg_sysfs;
 
-ret = mesh_init(soft_iface);
+ret = batadv_mesh_init(soft_iface);
 if (ret &amp;lt; 0)
 goto unreg_debugfs;
 
 return soft_iface;
 
 unreg_debugfs:
-debugfs_del_meshif(soft_iface);
+batadv_debugfs_del_meshif(soft_iface);
 unreg_sysfs:
-sysfs_del_meshif(soft_iface);
+batadv_sysfs_del_meshif(soft_iface);
 free_bat_counters:
 free_percpu(bat_priv-&amp;gt;bat_counters);
 unreg_soft_iface:
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -460,15 +460,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 return NULL;
 }
 
-void softif_destroy(struct net_device *soft_iface)
+void batadv_softif_destroy(struct net_device *soft_iface)
 {
-debugfs_del_meshif(soft_iface);
-sysfs_del_meshif(soft_iface);
-mesh_free(soft_iface);
+batadv_debugfs_del_meshif(soft_iface);
+batadv_sysfs_del_meshif(soft_iface);
+batadv_mesh_free(soft_iface);
 unregister_netdevice(soft_iface);
 }
 
-int softif_is_valid(const struct net_device *net_dev)
+int batadv_softif_is_valid(const struct net_device *net_dev)
 {
 if (net_dev-&amp;gt;netdev_ops-&amp;gt;ndo_start_xmit == interface_tx)
 return 1;
diff --git a/soft-interface.h b/soft-interface.h
index 0203006..7e2bfaf 100644
--- a/soft-interface.h
+++ b/soft-interface.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -22,12 +22,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #ifndef _NET_BATMAN_ADV_SOFT_INTERFACE_H_
 #define _NET_BATMAN_ADV_SOFT_INTERFACE_H_
 
-int my_skb_head_push(struct sk_buff *skb, unsigned int len);
-void interface_rx(struct net_device *soft_iface,
-  struct sk_buff *skb, struct hard_iface *recv_if,
-  int hdr_size);
-struct net_device *softif_create(const char *name);
-void softif_destroy(struct net_device *soft_iface);
-int softif_is_valid(const struct net_device *net_dev);
+int batadv_skb_head_push(struct sk_buff *skb, unsigned int len);
+void batadv_interface_rx(struct net_device *soft_iface, struct sk_buff *skb,
+ struct hard_iface *recv_if, int hdr_size);
+struct net_device *batadv_softif_create(const char *name);
+void batadv_softif_destroy(struct net_device *soft_iface);
+int batadv_softif_is_valid(const struct net_device *net_dev);
 
 #endif /* _NET_BATMAN_ADV_SOFT_INTERFACE_H_ */
diff --git a/translation-table.c b/translation-table.c
index 4155918..27fd965 100644
--- a/translation-table.c
+++ b/translation-table.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -48,7 +48,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int compare_tt(const struct hlist_node *node, const void *data2)
 static void tt_start_timer(struct bat_priv *bat_priv)
 {
 INIT_DELAYED_WORK(&amp;amp;bat_priv-&amp;gt;tt_work, tt_purge);
-queue_delayed_work(bat_event_workqueue, &amp;amp;bat_priv-&amp;gt;tt_work,
+queue_delayed_work(batadv_event_workqueue, &amp;amp;bat_priv-&amp;gt;tt_work,
    msecs_to_jiffies(5000));
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -142,7 +142,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void tt_orig_list_entry_free_rcu(struct rcu_head *rcu)
 
 orig_entry = container_of(rcu, struct tt_orig_list_entry, rcu);
 atomic_dec(&amp;amp;orig_entry-&amp;gt;orig_node-&amp;gt;tt_size);
-orig_node_free_ref(orig_entry-&amp;gt;orig_node);
+batadv_orig_node_free_ref(orig_entry-&amp;gt;orig_node);
 kfree(orig_entry);
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -173,7 +173,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void tt_local_event(struct bat_priv *bat_priv, const uint8_t *addr,
 atomic_set(&amp;amp;bat_priv-&amp;gt;tt_ogm_append_cnt, 0);
 }
 
-int tt_len(int changes_num)
+int batadv_tt_len(int changes_num)
 {
 return changes_num * sizeof(struct tt_change);
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -183,7 +183,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int tt_local_init(struct bat_priv *bat_priv)
 if (bat_priv-&amp;gt;tt_local_hash)
 return 0;
 
-bat_priv-&amp;gt;tt_local_hash = hash_new(1024);
+bat_priv-&amp;gt;tt_local_hash = batadv_hash_new(1024);
 
 if (!bat_priv-&amp;gt;tt_local_hash)
 return -ENOMEM;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -191,8 +191,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int tt_local_init(struct bat_priv *bat_priv)
 return 0;
 }
 
-void tt_local_add(struct net_device *soft_iface, const uint8_t *addr,
-  int ifindex)
+void batadv_tt_local_add(struct net_device *soft_iface, const uint8_t *addr,
+ int ifindex)
 {
 struct bat_priv *bat_priv = netdev_priv(soft_iface);
 struct tt_local_entry *tt_local_entry = NULL;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -221,7 +221,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void tt_local_add(struct net_device *soft_iface, const uint8_t *addr,
 
 memcpy(tt_local_entry-&amp;gt;common.addr, addr, ETH_ALEN);
 tt_local_entry-&amp;gt;common.flags = NO_FLAGS;
-if (is_wifi_iface(ifindex))
+if (batadv_is_wifi_iface(ifindex))
 tt_local_entry-&amp;gt;common.flags |= TT_CLIENT_WIFI;
 atomic_set(&amp;amp;tt_local_entry-&amp;gt;common.refcount, 2);
 tt_local_entry-&amp;gt;last_seen = jiffies;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -275,14 +275,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 tt_global_entry_free_ref(tt_global_entry);
 }
 
-int tt_changes_fill_buffer(struct bat_priv *bat_priv,
-   unsigned char *buff, int buff_len)
+int batadv_tt_changes_fill_buffer(struct bat_priv *bat_priv,
+  unsigned char *buff, int buff_len)
 {
 int count = 0, tot_changes = 0;
 struct tt_change_node *entry, *safe;
 
 if (buff_len &amp;gt; 0)
-tot_changes = buff_len / tt_len(1);
+tot_changes = buff_len / batadv_tt_len(1);
 
 spin_lock_bh(&amp;amp;bat_priv-&amp;gt;tt_changes_list_lock);
 atomic_set(&amp;amp;bat_priv-&amp;gt;tt_local_changes, 0);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -290,7 +290,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int tt_changes_fill_buffer(struct bat_priv *bat_priv,
 list_for_each_entry_safe(entry, safe, &amp;amp;bat_priv-&amp;gt;tt_changes_list,
  list) {
 if (count &amp;lt; tot_changes) {
-memcpy(buff + tt_len(count),
+memcpy(buff + batadv_tt_len(count),
        &amp;amp;entry-&amp;gt;change, sizeof(struct tt_change));
 count++;
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -322,7 +322,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int tt_changes_fill_buffer(struct bat_priv *bat_priv,
 return count;
 }
 
-int tt_local_seq_print_text(struct seq_file *seq, void *offset)
+int batadv_tt_local_seq_print_text(struct seq_file *seq, void *offset)
 {
 struct net_device *net_dev = (struct net_device *)seq-&amp;gt;private;
 struct bat_priv *bat_priv = netdev_priv(net_dev);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -397,8 +397,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void tt_local_set_pending(struct bat_priv *bat_priv,
 tt_local_entry-&amp;gt;common.addr, message);
 }
 
-void tt_local_remove(struct bat_priv *bat_priv, const uint8_t *addr,
-     const char *message, bool roaming)
+void batadv_tt_local_remove(struct bat_priv *bat_priv, const uint8_t *addr,
+    const char *message, bool roaming)
 {
 struct tt_local_entry *tt_local_entry = NULL;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -483,7 +483,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void tt_local_table_free(struct bat_priv *bat_priv)
 spin_unlock_bh(list_lock);
 }
 
-hash_destroy(hash);
+batadv_hash_destroy(hash);
 
 bat_priv-&amp;gt;tt_local_hash = NULL;
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -493,7 +493,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int tt_global_init(struct bat_priv *bat_priv)
 if (bat_priv-&amp;gt;tt_global_hash)
 return 0;
 
-bat_priv-&amp;gt;tt_global_hash = hash_new(1024);
+bat_priv-&amp;gt;tt_global_hash = batadv_hash_new(1024);
 
 if (!bat_priv-&amp;gt;tt_global_hash)
 return -ENOMEM;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -563,9 +563,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void tt_global_add_orig_entry(struct tt_global_entry *tt_global_entry,
 }
 
 /* caller must hold orig_node refcount */
-int tt_global_add(struct bat_priv *bat_priv, struct orig_node *orig_node,
-  const unsigned char *tt_addr, uint8_t ttvn, bool roaming,
-  bool wifi)
+int batadv_tt_global_add(struct bat_priv *bat_priv, struct orig_node *orig_node,
+ const unsigned char *tt_addr, uint8_t ttvn,
+ bool roaming, bool wifi)
 {
 struct tt_global_entry *tt_global_entry = NULL;
 int ret = 0;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -629,8 +629,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int tt_global_add(struct bat_priv *bat_priv, struct orig_node *orig_node,
 
 out_remove:
 /* remove address from local hash if present */
-tt_local_remove(bat_priv, tt_global_entry-&amp;gt;common.addr,
-"global tt received", roaming);
+batadv_tt_local_remove(bat_priv, tt_global_entry-&amp;gt;common.addr,
+       "global tt received", roaming);
 ret = 1;
 out:
 if (tt_global_entry)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -666,7 +666,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void tt_global_print_entry(struct tt_global_entry *tt_global_entry,
 }
 }
 
-int tt_global_seq_print_text(struct seq_file *seq, void *offset)
+int batadv_tt_global_seq_print_text(struct seq_file *seq, void *offset)
 {
 struct net_device *net_dev = (struct net_device *)seq-&amp;gt;private;
 struct bat_priv *bat_priv = netdev_priv(net_dev);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -871,8 +871,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 tt_local_entry_free_ref(tt_local_entry);
 }
 
-void tt_global_del_orig(struct bat_priv *bat_priv,
-struct orig_node *orig_node, const char *message)
+void batadv_tt_global_del_orig(struct bat_priv *bat_priv,
+       struct orig_node *orig_node, const char *message)
 {
 struct tt_global_entry *tt_global_entry;
 struct tt_common_entry *tt_common_entry;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -983,7 +983,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void tt_global_table_free(struct bat_priv *bat_priv)
 spin_unlock_bh(list_lock);
 }
 
-hash_destroy(hash);
+batadv_hash_destroy(hash);
 
 bat_priv-&amp;gt;tt_global_hash = NULL;
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1000,8 +1000,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static bool _is_ap_isolated(struct tt_local_entry *tt_local_entry,
 return ret;
 }
 
-struct orig_node *transtable_search(struct bat_priv *bat_priv,
-    const uint8_t *src, const uint8_t *addr)
+struct orig_node *batadv_transtable_search(struct bat_priv *bat_priv,
+   const uint8_t *src,
+   const uint8_t *addr)
 {
 struct tt_local_entry *tt_local_entry = NULL;
 struct tt_global_entry *tt_global_entry = NULL;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1032,7 +1033,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct orig_node *transtable_search(struct bat_priv *bat_priv,
 rcu_read_lock();
 head = &amp;amp;tt_global_entry-&amp;gt;orig_list;
 hlist_for_each_entry_rcu(orig_entry, node, head, list) {
-router = orig_node_get_router(orig_entry-&amp;gt;orig_node);
+router = batadv_orig_node_get_router(orig_entry-&amp;gt;orig_node);
 if (!router)
 continue;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1040,7 +1041,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct orig_node *transtable_search(struct bat_priv *bat_priv,
 orig_node = orig_entry-&amp;gt;orig_node;
 best_tq = router-&amp;gt;tq_avg;
 }
-neigh_node_free_ref(router);
+batadv_neigh_node_free_ref(router);
 }
 /* found anything? */
 if (orig_node &amp;amp;&amp;amp; !atomic_inc_not_zero(&amp;amp;orig_node-&amp;gt;refcount))
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1105,7 +1106,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static uint16_t tt_global_crc(struct bat_priv *bat_priv,
 }
 
 /* Calculates the checksum of the local table */
-uint16_t tt_local_crc(struct bat_priv *bat_priv)
+uint16_t batadv_tt_local_crc(struct bat_priv *bat_priv)
 {
 uint16_t total = 0, total_one;
 struct hashtable_t *hash = bat_priv-&amp;gt;tt_local_hash;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1156,7 +1157,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void tt_save_orig_buffer(struct bat_priv *bat_priv,
 const unsigned char *tt_buff,
 uint8_t tt_num_changes)
 {
-uint16_t tt_buff_len = tt_len(tt_num_changes);
+uint16_t tt_buff_len = batadv_tt_len(tt_num_changes);
 
 /* Replace the old buffer only if I received something in the
  * last OGM (the OGM could carry no changes) */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1347,7 +1348,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int send_tt_request(struct bat_priv *bat_priv,
 if (full_table)
 tt_request-&amp;gt;flags |= TT_FULL_TABLE;
 
-neigh_node = orig_node_get_router(dst_orig_node);
+neigh_node = batadv_orig_node_get_router(dst_orig_node);
 if (!neigh_node)
 goto out;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1358,12 +1359,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int send_tt_request(struct bat_priv *bat_priv,
 
 inc_counter(bat_priv, BAT_CNT_TT_REQUEST_TX);
 
-send_skb_packet(skb, neigh_node-&amp;gt;if_incoming, neigh_node-&amp;gt;addr);
+batadv_send_skb_packet(skb, neigh_node-&amp;gt;if_incoming, neigh_node-&amp;gt;addr);
 ret = 0;
 
 out:
 if (neigh_node)
-neigh_node_free_ref(neigh_node);
+batadv_neigh_node_free_ref(neigh_node);
 if (primary_if)
 hardif_free_ref(primary_if);
 if (ret)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1405,7 +1406,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static bool send_other_tt_response(struct bat_priv *bat_priv,
 if (!res_dst_orig_node)
 goto out;
 
-neigh_node = orig_node_get_router(res_dst_orig_node);
+neigh_node = batadv_orig_node_get_router(res_dst_orig_node);
 if (!neigh_node)
 goto out;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1484,7 +1485,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static bool send_other_tt_response(struct bat_priv *bat_priv,
 
 inc_counter(bat_priv, BAT_CNT_TT_RESPONSE_TX);
 
-send_skb_packet(skb, neigh_node-&amp;gt;if_incoming, neigh_node-&amp;gt;addr);
+batadv_send_skb_packet(skb, neigh_node-&amp;gt;if_incoming, neigh_node-&amp;gt;addr);
 ret = true;
 goto out;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1493,11 +1494,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; unlock:
 
 out:
 if (res_dst_orig_node)
-orig_node_free_ref(res_dst_orig_node);
+batadv_orig_node_free_ref(res_dst_orig_node);
 if (req_dst_orig_node)
-orig_node_free_ref(req_dst_orig_node);
+batadv_orig_node_free_ref(req_dst_orig_node);
 if (neigh_node)
-neigh_node_free_ref(neigh_node);
+batadv_neigh_node_free_ref(neigh_node);
 if (primary_if)
 hardif_free_ref(primary_if);
 if (!ret)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1532,7 +1533,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static bool send_my_tt_response(struct bat_priv *bat_priv,
 if (!orig_node)
 goto out;
 
-neigh_node = orig_node_get_router(orig_node);
+neigh_node = batadv_orig_node_get_router(orig_node);
 if (!neigh_node)
 goto out;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1602,7 +1603,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static bool send_my_tt_response(struct bat_priv *bat_priv,
 
 inc_counter(bat_priv, BAT_CNT_TT_RESPONSE_TX);
 
-send_skb_packet(skb, neigh_node-&amp;gt;if_incoming, neigh_node-&amp;gt;addr);
+batadv_send_skb_packet(skb, neigh_node-&amp;gt;if_incoming, neigh_node-&amp;gt;addr);
 ret = true;
 goto out;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1610,9 +1611,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; unlock:
 spin_unlock_bh(&amp;amp;bat_priv-&amp;gt;tt_buff_lock);
 out:
 if (orig_node)
-orig_node_free_ref(orig_node);
+batadv_orig_node_free_ref(orig_node);
 if (neigh_node)
-neigh_node_free_ref(neigh_node);
+batadv_neigh_node_free_ref(neigh_node);
 if (primary_if)
 hardif_free_ref(primary_if);
 if (!ret)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1621,12 +1622,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 return true;
 }
 
-bool send_tt_response(struct bat_priv *bat_priv,
-      struct tt_query_packet *tt_request)
+bool batadv_send_tt_response(struct bat_priv *bat_priv,
+     struct tt_query_packet *tt_request)
 {
-if (is_my_mac(tt_request-&amp;gt;dst)) {
+if (batadv_is_my_mac(tt_request-&amp;gt;dst)) {
 /* don't answer backbone gws! */
-if (bla_is_backbone_gw_orig(bat_priv, tt_request-&amp;gt;src))
+if (batadv_bla_is_backbone_gw_orig(bat_priv, tt_request-&amp;gt;src))
 return true;
 
 return send_my_tt_response(bat_priv, tt_request);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1641,18 +1642,19 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void _tt_update_changes(struct bat_priv *bat_priv,
        uint16_t tt_num_changes, uint8_t ttvn)
 {
 int i;
+int is_wifi;
 
 for (i = 0; i &amp;lt; tt_num_changes; i++) {
-if ((tt_change + i)-&amp;gt;flags &amp;amp; TT_CLIENT_DEL)
+if ((tt_change + i)-&amp;gt;flags &amp;amp; TT_CLIENT_DEL) {
 tt_global_del(bat_priv, orig_node,
       (tt_change + i)-&amp;gt;addr,
       "tt removed by changes",
       (tt_change + i)-&amp;gt;flags &amp;amp; TT_CLIENT_ROAM);
-else
-if (!tt_global_add(bat_priv, orig_node,
-   (tt_change + i)-&amp;gt;addr, ttvn, false,
-   (tt_change + i)-&amp;gt;flags &amp;amp;
-TT_CLIENT_WIFI))
+} else {
+is_wifi = (tt_change + i)-&amp;gt;flags &amp;amp; TT_CLIENT_WIFI;
+if (!batadv_tt_global_add(bat_priv, orig_node,
+  (tt_change + i)-&amp;gt;addr, ttvn,
+  false, is_wifi))
 /* In case of problem while storing a
  * global_entry, we stop the updating
  * procedure without committing the
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1660,6 +1662,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void _tt_update_changes(struct bat_priv *bat_priv,
  * corrupted data on tt_request
  */
 return;
+}
 }
 orig_node-&amp;gt;tt_initialised = true;
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1674,7 +1677,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void tt_fill_gtable(struct bat_priv *bat_priv,
 goto out;
 
 /* Purge the old table first.. */
-tt_global_del_orig(bat_priv, orig_node, "Received full table");
+batadv_tt_global_del_orig(bat_priv, orig_node, "Received full table");
 
 _tt_update_changes(bat_priv, orig_node,
    (struct tt_change *)(tt_response + 1),
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1690,7 +1693,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void tt_fill_gtable(struct bat_priv *bat_priv,
 
 out:
 if (orig_node)
-orig_node_free_ref(orig_node);
+batadv_orig_node_free_ref(orig_node);
 }
 
 static void tt_update_changes(struct bat_priv *bat_priv,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1706,7 +1709,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void tt_update_changes(struct bat_priv *bat_priv,
 atomic_set(&amp;amp;orig_node-&amp;gt;last_ttvn, ttvn);
 }
 
-bool is_my_client(struct bat_priv *bat_priv, const uint8_t *addr)
+bool batadv_is_my_client(struct bat_priv *bat_priv, const uint8_t *addr)
 {
 struct tt_local_entry *tt_local_entry = NULL;
 bool ret = false;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1725,8 +1728,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 return ret;
 }
 
-void handle_tt_response(struct bat_priv *bat_priv,
-struct tt_query_packet *tt_response)
+void batadv_handle_tt_response(struct bat_priv *bat_priv,
+       struct tt_query_packet *tt_response)
 {
 struct tt_req_node *node, *safe;
 struct orig_node *orig_node = NULL;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1738,7 +1741,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void handle_tt_response(struct bat_priv *bat_priv,
 (tt_response-&amp;gt;flags &amp;amp; TT_FULL_TABLE ? 'F' : '.'));
 
 /* we should have never asked a backbone gw */
-if (bla_is_backbone_gw_orig(bat_priv, tt_response-&amp;gt;src))
+if (batadv_bla_is_backbone_gw_orig(bat_priv, tt_response-&amp;gt;src))
 goto out;
 
 orig_node = orig_hash_find(bat_priv, tt_response-&amp;gt;src);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1770,10 +1773,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void handle_tt_response(struct bat_priv *bat_priv,
 orig_node-&amp;gt;tt_poss_change = false;
 out:
 if (orig_node)
-orig_node_free_ref(orig_node);
+batadv_orig_node_free_ref(orig_node);
 }
 
-int tt_init(struct bat_priv *bat_priv)
+int batadv_tt_init(struct bat_priv *bat_priv)
 {
 int ret;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1899,7 +1902,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void send_roam_adv(struct bat_priv *bat_priv, uint8_t *client,
 memcpy(roam_adv_packet-&amp;gt;dst, orig_node-&amp;gt;orig, ETH_ALEN);
 memcpy(roam_adv_packet-&amp;gt;client, client, ETH_ALEN);
 
-neigh_node = orig_node_get_router(orig_node);
+neigh_node = batadv_orig_node_get_router(orig_node);
 if (!neigh_node)
 goto out;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1909,12 +1912,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void send_roam_adv(struct bat_priv *bat_priv, uint8_t *client,
 
 inc_counter(bat_priv, BAT_CNT_TT_ROAM_ADV_TX);
 
-send_skb_packet(skb, neigh_node-&amp;gt;if_incoming, neigh_node-&amp;gt;addr);
+batadv_send_skb_packet(skb, neigh_node-&amp;gt;if_incoming, neigh_node-&amp;gt;addr);
 ret = 0;
 
 out:
 if (neigh_node)
-neigh_node_free_ref(neigh_node);
+batadv_neigh_node_free_ref(neigh_node);
 if (ret)
 kfree_skb(skb);
 return;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1935,7 +1938,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void tt_purge(struct work_struct *work)
 tt_start_timer(bat_priv);
 }
 
-void tt_free(struct bat_priv *bat_priv)
+void batadv_tt_free(struct bat_priv *bat_priv)
 {
 cancel_delayed_work_sync(&amp;amp;bat_priv-&amp;gt;tt_work);
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2025,7 +2028,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void tt_local_purge_pending_clients(struct bat_priv *bat_priv)
 
 }
 
-void tt_commit_changes(struct bat_priv *bat_priv)
+void batadv_tt_commit_changes(struct bat_priv *bat_priv)
 {
 uint16_t changed_num = tt_set_flags(bat_priv-&amp;gt;tt_local_hash,
     TT_CLIENT_NEW, false);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2041,7 +2044,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void tt_commit_changes(struct bat_priv *bat_priv)
 bat_priv-&amp;gt;tt_poss_change = false;
 }
 
-bool is_ap_isolated(struct bat_priv *bat_priv, uint8_t *src, uint8_t *dst)
+bool batadv_is_ap_isolated(struct bat_priv *bat_priv, uint8_t *src,
+   uint8_t *dst)
 {
 struct tt_local_entry *tt_local_entry = NULL;
 struct tt_global_entry *tt_global_entry = NULL;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2071,15 +2075,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 return ret;
 }
 
-void tt_update_orig(struct bat_priv *bat_priv, struct orig_node *orig_node,
-    const unsigned char *tt_buff, uint8_t tt_num_changes,
-    uint8_t ttvn, uint16_t tt_crc)
+void batadv_tt_update_orig(struct bat_priv *bat_priv,
+   struct orig_node *orig_node,
+   const unsigned char *tt_buff, uint8_t tt_num_changes,
+   uint8_t ttvn, uint16_t tt_crc)
 {
 uint8_t orig_ttvn = (uint8_t)atomic_read(&amp;amp;orig_node-&amp;gt;last_ttvn);
 bool full_table = true;
 
 /* don't care about a backbone gateways updates. */
-if (bla_is_backbone_gw_orig(bat_priv, orig_node-&amp;gt;orig))
+if (batadv_bla_is_backbone_gw_orig(bat_priv, orig_node-&amp;gt;orig))
 return;
 
 /* orig table not initialised AND first diff is in the OGM OR the ttvn
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2137,7 +2142,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; request_table:
 /* returns true whether we know that the client has moved from its old
  * originator to another one. This entry is kept is still kept for consistency
  * purposes */
-bool tt_global_client_is_roaming(struct bat_priv *bat_priv, uint8_t *addr)
+bool batadv_tt_global_client_is_roaming(struct bat_priv *bat_priv,
+uint8_t *addr)
 {
 struct tt_global_entry *tt_global_entry;
 bool ret = false;
diff --git a/translation-table.h b/translation-table.h
index c43374d..6d1ccb9 100644
--- a/translation-table.h
+++ b/translation-table.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -22,38 +22,45 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #ifndef _NET_BATMAN_ADV_TRANSLATION_TABLE_H_
 #define _NET_BATMAN_ADV_TRANSLATION_TABLE_H_
 
-int tt_len(int changes_num);
-int tt_changes_fill_buffer(struct bat_priv *bat_priv,
-   unsigned char *buff, int buff_len);
-int tt_init(struct bat_priv *bat_priv);
-void tt_local_add(struct net_device *soft_iface, const uint8_t *addr,
-  int ifindex);
-void tt_local_remove(struct bat_priv *bat_priv,
-     const uint8_t *addr, const char *message, bool roaming);
-int tt_local_seq_print_text(struct seq_file *seq, void *offset);
-void tt_global_add_orig(struct bat_priv *bat_priv, struct orig_node *orig_node,
-const unsigned char *tt_buff, int tt_buff_len);
-int tt_global_add(struct bat_priv *bat_priv, struct orig_node *orig_node,
-  const unsigned char *addr, uint8_t ttvn, bool roaming,
-  bool wifi);
-int tt_global_seq_print_text(struct seq_file *seq, void *offset);
-void tt_global_del_orig(struct bat_priv *bat_priv,
-struct orig_node *orig_node, const char *message);
-struct orig_node *transtable_search(struct bat_priv *bat_priv,
-    const uint8_t *src, const uint8_t *addr);
-uint16_t tt_local_crc(struct bat_priv *bat_priv);
-void tt_free(struct bat_priv *bat_priv);
-bool send_tt_response(struct bat_priv *bat_priv,
-      struct tt_query_packet *tt_request);
-bool is_my_client(struct bat_priv *bat_priv, const uint8_t *addr);
-void handle_tt_response(struct bat_priv *bat_priv,
-struct tt_query_packet *tt_response);
-void tt_commit_changes(struct bat_priv *bat_priv);
-bool is_ap_isolated(struct bat_priv *bat_priv, uint8_t *src, uint8_t *dst);
-void tt_update_orig(struct bat_priv *bat_priv, struct orig_node *orig_node,
-    const unsigned char *tt_buff, uint8_t tt_num_changes,
-    uint8_t ttvn, uint16_t tt_crc);
-bool tt_global_client_is_roaming(struct bat_priv *bat_priv, uint8_t *addr);
+int batadv_tt_len(int changes_num);
+int batadv_tt_changes_fill_buffer(struct bat_priv *bat_priv,
+  unsigned char *buff, int buff_len);
+int batadv_tt_init(struct bat_priv *bat_priv);
+void batadv_tt_local_add(struct net_device *soft_iface, const uint8_t *addr,
+ int ifindex);
+void batadv_tt_local_remove(struct bat_priv *bat_priv,
+    const uint8_t *addr, const char *message,
+    bool roaming);
+int batadv_tt_local_seq_print_text(struct seq_file *seq, void *offset);
+void batadv_tt_global_add_orig(struct bat_priv *bat_priv,
+       struct orig_node *orig_node,
+       const unsigned char *tt_buff, int tt_buff_len);
+int batadv_tt_global_add(struct bat_priv *bat_priv, struct orig_node *orig_node,
+ const unsigned char *addr, uint8_t ttvn, bool roaming,
+ bool wifi);
+int batadv_tt_global_seq_print_text(struct seq_file *seq, void *offset);
+void batadv_tt_global_del_orig(struct bat_priv *bat_priv,
+       struct orig_node *orig_node,
+       const char *message);
+struct orig_node *batadv_transtable_search(struct bat_priv *bat_priv,
+   const uint8_t *src,
+   const uint8_t *addr);
+uint16_t batadv_tt_local_crc(struct bat_priv *bat_priv);
+void batadv_tt_free(struct bat_priv *bat_priv);
+bool batadv_send_tt_response(struct bat_priv *bat_priv,
+     struct tt_query_packet *tt_request);
+bool batadv_is_my_client(struct bat_priv *bat_priv, const uint8_t *addr);
+void batadv_handle_tt_response(struct bat_priv *bat_priv,
+       struct tt_query_packet *tt_response);
+void batadv_tt_commit_changes(struct bat_priv *bat_priv);
+bool batadv_is_ap_isolated(struct bat_priv *bat_priv, uint8_t *src,
+   uint8_t *dst);
+void batadv_tt_update_orig(struct bat_priv *bat_priv,
+   struct orig_node *orig_node,
+   const unsigned char *tt_buff, uint8_t tt_num_changes,
+   uint8_t ttvn, uint16_t tt_crc);
+bool batadv_tt_global_client_is_roaming(struct bat_priv *bat_priv,
+uint8_t *addr);
 
 
 #endif /* _NET_BATMAN_ADV_TRANSLATION_TABLE_H_ */
diff --git a/unicast.c b/unicast.c
index 62ea9f1..ae59a74 100644
--- a/unicast.c
+++ b/unicast.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -101,7 +101,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int frag_create_buffer(struct list_head *head)
 for (i = 0; i &amp;lt; FRAG_BUFFER_SIZE; i++) {
 tfp = kmalloc(sizeof(*tfp), GFP_ATOMIC);
 if (!tfp) {
-frag_list_free(head);
+batadv_frag_list_free(head);
 return -ENOMEM;
 }
 tfp-&amp;gt;skb = NULL;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -151,7 +151,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; mov_tail:
 return NULL;
 }
 
-void frag_list_free(struct list_head *head)
+void batadv_frag_list_free(struct list_head *head)
 {
 struct frag_packet_list_entry *pf, *tmp_pf;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -172,8 +172,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void frag_list_free(struct list_head *head)
  * or the skb could be reassembled (skb_new will point to the new packet and
  * skb was freed)
  */
-int frag_reassemble_skb(struct sk_buff *skb, struct bat_priv *bat_priv,
-struct sk_buff **new_skb)
+int batadv_frag_reassemble_skb(struct sk_buff *skb, struct bat_priv *bat_priv,
+       struct sk_buff **new_skb)
 {
 struct orig_node *orig_node;
 struct frag_packet_list_entry *tmp_frag_entry;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -212,12 +212,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int frag_reassemble_skb(struct sk_buff *skb, struct bat_priv *bat_priv,
 
 out:
 if (orig_node)
-orig_node_free_ref(orig_node);
+batadv_orig_node_free_ref(orig_node);
 return ret;
 }
 
-int frag_send_skb(struct sk_buff *skb, struct bat_priv *bat_priv,
-  struct hard_iface *hard_iface, const uint8_t dstaddr[])
+int batadv_frag_send_skb(struct sk_buff *skb, struct bat_priv *bat_priv,
+ struct hard_iface *hard_iface, const uint8_t dstaddr[])
 {
 struct unicast_packet tmp_uc, *unicast_packet;
 struct hard_iface *primary_if;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -242,8 +242,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int frag_send_skb(struct sk_buff *skb, struct bat_priv *bat_priv,
 memcpy(&amp;amp;tmp_uc, unicast_packet, uc_hdr_len);
 skb_split(skb, frag_skb, data_len / 2 + uc_hdr_len);
 
-if (my_skb_head_push(skb, ucf_hdr_len - uc_hdr_len) &amp;lt; 0 ||
-    my_skb_head_push(frag_skb, ucf_hdr_len) &amp;lt; 0)
+if (batadv_skb_head_push(skb, ucf_hdr_len - uc_hdr_len) &amp;lt; 0 ||
+    batadv_skb_head_push(frag_skb, ucf_hdr_len) &amp;lt; 0)
 goto drop_frag;
 
 frag1 = (struct unicast_frag_packet *)skb-&amp;gt;data;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -268,8 +268,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int frag_send_skb(struct sk_buff *skb, struct bat_priv *bat_priv,
 frag1-&amp;gt;seqno = htons(seqno - 1);
 frag2-&amp;gt;seqno = htons(seqno);
 
-send_skb_packet(skb, hard_iface, dstaddr);
-send_skb_packet(frag_skb, hard_iface, dstaddr);
+batadv_send_skb_packet(skb, hard_iface, dstaddr);
+batadv_send_skb_packet(frag_skb, hard_iface, dstaddr);
 ret = NET_RX_SUCCESS;
 goto out;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -288,7 +288,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static bool pull_and_fill_unicast(struct sk_buff *skb, int hdr_size,
 {
 struct unicast_packet *unicast_packet;
 
-if (my_skb_head_push(skb, hdr_size) &amp;lt; 0)
+if (batadv_skb_head_push(skb, hdr_size) &amp;lt; 0)
 return false;
 
 unicast_packet = (struct unicast_packet *)skb-&amp;gt;data;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -313,10 +313,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static bool prepare_unicast_packet(struct sk_buff *skb,
      orig_node);
 }
 
-bool prepare_unicast_4addr_packet(struct bat_priv *bat_priv,
-  struct sk_buff *skb,
-  struct orig_node *orig_node,
-  int packet_subtype)
+bool batadv_prepare_unicast_4addr_packet(struct bat_priv *bat_priv,
+ struct sk_buff *skb,
+ struct orig_node *orig_node,
+ int packet_subtype)
 {
 struct hard_iface *primary_if;
 struct unicast_4addr_packet *unicast_4addr_packet;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -347,8 +347,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 return ret;
 }
 
-int unicast_generic_send_skb(struct sk_buff *skb, struct bat_priv *bat_priv,
-     int packet_type, int packet_subtype)
+int batadv_unicast_generic_send_skb(struct sk_buff *skb,
+    struct bat_priv *bat_priv,
+    int packet_type, int packet_subtype)
 {
 struct ethhdr *ethhdr = (struct ethhdr *)skb-&amp;gt;data;
 struct orig_node *orig_node;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -359,22 +360,22 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int unicast_generic_send_skb(struct sk_buff *skb, struct bat_priv *bat_priv,
 
 /* get routing information */
 if (is_multicast_ether_addr(ethhdr-&amp;gt;h_dest)) {
-orig_node = gw_get_selected_orig(bat_priv);
+orig_node = batadv_gw_get_selected_orig(bat_priv);
 if (orig_node)
 goto find_router;
 }
 
 /* check for tt host - increases orig_node refcount.
  * returns NULL in case of AP isolation */
-orig_node = transtable_search(bat_priv, ethhdr-&amp;gt;h_source,
-      ethhdr-&amp;gt;h_dest);
+orig_node = batadv_transtable_search(bat_priv, ethhdr-&amp;gt;h_source,
+     ethhdr-&amp;gt;h_dest);
 find_router:
 /**
  * find_router():
  *  - if orig_node is NULL it returns NULL
  *  - increases neigh_nodes refcount if found.
  */
-neigh_node = find_router(bat_priv, orig_node, NULL);
+neigh_node = batadv_find_router(bat_priv, orig_node, NULL);
 if (!neigh_node)
 goto out;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -383,8 +384,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; find_router:
 prepare_unicast_packet(skb, orig_node);
 break;
 case BAT_UNICAST_4ADDR:
-prepare_unicast_4addr_packet(bat_priv, skb, orig_node,
-     packet_subtype);
+batadv_prepare_unicast_4addr_packet(bat_priv, skb, orig_node,
+    packet_subtype);
 break;
 default:
 /* this function supports UNICAST and UNICAST_4ADDR only. It
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -399,7 +400,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; find_router:
  * for this client. The destination will receive this packet and will
  * try to reroute it because the ttvn contained in the header is less
  * than the current one */
-if (tt_global_client_is_roaming(bat_priv, ethhdr-&amp;gt;h_dest))
+if (batadv_tt_global_client_is_roaming(bat_priv, ethhdr-&amp;gt;h_dest))
 unicast_packet-&amp;gt;ttvn = unicast_packet-&amp;gt;ttvn - 1;
 
 /* fragmentation mechanism only works for UNICAST (now) */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -409,19 +410,20 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; find_router:
 neigh_node-&amp;gt;if_incoming-&amp;gt;net_dev-&amp;gt;mtu) {
 /* send frag skb decreases ttl */
 unicast_packet-&amp;gt;header.ttl++;
-ret = frag_send_skb(skb, bat_priv,
-    neigh_node-&amp;gt;if_incoming, neigh_node-&amp;gt;addr);
+ret = batadv_frag_send_skb(skb, bat_priv,
+   neigh_node-&amp;gt;if_incoming,
+   neigh_node-&amp;gt;addr);
 goto out;
 }
 
-send_skb_packet(skb, neigh_node-&amp;gt;if_incoming, neigh_node-&amp;gt;addr);
+batadv_send_skb_packet(skb, neigh_node-&amp;gt;if_incoming, neigh_node-&amp;gt;addr);
 ret = 0;
 
 out:
 if (neigh_node)
-neigh_node_free_ref(neigh_node);
+batadv_neigh_node_free_ref(neigh_node);
 if (orig_node)
-orig_node_free_ref(orig_node);
+batadv_orig_node_free_ref(orig_node);
 if (ret == 1)
 kfree_skb(skb);
 return ret;
diff --git a/unicast.h b/unicast.h
index e15aa62..da402b1 100644
--- a/unicast.h
+++ b/unicast.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -27,30 +27,32 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #define FRAG_TIMEOUT 10000/* purge frag list entries after time in ms */
 #define FRAG_BUFFER_SIZE 6/* number of list elements in buffer */
 
-int frag_reassemble_skb(struct sk_buff *skb, struct bat_priv *bat_priv,
-struct sk_buff **new_skb);
-void frag_list_free(struct list_head *head);
-int frag_send_skb(struct sk_buff *skb, struct bat_priv *bat_priv,
-  struct hard_iface *hard_iface, const uint8_t dstaddr[]);
-bool prepare_unicast_4addr_packet(struct bat_priv *bat_priv,
-  struct sk_buff *skb,
-  struct orig_node *orig_node,
-  int packet_subtype);
-int unicast_generic_send_skb(struct sk_buff *skb, struct bat_priv *bat_priv,
-     int packet_type, int packet_subtype);
+int batadv_frag_reassemble_skb(struct sk_buff *skb, struct bat_priv *bat_priv,
+       struct sk_buff **new_skb);
+void batadv_frag_list_free(struct list_head *head);
+int batadv_frag_send_skb(struct sk_buff *skb, struct bat_priv *bat_priv,
+ struct hard_iface *hard_iface,
+ const uint8_t dstaddr[]);
+bool batadv_prepare_unicast_4addr_packet(struct bat_priv *bat_priv,
+ struct sk_buff *skb,
+ struct orig_node *orig_node,
+ int packet_subtype);
+int batadv_unicast_generic_send_skb(struct sk_buff *skb,
+    struct bat_priv *bat_priv,
+    int packet_type, int packet_subtype);
 
 static inline int unicast_send_skb(struct sk_buff *skb,
    struct bat_priv *bat_priv)
 {
-return unicast_generic_send_skb(skb, bat_priv, BAT_UNICAST, 0);
+return batadv_unicast_generic_send_skb(skb, bat_priv, BAT_UNICAST, 0);
 }
 
 static inline int unicast_4addr_send_skb(struct sk_buff *skb,
  struct bat_priv *bat_priv,
  int packet_subtype)
 {
-return unicast_generic_send_skb(skb, bat_priv, BAT_UNICAST_4ADDR,
-packet_subtype);
+return batadv_unicast_generic_send_skb(skb, bat_priv, BAT_UNICAST_4ADDR,
+       packet_subtype);
 }
 
 static inline int frag_can_reassemble(const struct sk_buff *skb, int mtu)
diff --git a/vis.c b/vis.c
index 01d5da5..83c931f 100644
--- a/vis.c
+++ b/vis.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -188,7 +188,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static ssize_t vis_data_read_entry(char *buff,
 return 0;
 }
 
-int vis_seq_print_text(struct seq_file *seq, void *offset)
+int batadv_vis_seq_print_text(struct seq_file *seq, void *offset)
 {
 struct hard_iface *primary_if;
 struct hlist_node *node;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -462,7 +462,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static struct vis_info *add_packet(struct bat_priv *bat_priv,
 
 /* Make it a broadcast packet, if required */
 if (make_broadcast)
-memcpy(packet-&amp;gt;target_orig, broadcast_addr, ETH_ALEN);
+memcpy(packet-&amp;gt;target_orig, batadv_broadcast_addr, ETH_ALEN);
 
 /* repair if entries is longer than packet. */
 if (packet-&amp;gt;entries * sizeof(struct vis_info_entry) &amp;gt; vis_info_len)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -483,9 +483,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static struct vis_info *add_packet(struct bat_priv *bat_priv,
 }
 
 /* handle the server sync packet, forward if needed. */
-void receive_server_sync_packet(struct bat_priv *bat_priv,
-struct vis_packet *vis_packet,
-int vis_info_len)
+void batadv_receive_server_sync_packet(struct bat_priv *bat_priv,
+       struct vis_packet *vis_packet,
+       int vis_info_len)
 {
 struct vis_info *info;
 int is_new, make_broadcast;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -508,9 +508,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; end:
 }
 
 /* handle an incoming client update packet and schedule forward if needed. */
-void receive_client_update_packet(struct bat_priv *bat_priv,
-  struct vis_packet *vis_packet,
-  int vis_info_len)
+void batadv_receive_client_update_packet(struct bat_priv *bat_priv,
+ struct vis_packet *vis_packet,
+ int vis_info_len)
 {
 struct vis_info *info;
 struct vis_packet *packet;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -524,7 +524,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void receive_client_update_packet(struct bat_priv *bat_priv,
 
 /* Are we the target for this VIS packet? */
 if (vis_server == VIS_TYPE_SERVER_SYNC&amp;amp;&amp;amp;
-    is_my_mac(vis_packet-&amp;gt;target_orig))
+    batadv_is_my_mac(vis_packet-&amp;gt;target_orig))
 are_target = 1;
 
 spin_lock_bh(&amp;amp;bat_priv-&amp;gt;vis_hash_lock);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -543,7 +543,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void receive_client_update_packet(struct bat_priv *bat_priv,
 send_list_add(bat_priv, info);
 
 /* ... we're not the recipient (and thus need to forward). */
-} else if (!is_my_mac(packet-&amp;gt;target_orig)) {
+} else if (!batadv_is_my_mac(packet-&amp;gt;target_orig)) {
 send_list_add(bat_priv, info);
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -574,7 +574,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int find_best_vis_server(struct bat_priv *bat_priv,
 
 rcu_read_lock();
 hlist_for_each_entry_rcu(orig_node, node, head, hash_entry) {
-router = orig_node_get_router(orig_node);
+router = batadv_orig_node_get_router(orig_node);
 if (!router)
 continue;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -584,7 +584,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int find_best_vis_server(struct bat_priv *bat_priv,
 memcpy(packet-&amp;gt;target_orig, orig_node-&amp;gt;orig,
        ETH_ALEN);
 }
-neigh_node_free_ref(router);
+batadv_neigh_node_free_ref(router);
 }
 rcu_read_unlock();
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -623,7 +623,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int generate_vis_packet(struct bat_priv *bat_priv)
 info-&amp;gt;first_seen = jiffies;
 packet-&amp;gt;vis_type = atomic_read(&amp;amp;bat_priv-&amp;gt;vis_mode);
 
-memcpy(packet-&amp;gt;target_orig, broadcast_addr, ETH_ALEN);
+memcpy(packet-&amp;gt;target_orig, batadv_broadcast_addr, ETH_ALEN);
 packet-&amp;gt;header.ttl = TTL;
 packet-&amp;gt;seqno = htonl(ntohl(packet-&amp;gt;seqno) + 1);
 packet-&amp;gt;entries = 0;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -641,7 +641,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int generate_vis_packet(struct bat_priv *bat_priv)
 
 rcu_read_lock();
 hlist_for_each_entry_rcu(orig_node, node, head, hash_entry) {
-router = orig_node_get_router(orig_node);
+router = batadv_orig_node_get_router(orig_node);
 if (!router)
 continue;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -665,7 +665,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int generate_vis_packet(struct bat_priv *bat_priv)
 packet-&amp;gt;entries++;
 
 next:
-neigh_node_free_ref(router);
+batadv_neigh_node_free_ref(router);
 
 if (vis_packet_full(info))
 goto unlock;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -757,7 +757,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void broadcast_vis_packet(struct bat_priv *bat_priv,
 if (!(orig_node-&amp;gt;flags &amp;amp; VIS_SERVER))
 continue;
 
-router = orig_node_get_router(orig_node);
+router = batadv_orig_node_get_router(orig_node);
 if (!router)
 continue;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -765,7 +765,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void broadcast_vis_packet(struct bat_priv *bat_priv,
  * this node. */
 if (recv_list_is_in(bat_priv, &amp;amp;info-&amp;gt;recv_list,
     orig_node-&amp;gt;orig)) {
-neigh_node_free_ref(router);
+batadv_neigh_node_free_ref(router);
 continue;
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -773,11 +773,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void broadcast_vis_packet(struct bat_priv *bat_priv,
 hard_iface = router-&amp;gt;if_incoming;
 memcpy(dstaddr, router-&amp;gt;addr, ETH_ALEN);
 
-neigh_node_free_ref(router);
+batadv_neigh_node_free_ref(router);
 
 skb = skb_clone(info-&amp;gt;skb_packet, GFP_ATOMIC);
 if (skb)
-send_skb_packet(skb, hard_iface, dstaddr);
+batadv_send_skb_packet(skb, hard_iface,
+       dstaddr);
 
 }
 rcu_read_unlock();
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -798,19 +799,19 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void unicast_vis_packet(struct bat_priv *bat_priv,
 if (!orig_node)
 goto out;
 
-router = orig_node_get_router(orig_node);
+router = batadv_orig_node_get_router(orig_node);
 if (!router)
 goto out;
 
 skb = skb_clone(info-&amp;gt;skb_packet, GFP_ATOMIC);
 if (skb)
-send_skb_packet(skb, router-&amp;gt;if_incoming, router-&amp;gt;addr);
+batadv_send_skb_packet(skb, router-&amp;gt;if_incoming, router-&amp;gt;addr);
 
 out:
 if (router)
-neigh_node_free_ref(router);
+batadv_neigh_node_free_ref(router);
 if (orig_node)
-orig_node_free_ref(orig_node);
+batadv_orig_node_free_ref(orig_node);
 }
 
 /* only send one vis packet. called from send_vis_packets() */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -879,7 +880,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void send_vis_packets(struct work_struct *work)
 
 /* init the vis server. this may only be called when if_list is already
  * initialized (e.g. bat0 is initialized, interfaces have been added) */
-int vis_init(struct bat_priv *bat_priv)
+int batadv_vis_init(struct bat_priv *bat_priv)
 {
 struct vis_packet *packet;
 int hash_added;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -889,7 +890,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int vis_init(struct bat_priv *bat_priv)
 
 spin_lock_bh(&amp;amp;bat_priv-&amp;gt;vis_hash_lock);
 
-bat_priv-&amp;gt;vis_hash = hash_new(256);
+bat_priv-&amp;gt;vis_hash = batadv_hash_new(256);
 if (!bat_priv-&amp;gt;vis_hash) {
 pr_err("Can't initialize vis_hash\n");
 goto err;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -943,7 +944,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; free_info:
 bat_priv-&amp;gt;my_vis_info = NULL;
 err:
 spin_unlock_bh(&amp;amp;bat_priv-&amp;gt;vis_hash_lock);
-vis_quit(bat_priv);
+batadv_vis_quit(bat_priv);
 return -ENOMEM;
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -958,7 +959,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void free_info_ref(struct hlist_node *node, void *arg)
 }
 
 /* shutdown vis-server */
-void vis_quit(struct bat_priv *bat_priv)
+void batadv_vis_quit(struct bat_priv *bat_priv)
 {
 if (!bat_priv-&amp;gt;vis_hash)
 return;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -977,6 +978,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void vis_quit(struct bat_priv *bat_priv)
 static void start_vis_timer(struct bat_priv *bat_priv)
 {
 INIT_DELAYED_WORK(&amp;amp;bat_priv-&amp;gt;vis_work, send_vis_packets);
-queue_delayed_work(bat_event_workqueue, &amp;amp;bat_priv-&amp;gt;vis_work,
+queue_delayed_work(batadv_event_workqueue, &amp;amp;bat_priv-&amp;gt;vis_work,
    msecs_to_jiffies(VIS_INTERVAL));
 }
diff --git a/vis.h b/vis.h
index ee2e46e..932514e 100644
--- a/vis.h
+++ b/vis.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -25,14 +25,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #define VIS_TIMEOUT200000/* timeout of vis packets
  * in miliseconds */
 
-int vis_seq_print_text(struct seq_file *seq, void *offset);
-void receive_server_sync_packet(struct bat_priv *bat_priv,
-struct vis_packet *vis_packet,
-int vis_info_len);
-void receive_client_update_packet(struct bat_priv *bat_priv,
-  struct vis_packet *vis_packet,
-  int vis_info_len);
-int vis_init(struct bat_priv *bat_priv);
-void vis_quit(struct bat_priv *bat_priv);
+int batadv_vis_seq_print_text(struct seq_file *seq, void *offset);
+void batadv_receive_server_sync_packet(struct bat_priv *bat_priv,
+       struct vis_packet *vis_packet,
+       int vis_info_len);
+void batadv_receive_client_update_packet(struct bat_priv *bat_priv,
+ struct vis_packet *vis_packet,
+ int vis_info_len);
+int batadv_vis_init(struct bat_priv *bat_priv);
+void batadv_vis_quit(struct bat_priv *bat_priv);
 
 #endif /* _NET_BATMAN_ADV_VIS_H_ */
&lt;/pre&gt;</description>
    <dc:creator>Sven Eckelmann</dc:creator>
    <dc:date>2012-05-11T19:26:08</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.org.freifunk.batman">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.org.freifunk.batman</link>
  </textinput>
</rdf:RDF>

