)]}'
{
  "commit": "dbf498fbafa2c23139d5a990e94ed78bafbbea19",
  "tree": "723a2ed4575ab2178cbd210d85a19d5c968a95a1",
  "parents": [
    "9bdd3a6bf8513a0a9eda031d15b36e4677854243"
  ],
  "author": {
    "name": "Javier Cardona",
    "email": "javier@cozybit.com",
    "time": "Sat Mar 31 11:31:32 2012 -0700"
  },
  "committer": {
    "name": "John W. Linville",
    "email": "linville@tuxdriver.com",
    "time": "Tue Apr 10 15:20:31 2012 -0400"
  },
  "message": "mac80211: Implement mesh synchronization framework\n\nThis patch adds MBSS extensible synchronization framework (Sec.\n13.13.2 of IEEE Std. 802.11-2012).\n\nThe framework is implemented via an ops table which defines the\nfollowing functions:\n\n    rx_bcn_presp() - this is called every time a mesh beacon is\nreceived.\n    adjust_tbtt() - this is called immediately before a beacon is about\nto be transmitted.\n\nThe default neighbor offset synchronization defined in the standard is\nimplemented.  We also provide template functions for vendor specific\nmethods.\n\nWhen neighbor offset synchronization is active (which is the default)\nmesh neighbors in the same MBSS will track timing offsets to each other\nand compensate clock drift.\n\nIn our tests we observed that this mesh synchronization implementation\nsuccessfully corrected drifts between stations of ~2PPM while\nintroducing a jitter of ~20us.\n\nIt is also possible to test this framework on mac80211_hwsim simulated\nphys to see how it behaves under different topologies, over poor links,\netc.\n\nSigned-off-by: Marco Porsch \u003cmarco.porsch@s2005.tu-chemnitz.de\u003e\nSigned-off-by: Pavel Zubarev \u003cpavel.zubarev@gmail.com\u003e\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "09301b0768d080065bfe496a80007e212ab283d0",
      "old_mode": 33188,
      "old_path": "include/linux/ieee80211.h",
      "new_id": "db84e2f6b289ea61642846b0e9ece12361b7f7c7",
      "new_mode": 33188,
      "new_path": "include/linux/ieee80211.h"
    },
    {
      "type": "modify",
      "old_id": "96ddb72760b9652bce8ab7e87ef5f62de6d2bffb",
      "old_mode": 33188,
      "old_path": "net/mac80211/Kconfig",
      "new_id": "8d249d70598048741157faff91ca28c7389e4591",
      "new_mode": 33188,
      "new_path": "net/mac80211/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "1be7a454aa77b6c6de370d44c84f2ccdb64ee53a",
      "old_mode": 33188,
      "old_path": "net/mac80211/Makefile",
      "new_id": "3e9d931bba3542a884d1892ecf7e464435b7516a",
      "new_mode": 33188,
      "new_path": "net/mac80211/Makefile"
    },
    {
      "type": "modify",
      "old_id": "6d45804d09bc0a26ef9025c8751355ffebd13b8f",
      "old_mode": 33188,
      "old_path": "net/mac80211/debugfs_sta.c",
      "new_id": "ceeefd42410373419744b8fc83f2feed945d041d",
      "new_mode": 33188,
      "new_path": "net/mac80211/debugfs_sta.c"
    },
    {
      "type": "modify",
      "old_id": "8e7af7cee013fa27555b5b8b74cc3167d7e663e2",
      "old_mode": 33188,
      "old_path": "net/mac80211/ieee80211_i.h",
      "new_id": "ea9623cbd969e5fda81a30678241767feccfd877",
      "new_mode": 33188,
      "new_path": "net/mac80211/ieee80211_i.h"
    },
    {
      "type": "modify",
      "old_id": "b05fa9ef866cb9d78733f067f7706df9732f610d",
      "old_mode": 33188,
      "old_path": "net/mac80211/mesh.c",
      "new_id": "386dbca1eab32b0a45beecae52afa4b7d917fdde",
      "new_mode": 33188,
      "new_path": "net/mac80211/mesh.c"
    },
    {
      "type": "modify",
      "old_id": "3e52439ed1129879f976f8721a78ac351da1d27c",
      "old_mode": 33188,
      "old_path": "net/mac80211/mesh.h",
      "new_id": "fa7d9704c1756268a98e8cba7a625c6c11a70eb9",
      "new_mode": 33188,
      "new_path": "net/mac80211/mesh.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f78b0139856f8df34232c26a8e2f9f2ff4d50fec",
      "new_mode": 33188,
      "new_path": "net/mac80211/mesh_sync.c"
    },
    {
      "type": "modify",
      "old_id": "b1b4b1413c74c5a64660f7a339ffe2f7e385bf96",
      "old_mode": 33188,
      "old_path": "net/mac80211/sta_info.h",
      "new_id": "f75f5d9ac06d9491de6b74e674ed0dbd80cac4c3",
      "new_mode": 33188,
      "new_path": "net/mac80211/sta_info.h"
    },
    {
      "type": "modify",
      "old_id": "e0b89780b47271eea52b9687a6927208b04e2364",
      "old_mode": 33188,
      "old_path": "net/mac80211/tx.c",
      "new_id": "daab5adeb93c154506b73c79dbd0ae1277e88e84",
      "new_mode": 33188,
      "new_path": "net/mac80211/tx.c"
    }
  ]
}
