)]}'
{
  "log": [
    {
      "commit": "e01572654a43329ae9ed0708931f577b5e0e6731",
      "tree": "7948810ef9d7a3e8cc68c7e001b0b1a2af27f25b",
      "parents": [
        "679695813c0e29ecab666210752c9c0b4dd9f01c"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Fri Mar 30 18:44:09 2012 +0200"
      },
      "committer": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Sun May 13 19:06:42 2012 +0200"
      },
      "message": "batman-adv: Start new development cycle\n\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\n"
    },
    {
      "commit": "ffa995e036bef734ea40cbbccda574d1df3a8a58",
      "tree": "396d7c202f1b0d82dce905e7d70c32708886f404",
      "parents": [
        "75cd33f86396c446f84c4bb620be70c36a2a54f6"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Thu Mar 01 15:35:17 2012 +0800"
      },
      "committer": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Fri May 11 10:08:10 2012 +0200"
      },
      "message": "batman-adv: introduce packet type handler array for incoming packets\n\nThe packet handler array replaces the growing switch statement, thus\ndealing with incoming packets in a more efficient way. It also adds\nto possibility to register packet handlers on the fly.\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\nAcked-by: Simon Wunderlich \u003csiwu@hrz.tu-chemnitz.de\u003e\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\n"
    },
    {
      "commit": "fe2da6ff27c73c1d102ec2189f94e8bc729d1a9b",
      "tree": "143055e9de797c3b645d453a5d0c62d5c3d8af19",
      "parents": [
        "20ff9d593f8ff20c2ef24498f77a8bc30b3a059a"
      ],
      "author": {
        "name": "Simon Wunderlich",
        "email": "simon.wunderlich@s2003.tu-chemnitz.de",
        "time": "Sun Jan 22 20:00:24 2012 +0100"
      },
      "committer": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Wed Apr 11 14:28:59 2012 +0200"
      },
      "message": "batman-adv: add broadcast duplicate check\n\nWhen multiple backbone gateways relay the same broadcast from the\nbackbone into the mesh, other nodes in the mesh may receive this\nbroadcast multiple times. To avoid this, the crc checksums of\nreceived broadcasts are recorded and new broadcast packets with\nthe same content may be dropped if received by another gateway.\n\nSigned-off-by: Simon Wunderlich \u003csiwu@hrz.tu-chemnitz.de\u003e\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\n"
    },
    {
      "commit": "23721387c409087fd3b97e274f34d3ddc0970b74",
      "tree": "cf386c6f169a1b2b6e8c8ef77be5226e10046689",
      "parents": [
        "a7f6ee9493677ba40625d810258de5bd521cc1b0"
      ],
      "author": {
        "name": "Simon Wunderlich",
        "email": "simon.wunderlich@s2003.tu-chemnitz.de",
        "time": "Sun Jan 22 20:00:19 2012 +0100"
      },
      "committer": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Wed Apr 11 14:28:58 2012 +0200"
      },
      "message": "batman-adv: add basic bridge loop avoidance code\n\nThis second version of the bridge loop avoidance for batman-adv\navoids loops between the mesh and a backbone (usually a LAN).\n\nBy connecting multiple batman-adv mesh nodes to the same ethernet\nsegment a loop can be created when the soft-interface is bridged\ninto that ethernet segment. A simple visualization of the loop\ninvolving the most common case - a LAN as ethernet segment:\n\nnode1  \u003c-- LAN  --\u003e  node2\n  |                   |\nwifi   \u003c-- mesh --\u003e  wifi\n\nPackets from the LAN (e.g. ARP broadcasts) will circle forever from\nnode1 or node2 over the mesh back into the LAN.\n\nWith this patch, batman recognizes backbone gateways, nodes which are\npart of the mesh and backbone/LAN at the same time. Each backbone\ngateway \"claims\" clients from within the mesh to handle them\nexclusively. By restricting that only responsible backbone gateways\nmay handle their claimed clients traffic, loops are effectively\navoided.\n\nSigned-off-by: Simon Wunderlich \u003csiwu@hrz.tu-chemnitz.de\u003e\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\n"
    },
    {
      "commit": "a7f6ee9493677ba40625d810258de5bd521cc1b0",
      "tree": "6635b87289ae083a466f14d2c9aed4bb20adae34",
      "parents": [
        "8681a1c4dd258c573e80b4a7af7e7127770b67a8"
      ],
      "author": {
        "name": "Simon Wunderlich",
        "email": "simon.wunderlich@s2003.tu-chemnitz.de",
        "time": "Sun Jan 22 20:00:18 2012 +0100"
      },
      "committer": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Wed Apr 11 14:28:58 2012 +0200"
      },
      "message": "batman-adv: remove old bridge loop avoidance code\n\nThe functionality is to be replaced by an improved implementation,\nso first clean up.\n\nSigned-off-by: Simon Wunderlich \u003csiwu@hrz.tu-chemnitz.de\u003e\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\n"
    },
    {
      "commit": "0079d2cef1514422668c7beedd61bfde5aa2c146",
      "tree": "64d118360835eb1abfa9546ce3cac99c8db9ce79",
      "parents": [
        "c1faead3335608d9c9bb58e07bbf9663d53d4b26"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sat Feb 04 17:34:52 2012 +0100"
      },
      "committer": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Wed Apr 11 14:28:58 2012 +0200"
      },
      "message": "batman-adv: Replace bitarray operations with bitmap\n\nbitarray.c consists mostly of functionality that is already available as part\nof the standard kernel API. batman-adv could use architecture optimized code\nand reduce the binary size by switching to the standard functions.\n\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\n"
    },
    {
      "commit": "21a1236bc3155c0c2efcce8ba03540fdf979ac00",
      "tree": "831bb5c1b64567161380b50d0581e1e067561cec",
      "parents": [
        "86ceb360565d06fcee96be85c4bafe9264756eca"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Wed Mar 07 09:07:46 2012 +0100"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sun Mar 11 06:29:44 2012 +0800"
      },
      "message": "batman-adv: Don\u0027t begin block comments with only a /* line\n\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "fdc8ff101163f10d36187a890a3c4990cebb8b12",
      "tree": "92be4d1924485e8d67e3c1b87488e2a0ebbdf7b4",
      "parents": [
        "78d6942a45f86126ebdadd45418188b221d63344"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sun Feb 05 15:23:55 2012 +0100"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Fri Feb 17 02:50:21 2012 +0800"
      },
      "message": "batman-adv: Start new development cycle\n\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "567db7b0b7c0a94cc62846f8ebb429bdda2884bc",
      "tree": "c77ce9d27df43e72c14c8a57f7a348db2fca3a5b",
      "parents": [
        "92f90f56caa30dfcb6c5755776d73df23ef2ae1a"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sun Jan 01 00:41:38 2012 +0100"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Fri Feb 17 02:50:21 2012 +0800"
      },
      "message": "batman-adv: Update copyright years\n\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "032b7969f8874d5ddc65691cd3d008beffd2a09e",
      "tree": "73a0e8bdd4dcf0f1dc3407b17df0424106027f9d",
      "parents": [
        "ea3d2fd1b11fb3ef8706a48ece0a49a61bcd08bc"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Tue Dec 20 19:30:40 2011 +0800"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Fri Feb 17 02:50:20 2012 +0800"
      },
      "message": "batman-adv: convert time_after instances to has_timed_out\n\nTo increase readability the has_timed_out() functions has been introduced.\nThis patch converts existing time_after() calls to use this wrapper\nfunction (if applicable).\nThis patch also converts all timeouts to miliseconds to be consistent.\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\nSigned-off-by: Simon Wunderlich \u003csiwu@hrz.tu-chemnitz.de\u003e\n"
    },
    {
      "commit": "1c280471b013e26c833fc86acc231c73442cfa21",
      "tree": "ff48395664f514b1c8f2f14e78c5b3c4da653702",
      "parents": [
        "6e242f9037f8a82ce2608c20a5460b670b2d5ff4"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Mon Nov 28 17:40:17 2011 +0800"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Fri Feb 17 02:50:20 2012 +0800"
      },
      "message": "batman-adv: add infrastructure to change routing algorithm at runtime\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "a04ccd5970ec11f0b320971051435d86d3233c92",
      "tree": "a57eaf54189eea3f63a30ee89a9be4e19513342e",
      "parents": [
        "c51f9c09fabc96f23e449b5e39b1fc4e2cabcd85"
      ],
      "author": {
        "name": "Martin Hundebøll",
        "email": "martin@hundeboll.net",
        "time": "Thu Dec 08 13:32:41 2011 +0100"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Fri Feb 17 02:50:19 2012 +0800"
      },
      "message": "batman-adv: Move is_out_of_time() to main.h for general use\n\nBoth translation tables and network coding use timeouts to do house\nkeeping, so we might as well share the function used to compare a\ntimestamp+timeout with current time.\n\nFor readability and simplicity, the function is renamed to\nhas_timed_out() and uses time_is_before_jiffies() instead of\ntime_after().\n\nSigned-off-by: Martin Hundebøll \u003cmartin@hundeboll.net\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "c20186b90fd73cf9bb20da55796fee00e63de9a4",
      "tree": "3a2ffd77740ef37b65566a06490c9b16ad80183f",
      "parents": [
        "1ea6b8f48918282bdca0b32a34095504ee65bab5"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Mon Nov 14 10:22:13 2011 +0100"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sun Nov 20 13:08:20 2011 +0100"
      },
      "message": "batman-adv: update internal version number\n\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "45485ad7d24f9f1de964b3aea8beb199dbac141c",
      "tree": "fb6c64717dca1c0b6b6a01b7ab1a9ebeb5d347a8",
      "parents": [
        "5f30a4ab4ac40a71ce7e2aaaab782284553b21a4"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sun Aug 21 15:34:38 2011 +0200"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Thu Sep 08 17:52:19 2011 +0200"
      },
      "message": "batman-adv: update internal version number\n\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "bc2790808a7a3699a7c9f72f7ad225c8504824aa",
      "tree": "a1b0e88091facf44e0afb78d3438c55cfd6633ad",
      "parents": [
        "015758d00251a4dd9287806cdab4b9c1298f97ed"
      ],
      "author": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Thu Jul 07 15:35:35 2011 +0200"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Mon Aug 22 15:16:20 2011 +0200"
      },
      "message": "batman-adv: detect clients connected through a 802.11 device\n\nClients connected through a 802.11 device are now marked with the\nTT_CLIENT_WIFI flag. This flag is also advertised with the tt\nannouncement.\n\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "015758d00251a4dd9287806cdab4b9c1298f97ed",
      "tree": "f7569640da23701bc5c391afc1033cf89e1626aa",
      "parents": [
        "1a1f37d9257a4792ca17b28b1c2e4ad15fe95b28"
      ],
      "author": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Sat Jul 09 17:52:13 2011 +0200"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Mon Aug 22 15:16:19 2011 +0200"
      },
      "message": "batman-adv: correct several typ0s in the comments\n\nSeveral typos have been corrected and some sentences have been rephrased\n\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "44c4349a2a117b22a5c4087f2ac9faf10c575e17",
      "tree": "b326a102f069a56f02de40aa2844e6c77675e6ab",
      "parents": [
        "b539e4cd3b08dddbaa2ba0f158eed3c7c2244eaf"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Tue Jul 05 10:42:51 2011 +0200"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Tue Jul 05 14:48:56 2011 +0200"
      },
      "message": "batman-adv: Replace version info instead of appending them\n\nThe version number of modules build outside of the tree can get revision\nnumbers added. This is useful to give hints about the revision of a\ndistribution package and the used patchset. The prepended source number or\nbranch name doesn\u0027t add any additional information which would help to identify\nproblems and can therefore be omitted.\n\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "43676ab590c3f8686fd047d34c3e33803eef71f0",
      "tree": "056303a6b33a23a74610cceee11c946847b22c61",
      "parents": [
        "19595e054d35820e026caac314414e435287e3ae"
      ],
      "author": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Tue Apr 26 21:31:45 2011 +0200"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Mon Jun 20 11:37:41 2011 +0200"
      },
      "message": "batman-adv: improved gateway tq-based selection\n\nIf a client issues a DHCPREQUEST for renewal, the packet is dropped\nif the old destination (the old gateway for the client) TQ is smaller\nthan the current best gateway TQ less GW_THRESHOLD\n\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "c6bda689c2c94788e1e567463ce861d1f135857f",
      "tree": "b2876d0b57ee5de081cf612420644e39dc4b78c0",
      "parents": [
        "7683fdc1e88644ee8108a1f33faba80545f0024d"
      ],
      "author": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Tue Apr 26 18:26:01 2011 +0200"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Mon Jun 20 11:37:33 2011 +0200"
      },
      "message": "batman-adv: add wrapper function to throw uevent in userspace\n\nUsing throw_uevent() is now possible to trigger uevent signal that can\nbe recognised in userspace. Uevents will be triggered through the\n/devices/virtual/net/{MESH_IFACE} kobject.\n\nA triggered uevent has three properties:\n- type: the event class. Who generates the event (only \u0027gw\u0027 is currently\n  defined). Corresponds to the BATTYPE uevent variable.\n- action: the associated action with the event (\u0027add\u0027/\u0027change\u0027/\u0027del\u0027 are\n  currently defined). Corresponds to the BATACTION uevent variable.\n- data: any useful data for the userspace. Corresponds to the BATDATA\n  uevent variable.\n\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "cc47f66e6b9ec7e7d465f74739a6fc9844593894",
      "tree": "8fbda7f59267bca45f9e887d09ba1de2f3c62f8d",
      "parents": [
        "a73105b8d4c765d9ebfb664d0a66802127d8e4c7"
      ],
      "author": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Wed Apr 27 14:27:57 2011 +0200"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Mon Jun 20 11:37:27 2011 +0200"
      },
      "message": "batman-adv: improved roaming mechanism\n\nWith the current client announcement implementation, in case of roaming,\nan update is triggered on the new AP serving the client. At that point\nthe new information is spread around by means of the OGM broadcasting\nmechanism. Until this operations is not executed, no node is able to\ncorrectly route traffic towards the client. This obviously causes packet\ndrops and introduces a delay in the time needed by the client to recover\nits connections.\n\nA new packet type called ROAMING_ADVERTISEMENT is added to account this\nissue.\n\nThis message is sent in case of roaming from the new AP serving the\nclient to the old one and will contain the client MAC address. In this\nway an out-of-OGM update is immediately committed, so that the old node\ncan update its global translation table. Traffic reaching this node will\nthen be redirected to the correct destination utilising the fresher\ninformation. Thus reducing the packet drops and the connection recovery\ndelay.\n\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "a73105b8d4c765d9ebfb664d0a66802127d8e4c7",
      "tree": "b4b11a4050109d8f042c7ac87a5a6d6d91b5d1d2",
      "parents": [
        "3b27ffb00fbe9d9189715ea13ce8712e2f0cb0c5"
      ],
      "author": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Wed Apr 27 14:27:44 2011 +0200"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Mon Jun 20 11:37:24 2011 +0200"
      },
      "message": "batman-adv: improved client announcement mechanism\n\nThe client announcement mechanism informs every mesh node in the network\nof any connected non-mesh client, in order to find the path towards that\nclient from any given point in the mesh.\n\nThe old implementation was based on the simple idea of appending a data\nbuffer to each OGM containing all the client MAC addresses the node is\nserving. All other nodes can populate their global translation tables\n(table which links client MAC addresses to node addresses) using this\nMAC address buffer and linking it to the node\u0027s address contained in the\nOGM. A node that wants to contact a client has to lookup the node the\nclient is connected to and its address in the global translation table.\n\nIt is easy to understand that this implementation suffers from several\nissues:\n - big overhead (each and every OGM contains the entire list of\n   connected clients)\n - high latencies for client route updates due to long OGM trip time and\n   OGM losses\n\nThe new implementation addresses these issues by appending client\nchanges (new client joined or a client left) to the OGM instead of\nfilling it with all the client addresses each time. In this way nodes\ncan modify their global tables by means of \"updates\", thus reducing the\noverhead within the OGMs.\n\nTo keep the entire network in sync each node maintains a translation\ntable version number (ttvn) and a translation table checksum. These\nvalues are spread with the OGM to allow all the network participants to\ndetermine whether or not they need to update their translation table\ninformation.\n\nWhen a translation table lookup is performed in order to send a packet\nto a client attached to another node, the destination\u0027s ttvn is added to\nthe payload packet. Forwarding nodes can compare the packet\u0027s ttvn with\ntheir destination\u0027s ttvn (this node could have a fresher information\nthan the source) and re-route the packet if necessary. This greatly\nreduces the packet loss of clients roaming from one AP to the next.\n\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "b4e1705417c6cc7d46d9020259a2c8f457cf82bd",
      "tree": "d057a27c91d0bce396726878a6c8995f0d5b0d3b",
      "parents": [
        "b2c44a53836559b5e2823aa215c979c33bc9e2db"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Wed Jun 15 09:41:37 2011 +0200"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Mon Jun 20 11:37:18 2011 +0200"
      },
      "message": "batman-adv: Reduce usage of char\n\nchar was used in different places to store information without really\nusing the characteristics of that data type or by ignoring the fact that\nchar has not a well defined signedness.\n\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "ecbd532108cb21d9d3770f73e168bad65d14d9eb",
      "tree": "2755df4a468d6d146e20bed8306e8c76c74f1ce9",
      "parents": [
        "e8958dbf0da377e11f385a9888da3f72e827ab26"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Thu Jun 09 17:13:09 2011 +0200"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Thu Jun 09 20:40:38 2011 +0200"
      },
      "message": "batman-adv: use NO_FLAGS define instead of hard-coding 0\n\nThe definition NO_FLAGS was introduced to make the code more\nreadable and shall be used to initialize flag fields.\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "e8958dbf0da377e11f385a9888da3f72e827ab26",
      "tree": "bf2c84c423ebdfba4b88afad1fcb7d9a96070902",
      "parents": [
        "3d222bbaa7329e8ef45129e1bd6801000d7e05e4"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sat Jun 04 11:26:00 2011 +0200"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Thu Jun 09 20:40:38 2011 +0200"
      },
      "message": "batman-adv: Use enums for related constants\n\nCodingStyle \"Chapter 12: Macros, Enums and RTL\" recommends to use enums\nfor several related constants. Internal states can be used without\ndefining the actual value, but all values which are visible to the\noutside must be defined as before. Normal values are assigned as usual\nand flags are defined by shifts of a bit.\n\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "0bb857511b6a1572ad15dfd7f23d79587d7e2781",
      "tree": "6eb43658148c45033ba4f57f7ccb02add30262d9",
      "parents": [
        "f5d33d37786af139cecde5af831d64a671bb756b"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Thu May 19 21:43:08 2011 +0200"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Mon May 30 07:39:35 2011 +0200"
      },
      "message": "batman-adv: Check type of x and y in seq_(before|after)\n\nseq_before and seq_after depend on the fact that both sequence numbers\nhave the same type and thus the same bitwidth. We can ensure that by\ncompile time checking using a compare between the pointer to the\ntemporary buffers which were created using the typeof of both\nparameters. For example gcc would create a warning like\n\"warning: comparison of distinct pointer types lacks a cast\".\n\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "f5d33d37786af139cecde5af831d64a671bb756b",
      "tree": "6978df634a520e574fbd10ec62c980d3079fdcd3",
      "parents": [
        "728cbc6ac1eef89660875c70a602c1a0ba8df4ff"
      ],
      "author": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Wed May 18 09:20:50 2011 +0200"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Mon May 30 07:39:35 2011 +0200"
      },
      "message": "batman-adv: move smallest_signed_int(), seq_before() and seq_after() into main.h\n\nsmallest_signed_int(), seq_before() and seq_after() are very useful\nfunctions that help to handle comparisons between sequence numbers.\nHowever they were only defined in vis.c. With this patch every\nbatman-adv function will be able to use them.\n\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "747e4221a03cde62402b614ca1f8e961b8416130",
      "tree": "98428064fef191a5093e276d5a779b9e801a97f0",
      "parents": [
        "38e3c5f0dae7a3bbb32c3b2bb28c3f2557d40fe9"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sat May 14 23:14:50 2011 +0200"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Mon May 30 07:39:31 2011 +0200"
      },
      "message": "batman-adv: Add const type qualifier for pointers\n\nbatman-adv uses pointers which are marked as const and should not\nviolate that type qualifier by passing it to functions which force a\ncast to the non-const version.\n\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "d3a547be40008be590c169ff2d5d73cc7fada71d",
      "tree": "f844701c2a50e5f7e3138efa94f60d1622ae1ae0",
      "parents": [
        "1b38bed562317701760b84cad12749985ceffb8b"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sat May 14 23:14:46 2011 +0200"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Mon May 30 07:39:29 2011 +0200"
      },
      "message": "batman-adv: Annotate functions with format strings\n\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "6e215fd8eb4930373d01da0fac16a0889804fac3",
      "tree": "1a729ac6d586e4e7394276055c79e9f1ccb256f7",
      "parents": [
        "2dafb49d84a9195193b28ac5047df1bbab6053b9"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sun May 08 12:45:45 2011 +0200"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sun May 08 16:10:42 2011 +0200"
      },
      "message": "batman-adv: Remove multiline comments from line ending\n\nIt is slightly irritating that comments after a long line span over\nmultiple lines without any code. It is easier to put them before the\nactual code and reduce the number of lines which the eye has to read.\n\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "2dafb49d84a9195193b28ac5047df1bbab6053b9",
      "tree": "cb3a9a77496257c54ce9fb61c4ff08743a98dc31",
      "parents": [
        "01df2b65e97735547ce37844f4134b5ea99b4037"
      ],
      "author": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Thu May 05 08:42:45 2011 +0200"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sun May 08 16:10:42 2011 +0200"
      },
      "message": "batman-adv: rename everything from *hna* into *tt* (translation table)\n\nTo be coherent, all the functions/variables/constants have been renamed\nto the TranslationTable style\n\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "5f657ec0d2103571a31707711926b443a27b0c66",
      "tree": "573b6740dffb1ad7891d6e04027e12c038e6bd28",
      "parents": [
        "b5a6f69c5ca024bea43496d517c3b7ccfdb084a6"
      ],
      "author": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Wed Apr 20 09:52:56 2011 +0200"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sun May 01 22:49:03 2011 +0200"
      },
      "message": "batman-adv: Move definition of atomic_dec_not_zero() into main.h\n\natomic_dec_not_zero() is very useful and it is currently defined\nmultiple times. So it is possible to move it in main.h\n\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "4389e47af856635eb17d03b2572a50576c12db24",
      "tree": "988fbbd883f5c8691d2bf100656e723e54073c0a",
      "parents": [
        "d0072609baebaffb522083d367f4f195187f60f8"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Fri Feb 18 12:33:19 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:52:05 2011 +0100"
      },
      "message": "batman-adv: rename global if_list to hardif_list\n\nBatman-adv works with \"hard interfaces\" as well as \"soft interfaces\".\nThe new name should better make clear which kind of interfaces this\nlist stores.\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "39901e716275da4e831b40f9e45a1b61d6a776dc",
      "tree": "a7db25062f0e3df9b7f878adaeda8aadd5644181",
      "parents": [
        "9e0b33c221f1364e4d7562177a918eef8e85317a"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Fri Feb 18 12:28:08 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:50:14 2011 +0100"
      },
      "message": "batman-adv: separate ethernet comparing calls from hash functions\n\nNote: The function compare_ether_addr() provided by the Linux kernel\nrequires aligned memory.\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "64afe35398269577ef9809474dd7dc0e5d265176",
      "tree": "ea50beef8d6eadf653c66f513d5cee1a5d98d7c2",
      "parents": [
        "1299bdaa1cb522de940d912f661bef59b9a39dd7"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Thu Jan 27 10:38:15 2011 +0100"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Mon Jan 31 14:57:12 2011 +0100"
      },
      "message": "batman-adv: Update copyright years\n\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "335f94c981248e9f326986e0ac8d31f187ffeed0",
      "tree": "3351430bfd0c99b55d362a5c22543a4742161e67",
      "parents": [
        "633979b43f23d776f6fb757f0f3d6d8089ab57b1"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Thu Jan 27 13:12:04 2011 +0100"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Mon Jan 31 14:57:10 2011 +0100"
      },
      "message": "batman-adv: Remove unused definitions\n\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "aa0adb1a85e159cf57f0e11282bc6c9e3606a5f3",
      "tree": "19406bf80804801e85cf0182f5037ddfc656465e",
      "parents": [
        "ed7809d9c41b514115ddffaa860694393c2016b3"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sat Jan 15 14:39:43 2011 +0000"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sun Jan 16 03:25:19 2011 +0100"
      },
      "message": "batman-adv: Use \"__attribute__\" shortcut macros\n\nLinux 2.6.21 defines different macros for __attribute__ which are also\nused inside batman-adv. The next version of checkpatch.pl warns about\nthe usage of __attribute__((packed))).\n\nLinux 2.6.33 defines an extra macro __always_unused which is used to\nassist source code analyzers and can be used to removed the last\nexisting __attribute__ inside the source code.\n\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "c6c8fea29769d998d94fcec9b9f14d4b52b349d3",
      "tree": "2c8dc8d1a64d48c5737a5745e3c510ff53a23047",
      "parents": [
        "b236da6931e2482bfe44a7865dd4e7bb036f3496"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Mon Dec 13 11:19:28 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 16 13:44:24 2010 -0800"
      },
      "message": "net: Add batman-adv meshing protocol\n\nB.A.T.M.A.N. (better approach to mobile ad-hoc networking) is a routing\nprotocol for multi-hop ad-hoc mesh networks. The networks may be wired or\nwireless. See http://www.open-mesh.org/ for more information and user space\ntools.\n\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ]
}
