)]}'
{
  "log": [
    {
      "commit": "ed3f2e40f3d438f4a1ec0a898173116cb26f106a",
      "tree": "f50e1c5f5f3511539084d9529e592e3fb0352607",
      "parents": [
        "fb699dfd426a189fe33b91586c15176a75c8aed0",
        "bd6b4442ff3cee73f73987cf0c0e66ea677aa075"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 02:47:13 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 02:47:13 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "0c3adfb8ec9f85a63556b70f11e0fcf280545951",
      "tree": "20e23bfa4fb94e7eb9f8e4128e493eaf83b2dbd0",
      "parents": [
        "022c3f7d82f0f1c68018696f2f027b87b9bb45c2"
      ],
      "author": {
        "name": "Gilad Ben-Yossef",
        "email": "gilad@codefidence.com",
        "time": "Wed Oct 28 04:15:23 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 01:28:42 2009 -0700"
      },
      "message": "Add dst_feature to query route entry features\n\nAdding an accessor to existing  dst_entry feautres field and\nrefactor the only supported feature (allfrag) to use it.\n\nSigned-off-by: Gilad Ben-Yossef \u003cgilad@codefidence.com\u003e\nSigend-off-by: Ori Finkelman \u003cori@comsleep.com\u003e\nSigend-off-by: Yony Amit \u003cyony@comsleep.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "022c3f7d82f0f1c68018696f2f027b87b9bb45c2",
      "tree": "ca46c372d815e46f488ec348ae427d34d1f6079e",
      "parents": [
        "f55017a93f1a74d50244b1254b9a2bd7ac9bbf7d"
      ],
      "author": {
        "name": "Gilad Ben-Yossef",
        "email": "gilad@codefidence.com",
        "time": "Wed Oct 28 04:15:22 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 01:28:41 2009 -0700"
      },
      "message": "Allow tcp_parse_options to consult dst entry\n\nWe need tcp_parse_options to be aware of dst_entry to\ntake into account per dst_entry TCP options settings\n\nSigned-off-by: Gilad Ben-Yossef \u003cgilad@codefidence.com\u003e\nSigend-off-by: Ori Finkelman \u003cori@comsleep.com\u003e\nSigend-off-by: Yony Amit \u003cyony@comsleep.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "23289a37e2b127dfc4de1313fba15bb4c9f0cd5b",
      "tree": "209edb2cb43dedb97477e1297873ada4759a1066",
      "parents": [
        "9b5e383c11b08784eb0087617f880077982ef769"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Oct 27 07:06:36 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 28 02:22:07 2009 -0700"
      },
      "message": "net: add a list_head parameter to dellink() method\n\nAdding a list_head parameter to rtnl_link_ops-\u003edellink() methods\nallow us to queue devices on a list, in order to dismantle\nthem all at once.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e36e49f7338f0f73cd7f5ba4f5b646a479ab60a8",
      "tree": "afd17ce1fb0c79e89bf481f781fb7ef82759741c",
      "parents": [
        "88499ab3d8dbbf9c080416952603742666c71262"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Tue Oct 13 20:33:13 2009 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 27 16:48:21 2009 -0400"
      },
      "message": "mac80211: add ieee80211_rx_ni()\n\nieee80211_rx() must be called with bottom halves disabled. To simplify\ndriver development implement ieee80211_rx_ni() which disables BH. This\nfunction must be used when in process context.\n\nSigned-off-by: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ce470613cdfde70f25419cc52a4816315825f5d9",
      "tree": "0b5d002515bdf4fc34452eb836c57278f27a826b",
      "parents": [
        "b54853f1b157a173fe5ac9145623670c66a9e7b9"
      ],
      "author": {
        "name": "Holger Schurig",
        "email": "hs4233@mail.mn-solutions.de",
        "time": "Tue Oct 13 13:28:13 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 27 16:48:16 2009 -0400"
      },
      "message": "cfg80211: no cookies in cfg80211_send_XXX()\n\nGet rid of cookies in cfg80211_send_XXX() functions.\n\nSigned-off-by: Holger Schurig \u003chs4233@mail.mn-solutions.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cfadf853f6cd9689f79a63ca960c6f9d6665314f",
      "tree": "35418e342d9783f0974ea33ef03875aa21d2362a",
      "parents": [
        "05423b241311c9380b7280179295bac7794281b6",
        "f568a926a353d6816b3704d7367f34371df44ce7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 27 01:03:26 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 27 01:03:26 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/sh_eth.c\n"
    },
    {
      "commit": "7c28bd0b8ec4d128bd7660671d1b626b0abc471f",
      "tree": "dbde8ba53e2059dbd6cb19aca18133b33112ddf5",
      "parents": [
        "8d5b2c084d2e71587e30a6ef528a8a8051e59dcd"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sat Oct 24 06:13:17 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Oct 24 06:13:17 2009 -0700"
      },
      "message": "rtnetlink: speedup rtnl_dump_ifinfo()\n\nWhen handling large number of netdevice, rtnl_dump_ifinfo()\nis very slow because it has O(N^2) complexity.\n\nInstead of scanning one single list, we can use the 256 sub lists\nof the dev_index hash table.\n\nThis considerably speedups \"ip link\" operations\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ef9a9d1183b36fbf3de327f44596533b770c3005",
      "tree": "64a3431233a9c99fe471570aa2ce660e5beaf8ad",
      "parents": [
        "b37b62fea1d1bf68ca51818f8eb1035188efd030"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 23 17:51:26 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Oct 24 06:07:55 2009 -0700"
      },
      "message": "ipv6 sit: RCU conversion phase I\n\nSIT tunnels use one rwlock to protect their prl entries.\n\nThis first patch adds RCU locking for prl management,\nwith standard call_rcu() calls.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1c55d62e77fa16cdace417834fc7b8a421a1877f",
      "tree": "24a9a8775beb7b7b0cc8b9d1fba2406ef9bf0643",
      "parents": [
        "188586b28deda2dd4888a306cb6202cc6f408103"
      ],
      "author": {
        "name": "jamal",
        "email": "hadi@cyberus.ca",
        "time": "Thu Oct 15 03:09:18 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 22 21:56:42 2009 -0700"
      },
      "message": "pkt_sched: skbedit add support for setting mark\n\nThis adds support for setting the skb mark.\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea94ff3b55188df157a8740bdf3976a87563d705",
      "tree": "a124cd047f8ed18c27aace29eafd2b343575857a",
      "parents": [
        "f04c8276248d3dd3e15a9a72f9711ba5e4069049"
      ],
      "author": {
        "name": "Krishna Kumar",
        "email": "krkumar2@in.ibm.com",
        "time": "Mon Oct 19 23:46:45 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 20 18:55:46 2009 -0700"
      },
      "message": "net: Fix for dst_negative_advice\n\ndst_negative_advice() should check for changed dst and reset\nsk_tx_queue_mapping accordingly. Pass sock to the callers of\ndst_negative_advice.\n\n(sk_reset_txq is defined just for use by dst_negative_advice. The\nonly way I could find to get around this is to move dst_negative_()\nfrom dst.h to dst.c, include sock.h in dst.c, etc)\n\nSigned-off-by: Krishna Kumar \u003ckrkumar2@in.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e022f0b4a03f4fff9323b509df023b8af635716e",
      "tree": "f287633fd72c4f70882b768836101acff7d1bc62",
      "parents": [
        "748879776e3b738d53e64df6dbec7394b829462a"
      ],
      "author": {
        "name": "Krishna Kumar",
        "email": "krkumar2@in.ibm.com",
        "time": "Mon Oct 19 23:46:20 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 20 18:55:45 2009 -0700"
      },
      "message": "net: Introduce sk_tx_queue_mapping\n\nIntroduce sk_tx_queue_mapping; and functions that set, test and\nget this value. Reset sk_tx_queue_mapping to -1 whenever the dst\ncache is set/reset, and in socket alloc. Setting txq to -1 and\nusing valid txq\u003d\u003c0 to n-1\u003e allows the tx path to use the value\nof sk_tx_queue_mapping directly instead of subtracting 1 on every\ntx.\n\nSigned-off-by: Krishna Kumar \u003ckrkumar2@in.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "abf90cca9725bd05362fb3443ad55071a69a12d9",
      "tree": "4bf6b9ded03dd0a7489bd143f7f40cc445ea034b",
      "parents": [
        "b6b39e8f3fbbb31001b836afec87bcaf4811a7bf"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Oct 18 22:48:51 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 20 01:13:26 2009 -0700"
      },
      "message": "net: Fix struct inet_timewait_sock bitfield annotation\n\ncommit 9e337b0f (net: annotate inet_timewait_sock bitfields)\nadded 4/8 bytes in struct inet_timewait_sock.\n\nFix this by declaring tw_ipv6_offset in the \u0027flags\u0027 bitfield\nThe 14 bits hole is named tw_pad to make it cleary apparent.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "748879776e3b738d53e64df6dbec7394b829462a",
      "tree": "421cb23434aec4ad99e8223e984423697a029847",
      "parents": [
        "d19742fb1c68e6db83b76e06dea5a374c99e104f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Oct 20 01:09:17 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 20 01:09:17 2009 -0700"
      },
      "message": "net: Avoid compiler warning for mmsghdr when CONFIG_COMPAT is not selected\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb2ff967a587a4a784fd2390f38e324a5bec01ec",
      "tree": "63deb9023b47287a7fad08465f7c75a5c41e29fc",
      "parents": [
        "2ad9afbf5ca27482aa275de517261d56fd1e7ba0"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Wed Oct 07 22:50:40 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 18 21:32:01 2009 -0700"
      },
      "message": "xfrm: remove skb_icv_walk\n\nThe last users of skb_icv_walk are converted to ahash now,\nso skb_icv_walk is unused and can be removed.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2ad9afbf5ca27482aa275de517261d56fd1e7ba0",
      "tree": "d93778400bf46842c2b8ad246d8aed0692058d21",
      "parents": [
        "8631e9bdfea189b2e5efe3b03825cc24ebb6cfb7"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Wed Oct 07 22:49:57 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 18 21:32:00 2009 -0700"
      },
      "message": "ah: Remove obsolete code\n\nah4 and ah6 are converted to ahash now, so we can remove the\ncode for the obsolete hash algorithm.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "49cbf952488e7fa2f1160c80016e09e6c2854b24",
      "tree": "ef83643af4a84531bc09807172879e11d64a2da0",
      "parents": [
        "2395f0e862aadf7d82d5a95cb2e8fdade8d7970d"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Wed Oct 07 22:47:16 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 18 21:31:58 2009 -0700"
      },
      "message": "ah: Add struct crypto_ahash to ah_data\n\nTo support for ahash algorithms, we add a pointer to a\ncrypto_ahash to ah_data.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c720c7e8383aff1cb219bddf474ed89d850336e3",
      "tree": "4f12337e6690fccced376db9f501eaf98614a65e",
      "parents": [
        "988ade6b8e27e79311812f83a87b5cea11fabcd7"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 15 06:30:45 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 18 18:52:53 2009 -0700"
      },
      "message": "inet: rename some inet_sock fields\n\nIn order to have better cache layouts of struct sock (separate zones\nfor rx/tx paths), we need this preliminary patch.\n\nGoal is to transfert fields used at lookup time in the first\nread-mostly cache line (inside struct sock_common) and move sk_refcnt\nto a separate cache line (only written by rx path)\n\nThis patch adds inet_ prefix to daddr, rcv_saddr, dport, num, saddr,\nsport and id fields. This allows a future patch to define these\nfields as macros, like sk_refcnt, without name clashes.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f062f41d06575744b9eaf725eef8a5d3b5f5b7ca",
      "tree": "1ee1c966a2810c1f2a7274a51dba0387861efc68",
      "parents": [
        "55748ac0468134a89bc55aed6a9691e320caa8a9"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Wed Oct 14 00:48:29 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 14 15:04:17 2009 -0700"
      },
      "message": "Phonet: routing table Netlink interface\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "55748ac0468134a89bc55aed6a9691e320caa8a9",
      "tree": "8a8856b6fe6f6b36148f87dfaec2e30d79eb028b",
      "parents": [
        "f14001fcd7bd03983c872810a3b11af4148bae72"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Wed Oct 14 00:48:28 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 14 15:04:16 2009 -0700"
      },
      "message": "Phonet: routing table backend\n\nThe Phonet \"universe\" only has 64 addresses, so we keep a trivial flat\nrouting table.\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f14001fcd7bd03983c872810a3b11af4148bae72",
      "tree": "11b283fe73d751f584d34b684fbfcb077c37f096",
      "parents": [
        "67ca0e5fa884f483d655ef19f22ad8509138dd3e"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Wed Oct 14 00:48:27 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 14 15:04:15 2009 -0700"
      },
      "message": "Phonet: deliver broadcast packets to broadcast sockets\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "421355de876b9f3fcc7e4cb6026e416fb12a5068",
      "tree": "fb814456af86c75e1eb9e330994dda461fc5b4f7",
      "parents": [
        "aace495933a981274b6491d71b915165a61defdc",
        "0fe7463a35aadfaf22d1ca58325ab3851b8d757c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 13 12:55:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 13 12:55:20 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "417c5233dbe35ffd6fa9e53754773f73690e1ce3",
      "tree": "1cfcbeddd1f91d5811de67dcb86f060d194ad6f5",
      "parents": [
        "91cd1756cbbe9ba8772e6a5908f20cee56019c0d",
        "c49de94a56f02768fa881cd7cbf58907910ceb8e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 13 11:41:34 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 13 11:41:34 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "f373b53b5fe67aa4a6f28f921a529cc90f88e79b",
      "tree": "b2cae9152aed2e30b7a39c114678b9355ab5c14f",
      "parents": [
        "c3faca053d0a9c877597935b434150b422dbc6fb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 09 00:16:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 13 03:44:02 2009 -0700"
      },
      "message": "tcp: replace ehash_size by ehash_mask\n\nStoring the mask (size - 1) instead of the size allows fast path to be\na bit faster.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a2e2725541fad72416326798c2d7fa4dafb7d337",
      "tree": "6174be11da607e83eb8efb3775114ad4d6e0ca3a",
      "parents": [
        "c05e85a06e376f6b6d59e71e5333d707e956d78b"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Oct 12 23:40:10 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 12 23:40:10 2009 -0700"
      },
      "message": "net: Introduce recvmmsg socket syscall\n\nMeaning receive multiple messages, reducing the number of syscalls and\nnet stack entry/exit operations.\n\nNext patches will introduce mechanisms where protocols that want to\noptimize this operation will provide an unlocked_recvmsg operation.\n\nThis takes into account comments made by:\n\n. Paul Moore: sock_recvmsg is called only for the first datagram,\n  sock_recvmsg_nosec is used for the rest.\n\n. Caitlin Bestler: recvmmsg now has a struct timespec timeout, that\n  works in the same fashion as the ppoll one.\n\n  If the underlying protocol returns a datagram with MSG_OOB set, this\n  will make recvmmsg return right away with as many datagrams (+ the OOB\n  one) it has received so far.\n\n. Rémi Denis-Courmont \u0026 Steven Whitehouse: If we receive N \u003c vlen\n  datagrams and then recvmsg returns an error, recvmmsg will return\n  the successfully received datagrams, store the error and return it\n  in the next call.\n\nThis paves the way for a subsequent optimization, sk_prot-\u003eunlocked_recvmsg,\nwhere we will be able to acquire the lock only at batch start and end, not at\nevery underlying recvmsg call.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b885787ea4112eaa80945999ea0901bf742707f",
      "tree": "06fc15f8e8083d5652ccb4d06653d9812dce9c0b",
      "parents": [
        "d5e63bded6e819ca77ee1a1d97c783a31f6caf30"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Mon Oct 12 13:26:31 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 12 13:26:31 2009 -0700"
      },
      "message": "net: Generalize socket rx gap / receive queue overflow cmsg\n\nCreate a new socket level option to report number of queue overflows\n\nRecently I augmented the AF_PACKET protocol to report the number of frames lost\non the socket receive queue between any two enqueued frames.  This value was\nexported via a SOL_PACKET level cmsg.  AFter I completed that work it was\nrequested that this feature be generalized so that any datagram oriented socket\ncould make use of this option.  As such I\u0027ve created this patch, It creates a\nnew SOL_SOCKET level option called SO_RXQ_OVFL, which when enabled exports a\nSOL_SOCKET level cmsg that reports the nubmer of times the sk_receive_queue\noverflowed between any two given frames.  It also augments the AF_PACKET\nprotocol to take advantage of this new feature (as it previously did not touch\nsk-\u003esk_drops, which this patch uses to record the overflow count).  Tested\nsuccessfully by me.\n\nNotes:\n\n1) Unlike my previous patch, this patch simply records the sk_drops value, which\nis not a number of drops between packets, but rather a total number of drops.\nDeltas must be computed in user space.\n\n2) While this patch currently works with datagram oriented protocols, it will\nalso be accepted by non-datagram oriented protocols. I\u0027m not sure if thats\nagreeable to everyone, but my argument in favor of doing so is that, for those\nprotocols which aren\u0027t applicable to this option, sk_drops will always be zero,\nand reporting no drops on a receive queue that isn\u0027t used for those\nnon-participating protocols seems reasonable to me.  This also saves us having\nto code in a per-protocol opt in mechanism.\n\n3) This applies cleanly to net-next assuming that commit\n977750076d98c7ff6cbda51858bb5a5894a9d9ab (my af packet cmsg patch) is reverted\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d20ef63d32461332958661df73e21c0ca42601b0",
      "tree": "b63f50f6086cacd9597490459f9febe289ba8c0d",
      "parents": [
        "edbfdcceb41c0cbfc1dd2cd28af2272190be47ad"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Oct 11 15:10:40 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Oct 12 15:55:53 2009 -0400"
      },
      "message": "mac80211: document ieee80211_rx() context requirement\n\nieee80211_rx() must be called with softirqs disabled\nsince the networking stack requires this for netif_rx()\nand some code in mac80211 can assume that it can not\nbe processing its own tasklet and this call at the same\ntime.\n\nIt may be possible to remove this requirement after a\ncareful audit of mac80211 and doing any needed locking\nimprovements in it along with disabling softirqs around\nnetif_rx(). An alternative might be to push all packet\nprocessing to process context in mac80211, instead of\nto the tasklet, and add other synchronisation.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5fdb9973c10c2d2e046da0976782ece25e78dc8b",
      "tree": "6b3b8309595e49173d935ed95e71fcc2788d4e24",
      "parents": [
        "53f7e35f8b7fc2f5620a863ac613bcf3080cb6ba"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 08 22:50:25 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 11 23:03:52 2009 -0700"
      },
      "message": "net: Fix struct sock bitfield annotation\n\nSince commit a98b65a3 (net: annotate struct sock bitfield), we lost\n8 bytes in struct sock on 64bit arches because of\nkmemcheck_bitfield_end(flags) misplacement.\n\nFix this by putting together sk_shutdown, sk_no_check, sk_userlocks,\nsk_protocol and sk_type in the \u0027flags\u0027 32bits bitfield\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8aa0f64ac3835a6daf84d0b0e07c4c01d7d8eddc",
      "tree": "e5e6cc8637a44354997624f26d4d55834c9915b4",
      "parents": [
        "cd7e1f0b056c071860db65c847a854b3093d6606",
        "eab2ec83dbf0e32e28f3108f302ffdaa225d4cce"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 09 14:40:09 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 09 14:40:09 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "f86dcc5aa8c7908f2c287e7a211228df599e3e71",
      "tree": "1721c94d0254b337b0668b2e331771dfef4b142d",
      "parents": [
        "8a6dfd43d1891882f8ca05d73aa7735fb0edae3b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Oct 07 00:37:59 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 07 22:00:22 2009 -0700"
      },
      "message": "udp: dynamically size hash tables at boot time\n\nUDP_HTABLE_SIZE was initialy defined to 128, which is a bit small for\nseveral setups.\n\n4000 active UDP sockets -\u003e 32 sockets per chain in average. An\nincoming frame has to lookup all sockets to find best match, so long\nchains hurt latency.\n\nInstead of a fixed size hash table that cant be perfect for every\nneeds, let UDP stack choose its table size at boot time like tcp/ip\nroute, using alloc_large_system_hash() helper\n\nAdd an optional boot parameter, uhash_entries\u003dx so that an admin can\nforce a size between 256 and 65536 if needed, like thash_entries and\nrhash_entries.\n\ndmesg logs two new lines :\n[    0.647039] UDP hash table entries: 512 (order: 0, 4096 bytes)\n[    0.647099] UDP Lite hash table entries: 512 (order: 0, 4096 bytes)\n\nMaximal size on 64bit arches would be 65536 slots, ie 1 MBytes for non\ndebugging spinlocks.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dfce95f51fe34fa18c87a7d0bea53594b9bf1b9a",
      "tree": "2a5ad730134289b6a792af8a2cbd9d1aa3507f55",
      "parents": [
        "4890e3beddfb4a6859c4bb782c9cd05dd94ead82"
      ],
      "author": {
        "name": "Kalle Valo",
        "email": "kalle.valo@nokia.com",
        "time": "Thu Sep 24 11:02:42 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 07 16:39:46 2009 -0400"
      },
      "message": "cfg80211: add firmware and hardware version to wiphy\n\nIt\u0027s useful to provide firmware and hardware version to user space and have a\ngeneric interface to retrieve them. Users can provide the version information\nin bug reports etc.\n\nAdd fields for firmware and hardware version to struct wiphy.\n\n(Dropped nl80211 bits for now and modified remaining bits in favor of\nethtool. -- JWL)\n\nCc: Kalle Valo \u003ckalle.valo@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3d23e349d807177eaf519d444677cee86b1a04cf",
      "tree": "e800dee247598e59185ddd2dd47d2ac6fe090b9c",
      "parents": [
        "bc974f4a230756faf4f69114f271de2e678b363b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Sep 29 23:27:28 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 07 16:39:43 2009 -0400"
      },
      "message": "wext: refactor\n\nRefactor wext to\n * split out iwpriv handling\n * split out iwspy handling\n * split out procfs support\n * allow cfg80211 to have wireless extensions compat code\n   w/o CONFIG_WIRELESS_EXT\n\nAfter this, drivers need to\n - select WIRELESS_EXT\t- for wext support\n - select WEXT_PRIV\t- for iwpriv support\n - select WEXT_SPY\t- for iwspy support\n\nexcept cfg80211 -- which gets new hooks in wext-core.c\nand can then get wext handlers without CONFIG_WIRELESS_EXT.\n\nWireless extensions procfs support is auto-selected\nbased on PROC_FS and anything that requires the wext core\n(i.e. WIRELESS_EXT or CFG80211_WEXT).\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ec1b4cf74c81bfd0fbe5bf62bafc86c45917e72f",
      "tree": "1b693e4e027f3e42224e6221ae018daeb562e5e1",
      "parents": [
        "f7734fdf61ec6bb848e0bafc1fb8bad2c124bb50"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Oct 05 05:58:39 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 07 01:10:46 2009 -0700"
      },
      "message": "net: mark net_proto_ops as const\n\nAll usages of structure net_proto_ops should be declared const.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d250a5f90e53f5e150618186230795352d154c88",
      "tree": "1c95ec673ce613f346db300d3f5539f018066081",
      "parents": [
        "92d326f61b553250780786e9dd8609d4b32f8de7"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 02 10:32:18 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 07 01:07:42 2009 -0700"
      },
      "message": "pkt_sched: gen_estimator: Dont report fake rate estimators\n\nJarek Poplawski a écrit :\n\u003e\n\u003e\n\u003e Hmm... So you made me to do some \"real\" work here, and guess what?:\n\u003e there is one serious checkpatch warning! ;-) Plus, this new parameter\n\u003e should be added to the function description. Otherwise:\n\u003e Signed-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\n\u003e\n\u003e Thanks,\n\u003e Jarek P.\n\u003e\n\u003e PS: I guess full \"Don\u0027t\" would show we really mean it...\n\nOkay :) Here is the last round, before the night !\n\nThanks again\n\n[RFC] pkt_sched: gen_estimator: Don\u0027t report fake rate estimators\n\nWe currently send TCA_STATS_RATE_EST elements to netlink users, even if no estimator\nis running.\n\n# tc -s -d qdisc\nqdisc pfifo_fast 0: dev eth0 root bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1\n Sent 112833764978 bytes 1495081739 pkt (dropped 0, overlimits 0 requeues 0)\n rate 0bit 0pps backlog 0b 0p requeues 0\n\nUser has no way to tell if the \"rate 0bit 0pps\" is a real estimation, or a fake\none (because no estimator is active)\n\nAfter this patch, tc command output is :\n$ tc -s -d qdisc\nqdisc pfifo_fast 0: dev eth0 root bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1\n Sent 561075 bytes 1196 pkt (dropped 0, overlimits 0 requeues 0)\n backlog 0b 0p requeues 0\n\nWe add a parameter to gnet_stats_copy_rate_est() function so that\nit can use gen_estimator_active(bstats, r), as suggested by Jarek.\n\nThis parameter can be NULL if check is not necessary, (htb for\nexample has a mandatory rate estimator)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fa857afcf77da669eb6b7031ec07ad14b912c307",
      "tree": "3dcc3899a968e2e21f912442ebfb4cac46f93a0c",
      "parents": [
        "ee5e81f00051b5c373c8de16e3604fd6d3be699e"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki / 吉藤英明",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Sep 22 23:43:14 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 07 01:07:37 2009 -0700"
      },
      "message": "ipv6 sit: 6rd (IPv6 Rapid Deployment) Support.\n\nIPv6 Rapid Deployment (6rd; draft-ietf-softwire-ipv6-6rd) builds upon\nmechanisms of 6to4 (RFC3056) to enable a service provider to rapidly\ndeploy IPv6 unicast service to IPv4 sites to which it provides\ncustomer premise equipment.  Like 6to4, it utilizes stateless IPv6 in\nIPv4 encapsulation in order to transit IPv4-only network\ninfrastructure.  Unlike 6to4, a 6rd service provider uses an IPv6\nprefix of its own in place of the fixed 6to4 prefix.\n\nWith this option enabled, the SIT driver offers 6rd functionality by\nproviding additional ioctl API to configure the IPv6 Prefix for in\nstead of static 2002::/16 for 6to4.\n\nOriginal patch was done by Alexandre Cassen \u003cacassen@freebox.fr\u003e\nbased on old Internet-Draft.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bcdce7195e0eab55b37dbd53be53057f38006380",
      "tree": "b4480a2e43561adf2060d1b8da818535cc91dc04",
      "parents": [
        "bd32cafc4707ccc1e66fafdb47fac42217569070"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Oct 06 17:28:29 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 06 17:28:29 2009 -0700"
      },
      "message": "net: speedup sk_wake_async()\n\nAn incoming datagram must bring into cpu cache *lot* of cache lines,\nin particular : (other parts omitted (hash chains, ip route cache...))\n\nOn 32bit arches :\n\noffsetof(struct sock, sk_rcvbuf)       \u003d0x30    (read)\noffsetof(struct sock, sk_lock)         \u003d0x34   (rw)\n\noffsetof(struct sock, sk_sleep)        \u003d0x50 (read)\noffsetof(struct sock, sk_rmem_alloc)   \u003d0x64   (rw)\noffsetof(struct sock, sk_receive_queue)\u003d0x74   (rw)\n\noffsetof(struct sock, sk_forward_alloc)\u003d0x98   (rw)\n\noffsetof(struct sock, sk_callback_lock)\u003d0xcc    (rw)\noffsetof(struct sock, sk_drops)        \u003d0xd8 (read if we add dropcount support, rw if frame dropped)\noffsetof(struct sock, sk_filter)       \u003d0xf8    (read)\n\noffsetof(struct sock, sk_socket)       \u003d0x138 (read)\n\noffsetof(struct sock, sk_data_ready)   \u003d0x15c   (read)\n\n\nWe can avoid sk-\u003esk_socket and socket-\u003efasync_list referencing on sockets\nwith no fasync() structures. (socket-\u003efasync_list ptr is probably already in cache\nbecause it shares a cache line with socket-\u003ewait, ie location pointed by sk-\u003esk_sleep)\n\nThis avoids one cache line load per incoming packet for common cases (no fasync())\n\nWe can leave (or even move in a future patch) sk-\u003esk_socket in a cold location\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0bfbedb14a8a96c529341bec88991a92b41fac72",
      "tree": "d52ccb4758fd58cbf74c7a9001e6885275d3ddc8",
      "parents": [
        "16c6cf8bb471392fd09b48b7c27e7d83a446b4bc"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 05 00:11:22 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 05 00:21:57 2009 -0700"
      },
      "message": "tunnels: Optimize tx path\n\nWe currently dirty a cache line to update tunnel device stats\n(tx_packets/tx_bytes). We better use the txq-\u003etx_bytes/tx_packets\ncounters that already are present in cpu cache, in the cache\nline shared with txq-\u003e_xmit_lock\n\nThis patch extends IPTUNNEL_XMIT() macro to use txq pointer\nprovided by the caller.\n\nAlso \u0026tunnel-\u003edev-\u003estats can be replaced by \u0026dev-\u003estats\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "16c6cf8bb471392fd09b48b7c27e7d83a446b4bc",
      "tree": "6b7c83c37314b54508f6a37613c33610e388d85b",
      "parents": [
        "977750076d98c7ff6cbda51858bb5a5894a9d9ab"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Sun Sep 20 10:35:36 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 05 00:21:56 2009 -0700"
      },
      "message": "ipv4: fib table algorithm performance improvement\n\nThe FIB algorithim for IPV4 is set at compile time, but kernel goes through\nthe overhead of function call indirection at runtime. Save some\ncycles by turning the indirect calls to direct calls to either\nhash or trie code.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7058842c940ad2c08dd829b21e5c92ebe3b8758",
      "tree": "5fe78d599fc345ca0bcd4b083b79095a54b2921b",
      "parents": [
        "eb1cf0f8f7a9e5a6d573d5bd72c015686a042db0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "message": "net: Make setsockopt() optlen be unsigned.\n\nThis provides safety against negative optlen at the type\nlevel instead of depending upon (sometimes non-trivial)\nchecks against this sprinkled all over the the place, in\neach and every implementation.\n\nBased upon work done by Arjan van de Ven and feedback\nfrom Linus Torvalds.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f1546cadf7ac5e9a40d54089a1c7302264ec49b",
      "tree": "31f77528caf2b87cbafd9292d6e73e9da361cdec",
      "parents": [
        "8503bd8c7dc6f82ec2de9d05e0a476e6ca5adc8b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Sep 28 15:26:43 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 28 16:55:07 2009 -0400"
      },
      "message": "wext: add back wireless/ dir in sysfs for cfg80211 interfaces\n\nThe move away from having drivers assign wireless handlers,\nin favour of making cfg80211 assign them, broke the sysfs\nregistration (the wireless/ dir went missing) because the\nhandlers are now assigned only after registration, which is\ntoo late.\n\nFix this by special-casing cfg80211-based devices, all\nof which are required to have an ieee80211_ptr, in the\nsysfs code, and also using get_wireless_stats() to have\nthe same values reported as in procfs.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nReported-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nTested-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d1f8297a96b0d70f17704296a6666468f2087ce6",
      "tree": "308ecb282fcaf98439918c13178a2dc326bc8eb0",
      "parents": [
        "7eaf5077b37bb33dbd44e569ff88566d6fe286e9"
      ],
      "author": {
        "name": "Sascha Hlusiak",
        "email": "contact@saschahlusiak.de",
        "time": "Sat Sep 26 20:28:07 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Sep 26 20:28:07 2009 -0700"
      },
      "message": "Revert \"sit: stateless autoconf for isatap\"\n\nThis reverts commit 645069299a1c7358cf7330afe293f07552f11a5d.\n\nWhile the code does not actually break anything, it does not completely follow\nRFC5214 yet. After talking back with Fred L. Templin, I agree that completing the\nISATAP specific RS/RA code, would pollute the kernel a lot with code that is better\nimplemented in userspace.\n\nThe kernel should not send RS packages for ISATAP at all.\n\nSigned-off-by: Sascha Hlusiak \u003ccontact@saschahlusiak.de\u003e\nAcked-by: Fred L. Templin \u003cFred.L.Templin@boeing.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a43912ab1925788765208da5cd664b6f8e011d08",
      "tree": "6f522dba1fd414b7da3999fa2da062d80a550874",
      "parents": [
        "edf42a27e8e242e543716663e54aa2b592ea070a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Sep 23 10:28:33 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 24 15:39:22 2009 -0700"
      },
      "message": "tunnel: eliminate recursion field\n\nIt seems recursion field from \"struct ip_tunnel\" is not anymore needed.\nrecursion prevention is done at the upper level (in dev_queue_xmit()),\nsince we use HARD_TX_LOCK protection for tunnels.\n\nThis avoids a cache line ping pong on \"struct ip_tunnel\" : This structure\nshould be now mostly read on xmit and receive paths.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d65af789f3e2cf4cfbdbf71a0f7a61ebcd41d38",
      "tree": "121df3bfffc7853ac6d2c514ad514d4a748a0933",
      "parents": [
        "c0d0787b6d47d9f4d5e8bd321921104e854a9135"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Sep 23 15:57:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:21:04 2009 -0700"
      },
      "message": "sysctl: remove \"struct file *\" argument of -\u003eproc_handler\n\nIt\u0027s unused.\n\nIt isn\u0027t needed -- read or write flag is already passed and sysctl\nshouldn\u0027t care about the rest.\n\nIt _was_ used in two places at arch/frv for some reason.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "60e78d2c993e58d890596d951fff77d5965adcd6",
      "tree": "3d53ed7254c613ef8d8de36fdceda25bc493f4f7",
      "parents": [
        "637d020a02cd734bf27acfc56c6d942cddd9eb80"
      ],
      "author": {
        "name": "Abhishek Kulkarni",
        "email": "adkulkar@umail.iu.edu",
        "time": "Wed Sep 23 13:00:27 2009 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@strongmad.austin.ibm.com",
        "time": "Wed Sep 23 13:03:46 2009 -0500"
      },
      "message": "9p: Add fscache support to 9p\n\nThis patch adds a persistent, read-only caching facility for\n9p clients using the FS-Cache caching backend.\n\nWhen the fscache facility is enabled, each inode is associated\nwith a corresponding vcookie which is an index into the FS-Cache\nindexing tree. The FS-Cache indexing tree is indexed at 3 levels:\n- session object associated with each mount.\n- inode/vcookie\n- actual data (pages)\n\nA cache tag is chosen randomly for each session. These tags can\nbe read off /sys/fs/9p/caches and can be passed as a mount-time\nparameter to re-attach to the specified caching session.\n\nSigned-off-by: Abhishek Kulkarni \u003cadkulkar@umail.iu.edu\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "926e61b7c44db83013159ac2f74bccd451607b5a",
      "tree": "512b532e22d4374948e0d149902304edfbef7e25",
      "parents": [
        "ca519274d537706b6fb1e3e91238d34a23320584"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Tue Sep 15 02:53:07 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 15 02:53:07 2009 -0700"
      },
      "message": "pkt_sched: Fix tx queue selection in tc_modify_qdisc\n\nAfter the recent mq change there is the new select_queue qdisc class\nmethod used in tc_modify_qdisc, but it works OK only for direct child\nqdiscs of mq qdisc. Grandchildren always get the first tx queue, which\nwould give wrong qdisc_root etc. results (e.g. for sch_htb as child of\nsch_prio). This patch fixes it by using parent\u0027s dev_queue for such\ngrandchildren qdiscs. The select_queue method\u0027s return type is changed\nBTW.\n\nWith feedback from: Patrick McHardy \u003ckaber@trash.net\u003e\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "75c78500ddad74b229cd0691496b8549490496a2",
      "tree": "5249219d68627421e4717c4e8f03f8b4bbad2e92",
      "parents": [
        "481a8199142c050b72bff8a1956a49fd0a75bbe0"
      ],
      "author": {
        "name": "Moni Shoua",
        "email": "monis@voltaire.com",
        "time": "Tue Sep 15 02:37:40 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 15 02:37:40 2009 -0700"
      },
      "message": "bonding: remap muticast addresses without using dev_close() and dev_open()\n\nThis patch fixes commit e36b9d16c6a6d0f59803b3ef04ff3c22c3844c10. The approach\nthere is to call dev_close()/dev_open() whenever the device type is changed in\norder to remap the device IP multicast addresses to HW multicast addresses.\nThis approach suffers from 2 drawbacks:\n\n*. It assumes tha the device is UP when calling dev_close(), or otherwise\n   dev_close() has no affect. It is worth to mention that initscripts (Redhat)\n   and sysconfig (Suse) doesn\u0027t act the same in this matter. \n*. dev_close() has other side affects, like deleting entries from the routing\n   table, which might be unnecessary.\n\nThe fix here is to directly remap the IP multicast addresses to HW multicast\naddresses for a bonding device that changes its type, and nothing else.\n   \nReported-by:   Jason Gunthorpe \u003cjgunthorpe@obsidianresearch.com\u003e\nSigned-off-by: Moni Shoua \u003cmonis@voltaire.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0b6a05c1dbebe8c616e2e5b0f52b7a01fd792911",
      "tree": "18b5a2d16ac3fa8dd6d4528469725c216aed428c",
      "parents": [
        "036d6a673fa0a2e2c5b72a3b1d1b86114c1711c0"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Sep 15 01:30:10 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 15 01:30:10 2009 -0700"
      },
      "message": "tcp: fix ssthresh u16 leftover\n\nIt was once upon time so that snd_sthresh was a 16-bit quantity.\n...That has not been true for long period of time. I run across\nsome ancient compares which still seem to trust such legacy.\nPut all that magic into a single place, I hopefully found all\nof them.\n\nCompile tested, though linking of allyesconfig is ridiculous\nnowadays it seems.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "41135cc836a1abeb12ca1416bdb29e87ad021153",
      "tree": "01c402f2fb9ac494dc3655a17e92072b170b7c1f",
      "parents": [
        "32613090a96dba2ca2cc524c8d4749d3126fdde5"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 14 12:22:28 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 14 17:03:05 2009 -0700"
      },
      "message": "net: constify struct inet6_protocol\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "32613090a96dba2ca2cc524c8d4749d3126fdde5",
      "tree": "5e0e5f9097aca737e8a7356eb1b72e53539cda0b",
      "parents": [
        "e4c57d0f964cdbe278ed6b3bf632138fe575267e"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 14 12:21:47 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 14 17:03:01 2009 -0700"
      },
      "message": "net: constify struct net_protocol\n\nRemove long removed \"inet_protocol_base\" declaration.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a0da0d19c573e01aded6ac17747d2efc5b1115f",
      "tree": "76294327bae4b3e45b16c690bda4b24951f237cf",
      "parents": [
        "ec282e9225be924479d4880b51f13524795bd8d3",
        "8a56df0ae1690f8f42a3c6c4532f4b06f93febea"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 10 18:17:09 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 10 18:17:09 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n"
    },
    {
      "commit": "23bcf634c8bc0d84607a5b863333191d58baee4c",
      "tree": "bc988ab6230bebf47e1dc22db70f94901ac2eeb5",
      "parents": [
        "ea6a634ef7f0ab1d1f48ba0ad4f50e96d6065312"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Sep 09 18:11:23 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 09 18:11:23 2009 -0700"
      },
      "message": "net_sched: fix estimator lock selection for mq child qdiscs\n\nWhen new child qdiscs are attached to the mq qdisc, they are actually\nattached as root qdiscs to the device queues. The lock selection for\nnew estimators incorrectly picks the root lock of the existing and\nto be replaced qdisc, which results in a use-after-free once the old\nqdisc has been destroyed.\n\nMark mq qdisc instances with a new flag and treat qdiscs attached to\nmq as children similar to regular root qdiscs.\n\nAdditionally prevent estimators from being attached to the mq qdisc\nitself since it only updates its byte and packet counters during dumps.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ec1c69a8f6492fd25722f4762721921da074c12",
      "tree": "a78323d1f7f84acbe08c25d7300b935ae4bb7c62",
      "parents": [
        "589983cd21f4a2e4ed74a958805a90fa676845c5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 06 01:58:51 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 06 02:07:05 2009 -0700"
      },
      "message": "net_sched: add classful multiqueue dummy scheduler\n\nThis patch adds a classful dummy scheduler which can be used as root qdisc\nfor multiqueue devices and exposes each device queue as a child class.\n\nThis allows to address queues individually and graft them similar to regular\nclasses. Additionally it presents an accumulated view of the statistics of\nall real root qdiscs in the dummy root.\n\nTwo new callbacks are added to the qdisc_ops and qdisc_class_ops:\n\n- cl_ops-\u003eselect_queue selects the tx queue number for new child classes.\n\n- qdisc_ops-\u003eattach() overrides root qdisc device grafting to attach\n  non-shared qdiscs to the queues.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "589983cd21f4a2e4ed74a958805a90fa676845c5",
      "tree": "21ce556958da203400d3e9d30911ff330be39e90",
      "parents": [
        "af356afa010f3cd2c8b8fcc3bce90f7a7b7ec02a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 04 06:41:20 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 06 02:07:05 2009 -0700"
      },
      "message": "net_sched: move dev_graft_qdisc() to sch_generic.c\n\nIt will be used in a following patch by the multiqueue qdisc.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9237ccbc0b22b5aa5396463ba0b14dc5efe5b98c",
      "tree": "ac6aed9bc6a832b0d17895a55039bc6ba65100c7",
      "parents": [
        "723884339f90a9c420783135168cc1045750eb5d"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Fri Sep 04 14:33:19 2009 +0800"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:02 2009 -0400"
      },
      "message": "sctp: turn flags in \u0027struct sctp_association\u0027 into bit fields\n\nThis shrinks the size of struct sctp_association a little.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "723884339f90a9c420783135168cc1045750eb5d",
      "tree": "c8538602e56f2310470b0970bf121a1000313401",
      "parents": [
        "8da645e101a8c20c6073efda3c7cc74eec01b87f"
      ],
      "author": {
        "name": "Bhaskar Dutta",
        "email": "bhaskie@gmail.com",
        "time": "Thu Sep 03 17:25:47 2009 +0530"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:01 2009 -0400"
      },
      "message": "sctp: Sysctl configuration for IPv4 Address Scoping\n\nThis patch introduces a new sysctl option to make IPv4 Address Scoping\nconfigurable \u003cdraft-stewart-tsvwg-sctp-ipv4-00.txt\u003e.\n\nIn networking environments where DNAT rules in iptables prerouting\nchains convert destination IP\u0027s to link-local/private IP addresses,\nSCTP connections fail to establish as the INIT chunk is dropped by the\nkernel due to address scope match failure.\nFor example to support overlapping IP addresses (same IP address with\ndifferent vlan id) a Layer-5 application listens on link local IP\u0027s,\nand there is a DNAT rule that maps the destination IP to a link local\nIP. Such applications never get the SCTP INIT if the address-scoping\ndraft is strictly followed.\n\nThis sysctl configuration allows SCTP to function in such\nunconventional networking environments.\n\nSysctl options:\n0 - Disable IPv4 address scoping draft altogether\n1 - Enable IPv4 address scoping (default, current behavior)\n2 - Enable address scoping but allow IPv4 private addresses in init/init-ack\n3 - Enable address scoping but allow IPv4 link local address in init/init-ack\n\nSigned-off-by: Bhaskar Dutta \u003cbhaskar.dutta@globallogic.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "a803c942303e6a4ef0ab6b80114529852cffa058",
      "tree": "d1da47a93ef1683957256a582ed2fcb27d3e9a4b",
      "parents": [
        "4007cc88ceec8892b74792f0a10983b140beae72"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:01 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:01 2009 -0400"
      },
      "message": "sctp: Turn flags in \u0027sctp_packet\u0027 into bit fields\n\nThis shrinks the size of sctp_packet a little.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "f68b2e05f326971cd76c65aa91a1a41771dd7485",
      "tree": "2940d83f3787570cc030791378ee23b89b941662",
      "parents": [
        "cb95ea32a457871f72752164de8d94fa20f4703c"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:00 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:00 2009 -0400"
      },
      "message": "sctp: Fix SCTP_MAXSEG socket option to comply to spec.\n\nWe had a bug that we never stored the user-defined value for\nMAXSEG when setting the value on an association.  Thus future\nPMTU events ended up re-writing the frag point and increasing\nit past user limit.  Additionally, when setting the option on\nthe socket/endpoint, we effect all current associations, which\nis against spec.\n\nNow, we store the user \u0027maxseg\u0027 value along with the computed\n\u0027frag_point\u0027.  We inherit \u0027maxseg\u0027 from the socket at association\ncreation and use it as an upper limit for \u0027frag_point\u0027 when its\nset.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "cb95ea32a457871f72752164de8d94fa20f4703c",
      "tree": "0a419cdc3fe5e7e2d5fa5036a40d93a4bb6aac42",
      "parents": [
        "b29e7907288554db9c987c36facfd0304ee8ff5a"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:59 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:59 2009 -0400"
      },
      "message": "sctp: Don\u0027t do NAGLE delay on large writes that were fragmented small\n\nSCTP will delay the last part of a large write due to NAGLE, if that\npart is smaller then MTU.  Since we are doing large writes, we might\nas well send the last portion now instead of waiting untill the next\nlarge write happens.  The small portion will be sent as is regardless,\nso it\u0027s better to not delay it.\n\nThis is a result of much discussions with Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nand Doug Graham \u003cdgraham@nortel.com\u003e.  Many thanks go out to them.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "4d3c46e6833208428d366630aa708f6876e61fc1",
      "tree": "cb5f57a90a261b7443d202d96cf5725dbba371c8",
      "parents": [
        "33ce828131ca6655b48bd2070dadd80f816dfe0d"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:59 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:59 2009 -0400"
      },
      "message": "sctp: drop a_rwnd to 0 when receive buffer overflows.\n\nSCTP has a problem that when small chunks are used, it is possible\nto exhaust the receiver buffer without fully closing receive window.\nThis happens due to all overhead that we have account for with small\nmessages.  To fix this, when receive buffer is exceeded, we\u0027ll drop\nthe window to 0 and save the \u0027drop\u0027 portion.  When application starts\nreading data and freeing up recevie buffer space, we\u0027ll wait until\nwe\u0027ve reached the \u0027drop\u0027 window and then add back this \u0027drop\u0027 one\nmtu at a time.  This worked well in testing and under stress produced\nrather even recovery.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "9c5c62be2f794c7cee533d856f9f34c3cf21ff1b",
      "tree": "e81bcc703cedf4e667b91504b5cf9e8e01ffb6a5",
      "parents": [
        "5d7ff261ef497c62f54c39effc259910a28b313d"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Aug 10 13:51:03 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:57 2009 -0400"
      },
      "message": "sctp: Send user messages to the lower layer as one\n\nCurrenlty, sctp breaks up user messages into fragments and\nsends each fragment to the lower layer by itself.  This means\nthat for each fragment we go all the way down the stack\nand back up.  This also discourages bundling of multiple\nfragments when they can fit into a sigle packet (ex: due\nto user setting a low fragmentation threashold).\n\nWe introduce a new command SCTP_CMD_SND_MSG and hand the\nwhole message down state machine.  The state machine and\nthe side-effect parser will cork the queue, add all chunks\nfrom the message to the queue, and then un-cork the queue\nthus causing the chunks to get transmitted.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "bec9640bb0d451813b1bb1f2cc13a5bfb17c3e48",
      "tree": "8c44f18560570c7200eed1a92cd0d9fab6c2a4f2",
      "parents": [
        "af87b823ca2b05257192e8d48dc686db6173d7b2"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Thu Jul 30 18:08:28 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:56 2009 -0400"
      },
      "message": "sctp: Disallow new connection on a closing socket\n\nIf a socket has a lot of association that are in the process of\nof being closed/aborted, it is possible for a remote to establish\nnew associations during the time period that the old ones are shutting\ndown.  If this was a result of a close() call, there will be no socket\nand will cause a memory leak.  We\u0027ll prevent this by setting the\nsocket state to CLOSING and disallow new associations when in this state.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "b4e8c6a7e6caa9c80edcbfb78fc50962b792d5f0",
      "tree": "426cfc5240b6a1d6d49b4f504b359c2d2648a0fa",
      "parents": [
        "40187886bc31aee9c5c6f08f46cde4ab618e9736"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "rosenrami@gmail.com",
        "time": "Thu Jul 30 09:38:43 2009 +0300"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:55 2009 -0400"
      },
      "message": "sctp: remove unused union (sctp_cmsg_data_t) definition\n\nThis patch removes an unused union definition (sctp_cmsg_data_t)\nfrom include/net/sctp/user.h.\n\nSigned-off-by: Rami Rosen \u003crosenrami@gmail.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "aa1330766c49199bdab4d4a9096d98b072df9044",
      "tree": "98787478dbef0faa7caee09c4996abcda723a608",
      "parents": [
        "05c6a8d7a7d778f26d8eb821556988993b766092"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Sep 02 23:45:45 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 23:45:45 2009 -0700"
      },
      "message": "tcp: replace hard coded GFP_KERNEL with sk_allocation\n\nThis fixed a lockdep warning which appeared when doing stress\nmemory tests over NFS:\n\n\tinconsistent {RECLAIM_FS-ON-W} -\u003e {IN-RECLAIM_FS-W} usage.\n\n\tpage reclaim \u003d\u003e nfs_writepage \u003d\u003e tcp_sendmsg \u003d\u003e lock sk_lock\n\n\tmount_root \u003d\u003e nfs_root_data \u003d\u003e tcp_close \u003d\u003e lock sk_lock \u003d\u003e\n\t\t\ttcp_send_fin \u003d\u003e alloc_skb_fclone \u003d\u003e page reclaim\n\nDavid raised a concern that if the allocation fails in tcp_send_fin(), and it\u0027s\nGFP_ATOMIC, we are going to yield() (which sleeps) and loop endlessly waiting\nfor the allocation to succeed.\n\nBut fact is, the original GFP_KERNEL also sleeps. GFP_ATOMIC+yield() looks\nweird, but it is no worse the implicit sleep inside GFP_KERNEL. Both could\nloop endlessly under memory pressure.\n\nCC: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nCC: David S. Miller \u003cdavem@davemloft.net\u003e\nCC: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e59af3dcbdf11635c03f22bfc9706744465d589",
      "tree": "c01e87c0ef6568bae987f4628a8656ba0d05aa23",
      "parents": [
        "5848cc096a23b80b3d15c27d72299f79caf7c517"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Sep 02 18:03:00 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 18:03:00 2009 -0700"
      },
      "message": "vlan: multiqueue vlan device\n\nvlan devices are currently not multi-queue capable.\n\nWe can do that with a new rtnl_link_ops method,\nget_tx_queues(), called from rtnl_create_link()\n\nThis new method gets num_tx_queues/real_num_tx_queues\nfrom real device.\n\nregister_vlan_device() is also handled.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b401a81c0d50ea9c718cf837f62cc2e6e79cc30",
      "tree": "cfb386a92521ae614fc8d76932461f26d14e9fa3",
      "parents": [
        "b2e4b3debc327a5b53d9622e0b1785eea2ea2aad"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Sep 01 19:25:04 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 01:03:49 2009 -0700"
      },
      "message": "inet: inet_connection_sock_af_ops const\n\nThe function block inet_connect_sock_af_ops contains no data\nmake it constant.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6cdee2f96a97f6da26bd3759c3f8823332fbb438",
      "tree": "ec79086f05ffc3bdf1aecc37e108ccfc3a95450d",
      "parents": [
        "0625491493d9000e4556bf566d205c28c8e7dc4e",
        "2fbd3da3877ad8d923b055e5996f80b4d4a6daf4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 00:32:56 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 00:32:56 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/yellowfin.c\n"
    },
    {
      "commit": "2fbd3da3877ad8d923b055e5996f80b4d4a6daf4",
      "tree": "7caa4ea3f3517d2f6b38142f64527c82b8e57b2e",
      "parents": [
        "d66ee0587c3927aea5178a822976c7c853d815fe"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 17:59:25 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 17:59:25 2009 -0700"
      },
      "message": "pkt_sched: Revert tasklet_hrtimer changes.\n\nThese are full of unresolved problems, mainly that conversions don\u0027t\nwork 1-1 from hrtimers to tasklet_hrtimers because unlike hrtimers\ntasklets can\u0027t be killed from softirq context.\n\nAnd when a qdisc gets reset, that\u0027s exactly what we need to do here.\n\nWe\u0027ll work this out in the net-next-2.6 tree and if warranted we\u0027ll\nbackport that work to -stable.\n\nThis reverts the following 3 changesets:\n\na2cb6a4dd470d7a64255a10b843b0d188416b78f\n(\"pkt_sched: Fix bogon in tasklet_hrtimer changes.\")\n\n38acce2d7983632100a9ff3fd20295f6e34074a8\n(\"pkt_sched: Convert CBQ to tasklet_hrtimer.\")\n\nee5f9757ea17759e1ce5503bdae2b07e48e32af9\n(\"pkt_sched: Convert qdisc_watchdog to tasklet_hrtimer\")\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "89d69d2b75a8f7e258f4b634cd985374cfd3202e",
      "tree": "2f01d6ae1844c92ef09160ad1966edee34ee2d8a",
      "parents": [
        "dcbfef820bdd1cdb412ccf234840e23edf67014f"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Sep 01 11:13:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 17:40:57 2009 -0700"
      },
      "message": "net: make neigh_ops constant\n\nThese tables are never modified at runtime. Move to read-only\nsection.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5152fc7de3ae31b46692022ea63ce0501280f5b1",
      "tree": "44aff7228b23b90ab42e0afea7178104b231d885",
      "parents": [
        "72c60683282a6cd047db47d605eb96e2a6fac72c"
      ],
      "author": {
        "name": "Damian Lukowski",
        "email": "damian@tvk.rwth-aachen.de",
        "time": "Tue Sep 01 10:24:00 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 17:40:47 2009 -0700"
      },
      "message": "RTO connection timeout: coding style fixes and comments\n\nThis patch affects the retransmits_timed_out() function.\n\nChanges:\n1) Variables have more meaningful names\n2) retransmits_timed_out() has an introductionary comment.\n3) Small coding style changes.\n\nSigned-off-by: Damian Lukowski \u003cdamian@tvk.rwth-aachen.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "86393e52c3f1e2f6be18383f6ecdbcdc5727d545",
      "tree": "f5c688c0cb5292143478249f807c4b2372f69dfd",
      "parents": [
        "885a136c52a8871175477baf3903e1c38751b35a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Aug 29 01:34:49 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 17:40:31 2009 -0700"
      },
      "message": "netns: embed ip6_dst_ops directly\n\nstruct net::ipv6.ip6_dst_ops is separatedly dynamically allocated,\nbut there is no fundamental reason for it. Embed it directly into\nstruct netns_ipv6.\n\nFor that:\n* move struct dst_ops into separate header to fix circular dependencies\n\tI honestly tried not to, it\u0027s pretty impossible to do other way\n* drop dynamical allocation, allocate together with netns\n\nFor a change, remove struct dst_ops::dst_net, it\u0027s deducible\nby using container_of() given dst_ops pointer.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6fa12c85031485dff38ce550c24f10da23b0adaa",
      "tree": "73f6cac32302ab99381f38505a5dbe930cb28e44",
      "parents": [
        "f1ecd5d9e7366609d640ff4040304ea197fbc618"
      ],
      "author": {
        "name": "Damian Lukowski",
        "email": "damian@tvk.rwth-aachen.de",
        "time": "Wed Aug 26 00:16:34 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 02:45:47 2009 -0700"
      },
      "message": "Revert Backoff [v3]: Calculate TCP\u0027s connection close threshold as a time value.\n\nRFC 1122 specifies two threshold values R1 and R2 for connection timeouts,\nwhich may represent a number of allowed retransmissions or a timeout value.\nCurrently linux uses sysctl_tcp_retries{1,2} to specify the thresholds\nin number of allowed retransmissions.\n\nFor any desired threshold R2 (by means of time) one can specify tcp_retries2\n(by means of number of retransmissions) such that TCP will not time out\nearlier than R2. This is the case, because the RTO schedule follows a fixed\npattern, namely exponential backoff.\n\nHowever, the RTO behaviour is not predictable any more if RTO backoffs can be\nreverted, as it is the case in the draft\n\"Make TCP more Robust to Long Connectivity Disruptions\"\n(http://tools.ietf.org/html/draft-zimmermann-tcp-lcd).\n\nIn the worst case TCP would time out a connection after 3.2 seconds, if the\ninitial RTO equaled MIN_RTO and each backoff has been reverted.\n\nThis patch introduces a function retransmits_timed_out(N),\nwhich calculates the timeout of a TCP connection, assuming an initial\nRTO of MIN_RTO and N unsuccessful, exponentially backed-off retransmissions.\n\nWhenever timeout decisions are made by comparing the retransmission counter\nto some value N, this function can be used, instead.\n\nThe meaning of tcp_retries2 will be changed, as many more RTO retransmissions\ncan occur than the value indicates. However, it yields a timeout which is\nsimilar to the one of an unpatched, exponentially backing off TCP in the same\nscenario. As no application could rely on an RTO greater than MIN_RTO, there\nshould be no risk of a regression.\n\nSigned-off-by: Damian Lukowski \u003cdamian@tvk.rwth-aachen.de\u003e\nAcked-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f1ecd5d9e7366609d640ff4040304ea197fbc618",
      "tree": "ef4901d52ad0d2555094998f02d08788e197c20a",
      "parents": [
        "4d1a2d9ec1c17df077ed09a0d135bccf5637a3b7"
      ],
      "author": {
        "name": "Damian Lukowski",
        "email": "damian@tvk.rwth-aachen.de",
        "time": "Wed Aug 26 00:16:31 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 02:45:42 2009 -0700"
      },
      "message": "Revert Backoff [v3]: Revert RTO on ICMP destination unreachable\n\nHere, an ICMP host/network unreachable message, whose payload fits to\nTCP\u0027s SND.UNA, is taken as an indication that the RTO retransmission has\nnot been lost due to congestion, but because of a route failure\nsomewhere along the path.\nWith true congestion, a router won\u0027t trigger such a message and the\npatched TCP will operate as standard TCP.\n\nThis patch reverts one RTO backoff, if an ICMP host/network unreachable\nmessage, whose payload fits to TCP\u0027s SND.UNA, arrives.\nBased on the new RTO, the retransmission timer is reset to reflect the\nremaining time, or - if the revert clocked out the timer - a retransmission\nis sent out immediately.\nBackoffs are only reverted, if TCP is in RTO loss recovery, i.e. if\nthere have been retransmissions and reversible backoffs, already.\n\nChanges from v2:\n1) Renaming of skb in tcp_v4_err() moved to another patch.\n2) Reintroduced tcp_bound_rto() and __tcp_set_rto().\n3) Fixed code comments.\n\nSigned-off-by: Damian Lukowski \u003cdamian@tvk.rwth-aachen.de\u003e\nAcked-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7114323b1761bdf787ed79323a4a13f787878295",
      "tree": "1865da7083d5d6129d2b3fcd66ebea6ff11f7856",
      "parents": [
        "0f6f290259896afdca30e1ff4a28aff8edd79a14"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Mon Aug 31 12:32:55 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 01:24:30 2009 -0700"
      },
      "message": "dcbnl: Add support for setapp/getapp to netdev dcbnl_rtnl_ops\n\nAdds support of dcbnl setapp/getapp to dcbnl_rtnl_ops in netdev to allow\nLLDs to implement their corresponding dcbnl setapp/getapp ops to support\nthe IEEE 802.1Q DCBX setapp/getapp commands.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nAcked-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b9caaabb995c6ff103e2457b9a36930b9699de7c",
      "tree": "5e2fd04c5eb07ae1373c5c64250056e902982fa8",
      "parents": [
        "fc57e515a2c02599b00d252545521288dfc0158a",
        "7e7430908c3ccaf71f0851050c8ccaf9ecfb3b56"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 30 21:30:39 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 30 21:30:39 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6\n"
    },
    {
      "commit": "df19a6267705456f463871ae2aabc44299909d2a",
      "tree": "59654abf9eb5dc58c9f8773dde5738b5bcb18312",
      "parents": [
        "5e9b2dbfcbc9b180a0064d8a473a4652ee99c9ad"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Aug 28 23:48:54 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 28 23:48:54 2009 -0700"
      },
      "message": "tcp: keepalive cleanups\n\nIntroduce keepalive_probes(tp) helper, and use it, like \nkeepalive_time_when(tp) and keepalive_intvl_when(tp)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "103bf9f7d35849bce52ad412e4da5063b0716969",
      "tree": "67712138dc332cc42f3cc69ab2db9dbb60b4b4e1",
      "parents": [
        "b0a4e7d8a291de63f35b04464de9ab4a83d38a7c"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 20 16:34:15 2009 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 28 14:40:29 2009 -0400"
      },
      "message": "mac80211: remove ieee80211_rx namespace hack\n\nWith the libipw naming scheme change, it is no longer necessary for\nmac80211 to avoid the ieee80211_rx name clash.\n\nReported-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b0a4e7d8a291de63f35b04464de9ab4a83d38a7c",
      "tree": "c95a79b15483070bf1ca92ddf7b7e9ba4d4af026",
      "parents": [
        "01a0ac417ce9b4f1216a266f2fd454cffefc5aee"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 20 14:48:03 2009 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 28 14:40:28 2009 -0400"
      },
      "message": "libipw: switch from ieee80211_* to libipw_* naming policy\n\nThis eliminates the dual definition of ieee80211_channel (and possibly\nothers), further clarifying who defines what and paving the way for\ninclusion of cfg80211.h.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2246b2f1b43f3fbd128e72b129dcbbd3202cc592",
      "tree": "edfe82ab47829bb320c41c04289e2a01f23fba56",
      "parents": [
        "ca42a613c92d131ff02d5714419d58c36c3459f3"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Wed Aug 26 04:04:02 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Aug 26 00:12:20 2009 -0700"
      },
      "message": "Bluetooth: Handle L2CAP case when the remote receiver is busy\n\nImplement all issues related to RemoteBusy in the RECV state table.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "3993832464dd4e14a4c926583a11f0fa92c1f0f0",
      "tree": "a84cdac586ee63e48f711ad93dec098ad84c1b6c",
      "parents": [
        "3a6c2b419b7768703cfb2cabdb894517c5065e33"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 25 16:07:58 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 25 16:07:58 2009 +0200"
      },
      "message": "netfilter: nfnetlink: constify message attributes and headers\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "3a6c2b419b7768703cfb2cabdb894517c5065e33",
      "tree": "d8d8dc9ad34ffdd2f0f56876e9d3b6f0e6d5eceb",
      "parents": [
        "74f7a6552c8d76ffc5e11eb8d9d6c07238b9ae77"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 25 16:07:40 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 25 16:07:40 2009 +0200"
      },
      "message": "netlink: constify nlmsghdr arguments\n\nConsitfy nlmsghdr arguments to a couple of functions as preparation\nfor the next patch, which will constify the netlink message data in\nall nfnetlink users.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "940917226260d6e029f55742a34a7d7810983c75",
      "tree": "871af506fa09aa2717c6c27307838f43993dabaf",
      "parents": [
        "9818f660f433b58e770cfeb2ee9566f7b42ca0ae",
        "929122cdd5d4c344e59f9b55f870a8fcf7aa0d27"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 23 19:19:30 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 23 19:19:30 2009 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan\n"
    },
    {
      "commit": "ee5f9757ea17759e1ce5503bdae2b07e48e32af9",
      "tree": "0625fdaf307890a0875981d28ecb77e7ddd96143",
      "parents": [
        "649bf17829d087f83754e2a8161e094a167ce3d3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 21 16:33:34 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 22 18:09:17 2009 -0700"
      },
      "message": "pkt_sched: Convert qdisc_watchdog to tasklet_hrtimer\n\nNone of this stuff should execute in hw IRQ context, therefore\nuse a tasklet_hrtimer so that it runs in softirq context.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "9e726b17422bade75fba94e625cd35fd1353e682",
      "tree": "af8cf616d9cbda12f51682dbb96e696f135be436",
      "parents": [
        "ef54fd937fbd5ebaeb023818524565bd526a5f36"
      ],
      "author": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.dentz@openbossa.org",
        "time": "Wed Jul 15 13:50:58 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 22 15:05:58 2009 -0700"
      },
      "message": "Bluetooth: Fix rejected connection not disconnecting ACL link\n\nWhen using DEFER_SETUP on a RFCOMM socket, a SABM frame triggers\nauthorization which when rejected send a DM response. This is fine\naccording to the RFCOMM spec:\n\n    the responding implementation may replace the \"proper\" response\n    on the Multiplexer Control channel with a DM frame, sent on the\n    referenced DLCI to indicate that the DLCI is not open, and that\n    the responder would not grant a request to open it later either.\n\nBut some stacks doesn\u0027t seems to cope with this leaving DLCI 0 open after\nreceiving DM frame.\n\nTo fix it properly a timer was introduced to rfcomm_session which is used\nto set a timeout when the last active DLC of a session is unlinked, this\nwill give the remote stack some time to reply with a proper DISC frame on\nDLCI 0 avoiding both sides sending DISC to each other on stacks that\nfollow the specification and taking care of those who don\u0027t by taking\ndown DLCI 0.\n\nSigned-off-by: Luiz Augusto von Dentz \u003cluiz.dentz@openbossa.org\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "ef54fd937fbd5ebaeb023818524565bd526a5f36",
      "tree": "c664288f00548b8c531ff44a0bc8c7f18542740e",
      "parents": [
        "8f17154f1f70fcc6faa31ac82164fcf7f0599f38"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Thu Aug 20 22:26:04 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 22 15:03:43 2009 -0700"
      },
      "message": "Bluetooth: Full support for receiving L2CAP SREJ frames\n\nSupport for receiving of SREJ frames as specified by the state table.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "8f17154f1f70fcc6faa31ac82164fcf7f0599f38",
      "tree": "f210dae590f600720b974d367082c368d03eac86",
      "parents": [
        "fcc203c30d72dde82692f6b761a80e5ca5fdd8fa"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Thu Aug 20 22:26:03 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 22 15:01:25 2009 -0700"
      },
      "message": "Bluetooth: Add support for L2CAP SREJ exception\n\nWhen L2CAP loses an I-frame we send a SREJ frame to the transmitter side\nrequesting the lost packet. This patch implement all Recv I-frame events\non SREJ_SENT state table except the ones that deal with SendRej (the REJ\nexception at receiver side is yet not implemented).\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "fcc203c30d72dde82692f6b761a80e5ca5fdd8fa",
      "tree": "04eb154db3be85574efe74542f528efb39abf5bb",
      "parents": [
        "6840ed0770d79b9bb0800e5e026a067040ef18f5"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Thu Aug 20 22:26:02 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 22 14:59:49 2009 -0700"
      },
      "message": "Bluetooth: Add support for FCS option to L2CAP\n\nImplement CRC16 check for L2CAP packets. FCS is used by Streaming Mode and\nEnhanced Retransmission Mode and is a extra check for the packet content.\n\nUsing CRC16 is the default, L2CAP won\u0027t use FCS only when both side send\na \"No FCS\" request.\n\nInitially based on a patch from Nathan Holstein \u003cnathan@lampreynetworks.com\u003e\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "e90bac061b17cd81bd0df30606c64f4543bf5ca0",
      "tree": "3529111fa5ba07bdd8ed9627d10d623f77416ace",
      "parents": [
        "30afb5b2aa83adf4f69e5090d48e1bb04b64c58a"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Thu Aug 20 22:26:00 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 22 14:56:15 2009 -0700"
      },
      "message": "Bluetooth: Add support for Retransmission and Monitor Timers\n\nL2CAP uses retransmission and monitor timers to inquiry the other side\nabout unacked I-frames. After sending each I-frame we (re)start the\nretransmission timer. If it expires, we start a monitor timer that send a\nS-frame with P bit set and wait for S-frame with F bit set. If monitor\ntimer expires, try again, at a maximum of L2CAP_DEFAULT_MAX_TX.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "30afb5b2aa83adf4f69e5090d48e1bb04b64c58a",
      "tree": "f47506c5f02b8e1d23123cadee49f518c928afa5",
      "parents": [
        "c74e560cd0101455f1889515e1527e4c2e266113"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Thu Aug 20 22:25:59 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 22 14:55:20 2009 -0700"
      },
      "message": "Bluetooth: Initial support for retransmission of packets with REJ frames\n\nWhen receiving an I-frame with unexpected txSeq, receiver side start the\nrecovery procedure by sending a REJ S-frame to the transmitter side. So\nthe transmitter can re-send the lost I-frame.\n\nThis patch just adds a basic support for retransmission, it doesn\u0027t\nmean that ERTM now has full support for packet retransmission.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "c74e560cd0101455f1889515e1527e4c2e266113",
      "tree": "a828b646b60578c1e90580da0d92e5d1ee7e7981",
      "parents": [
        "1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Thu Aug 20 22:25:58 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 22 14:53:58 2009 -0700"
      },
      "message": "Bluetooth: Add support for Segmentation and Reassembly of SDUs\n\nERTM should use Segmentation and Reassembly to break down a SDU in many\nPDUs on sending data to the other side.\n\nOn sending packets we queue all \u0027segments\u0027 until end of segmentation and\njust the add them to the queue for sending. On receiving we create a new\nSKB with the SDU reassembled.\n\nInitially based on a patch from Nathan Holstein \u003cnathan@lampreynetworks.com\u003e\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a",
      "tree": "c196f2acec0fa0ace48483ec99a691b4230f53d2",
      "parents": [
        "22121fc9152ca8f25a2d790860832ccb6a414c4d"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Thu Aug 20 22:25:57 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 22 14:53:01 2009 -0700"
      },
      "message": "Bluetooth: Add initial support for ERTM packets transfers\n\nThis patch adds support for ERTM transfers, without retransmission, with\ntxWindow up to 63 and with acknowledgement of packets received. Now the\npackets are queued before call l2cap_do_send(), so packets couldn\u0027t be\nsent at the time we call l2cap_sock_sendmsg(). They will be sent in\nan asynchronous way on later calls of l2cap_ertm_send(). Besides if an\nerror occurs on calling l2cap_do_send() we disconnect the channel.\n\nInitially based on a patch from Nathan Holstein \u003cnathan@lampreynetworks.com\u003e\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "f2fcfcd670257236ebf2088bbdf26f6a8ef459fe",
      "tree": "5bc6061e3b684ae545b24e2919ab43b711e04c4d",
      "parents": [
        "65c7c4918450f8c4545ccb02a9c7a3d77e073535"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Sat Jul 04 15:06:24 2009 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 22 14:50:07 2009 -0700"
      },
      "message": "Bluetooth: Add configuration support for ERTM and Streaming mode\n\nAdd support to config_req and config_rsp to configure ERTM and Streaming\nmode. If the remote device specifies ERTM or Streaming mode, then the\nsame mode is proposed. Otherwise ERTM or Basic mode is used. And in case\nof a state 2 device, the remote device should propose the same mode. If\nnot, then the channel gets disconnected.\n\nSigned-off-by: Gustavo F. Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "c6b03cf986eab00e20d0dbc852b233bb83472138",
      "tree": "94fe92aafca068e3eb1cd6f4c53a3c86801fe7e0",
      "parents": [
        "44dd46de325c4d47abfd1361e5d84a548edb8e42"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat May 02 22:31:10 2009 -0700"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 22 14:50:07 2009 -0700"
      },
      "message": "Bluetooth: Allow setting of L2CAP ERTM via socket option\n\nTo enable Enhanced Retransmission mode it needs to be set via a socket\noption. A different mode can be set on a socket, but on listen() and\nconnect() the mode is checked and ERTM is only allowed if it is enabled\nvia the module parameter.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "a6a67efd7088702fdbbb780c5a3f8e1a74e77b63",
      "tree": "fe35247ef5806ed690df3581de877fb84faad42b",
      "parents": [
        "5959809ded86e267c1a95fb44738a224c30d3434"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jul 26 08:18:19 2009 +0000"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 22 14:35:02 2009 -0700"
      },
      "message": "Bluetooth: Convert hdev-\u003ereq_lock to a mutex\n\nhdev-\u003ereq_lock is used as mutex so make it a mutex.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "9eba32b86d17ef87131fa0bce43c614904ab5781",
      "tree": "cd7e40a026475b7e4ddb8bdc944e75bc5a18c250",
      "parents": [
        "364f63519d94442ed373ac7da79033c8282df46a"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 22 14:19:26 2009 -0700"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Aug 22 14:19:26 2009 -0700"
      },
      "message": "Bluetooth: Add extra device reference counting for connections\n\nThe device model itself has no real usable reference counting at the\nmoment and this causes problems if parents are deleted before their\nchildren. The device model itself handles the memory details of this\ncorrectly, but the uevent order is not consistent. This causes various\nproblems for systems like HAL or even X.\n\nSo until device_put() does a proper cleanup, the device for Bluetooth\nconnection will be protected with an extra reference counting to ensure\nthe correct order of uevents when connections are terminated.\n\nThis is not an automatic feature. Higher Bluetooth layers like HIDP or\nBNEP should grab this new reference to ensure that their uevents are\nsend before the ones from the parent device.\n\nBased on a report by Brian Rogers \u003cbrian@xyzw.org\u003e\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "ad002395fd230528281083f4be71855ed7e35b04",
      "tree": "c2bccce17ad69dcfb454fe3a38ba68f0f210b5b5",
      "parents": [
        "21f8a73f829797eb7ebc12202b4c68e10e751ddb"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Aug 18 19:51:57 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 20 11:36:05 2009 -0400"
      },
      "message": "cfg80211: fix dangling scan request checking\n\nMy patch \"cfg80211: fix deadlock\" broke the code it\nwas supposed to fix, the scan request checking. But\nit\u0027s not trivial to put it back the way it was, since\nthe original patch had a deadlock.\n\nNow do it in a completely new way: queue the check\noff to a work struct, where we can freely lock. But\nthat has some more complications, like needing to\nwait for it to be done before the wiphy/rdev can be\ndestroyed, so some code is required to handle that.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f424afa17899408cbd267a4c4534ca6fc9d8f71c",
      "tree": "ef68af16e693231b6842767ecd2ad04ba341cd93",
      "parents": [
        "3ac64beecd27400d12cc7afb4108eef26c499f6a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Aug 17 16:18:07 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 20 11:35:58 2009 -0400"
      },
      "message": "mac80211: remove deprecated API\n\nAll but two drivers have now stopped using the two\ndeprecated members radio_enabled and beacon_int,\nso it\u0027s about time to remove them for good.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Kalle Valo \u003ckalle.valo@iki.fi\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3ac64beecd27400d12cc7afb4108eef26c499f6a",
      "tree": "da0220085f68e30fe61ba9b8833dc6311d6dc25e",
      "parents": [
        "ea416a793d2b611f22b42ba094fd2e5bd30fff43"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Aug 17 16:16:53 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 20 11:35:58 2009 -0400"
      },
      "message": "mac80211: allow configure_filter callback to sleep\n\nOver time, a whole bunch of drivers have come up\nwith their own scheme to delay the configure_filter\noperation to a workqueue. To be able to simplify\nthings, allow configure_filter to sleep, and add\na new prepare_multicast callback that drivers that\nneed the multicast address list implement. This new\ncallback must be atomic, but most drivers either\ndon\u0027t care or just calculate a hash which can be\ndone atomically and then uploaded to the hardware\nnon-atomically.\n\nA cursory look suggests that at76c50x-usb, ar9170,\nmwl8k (which is actually very broken now), rt2x00,\nwl1251, wl1271 and zd1211 should make use of this\nnew capability.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "16eea493da563b5a3356a77c6d8776dffc29d3b6",
      "tree": "6a6444442b8d7789d4c2fcb8ba990453969121fc",
      "parents": [
        "81f9510381ee43205564063f2e8650672b11d453"
      ],
      "author": {
        "name": "Dmitry Eremin-Solenikov",
        "email": "dbaryshkov@gmail.com",
        "time": "Wed Aug 19 19:32:24 2009 +0400"
      },
      "committer": {
        "name": "Dmitry Eremin-Solenikov",
        "email": "dbaryshkov@gmail.com",
        "time": "Wed Aug 19 23:08:22 2009 +0400"
      },
      "message": "ieee802154: add support for channel pages from IEEE 802.15.4-2006\n\nIEEE 802.15.4-2006 adds new concept: channel pages, which can contain several\nchannels. Add support for channel pages in the API and in the fakehard driver.\n\nSigned-off-by: Dmitry Eremin-Solenikov \u003cdbaryshkov@gmail.com\u003e\n"
    },
    {
      "commit": "2bfb1070ba1fdb8cbc2b0b9ff61a3b0701ab40de",
      "tree": "72b91a81b05f74fb62eeb4b4e918c36fe57c8f26",
      "parents": [
        "a0aea57786fe9c6b62b1a4f28409582520fa494f"
      ],
      "author": {
        "name": "Dmitry Eremin-Solenikov",
        "email": "dbaryshkov@gmail.com",
        "time": "Fri Aug 14 16:13:12 2009 +0400"
      },
      "committer": {
        "name": "Dmitry Eremin-Solenikov",
        "email": "dbaryshkov@gmail.com",
        "time": "Wed Aug 19 23:08:20 2009 +0400"
      },
      "message": "ieee802154: add a sysfs representation of WPAN master devices\n\nAdd a sysfs/in-kernel representation of LR-WPAN master devices.\n\nSigned-off-by: Dmitry Eremin-Solenikov \u003cdbaryshkov@gmail.com\u003e\n"
    },
    {
      "commit": "c1a8f1f1c8e01eab5862c8db39b49ace814e6c66",
      "tree": "0679f709f70d9a91850888636a28adb79940c402",
      "parents": [
        "c6ba973b8fa97422aab4204f7d79f1d413cde925"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Aug 16 09:36:49 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 17 21:33:49 2009 -0700"
      },
      "message": "net: restore gnet_stats_basic to previous definition\n\nIn 5e140dfc1fe87eae27846f193086724806b33c7d \"net: reorder struct Qdisc\nfor better SMP performance\" the definition of struct gnet_stats_basic\nchanged incompatibly, as copies of this struct are shipped to\nuserland via netlink.\n\nRestoring old behavior is not welcome, for performance reason.\n\nFix is to use a private structure for kernel, and\nteach gnet_stats_copy_basic() to convert from kernel to user land,\nusing legacy structure (struct gnet_stats_basic)\n\nBased on a report and initial patch from Michael Spang.\n\nReported-by: Michael Spang \u003cmspang@csclub.uwaterloo.ca\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "16cb9d42b68b339852e8914f2538ca9a2aec616c"
}
