)]}'
{
  "log": [
    {
      "commit": "b8f07a063163f8216cd891c5b007e839a56b6d93",
      "tree": "83cd31339371ab707d29e1275633baf4d3db2a65",
      "parents": [
        "c316e6a3084cef1a5857cd66bb5429c969f06c93"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Sun Jun 05 00:54:03 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 05 14:11:09 2011 -0700"
      },
      "message": "fix return values of l2tp_dfs_seq_open()\n\nMore fallout from struct net lifetime rules review: PTR_ERR() is *already*\nnegative and failing -\u003eopen() should return negatives on failure.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "06f4e926d256d902dd9a53dcb400fd74974ce087",
      "tree": "0b438b67f5f0eff6fd617bc497a9dace6164a488",
      "parents": [
        "8e7bfcbab3825d1b404d615cb1b54f44ff81f981",
        "d93515611bbc70c2fe4db232e5feb448ed8e4cc9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:43:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:43:21 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1446 commits)\n  macvlan: fix panic if lowerdev in a bond\n  tg3: Add braces around 5906 workaround.\n  tg3: Fix NETIF_F_LOOPBACK error\n  macvlan: remove one synchronize_rcu() call\n  networking: NET_CLS_ROUTE4 depends on INET\n  irda: Fix error propagation in ircomm_lmp_connect_response()\n  irda: Kill set but unused variable \u0027bytes\u0027 in irlan_check_command_param()\n  irda: Kill set but unused variable \u0027clen\u0027 in ircomm_connect_indication()\n  rxrpc: Fix set but unused variable \u0027usage\u0027 in rxrpc_get_transport()\n  be2net: Kill set but unused variable \u0027req\u0027 in lancer_fw_download()\n  irda: Kill set but unused vars \u0027saddr\u0027 and \u0027daddr\u0027 in irlan_provider_connect_indication()\n  atl1c: atl1c_resume() is only used when CONFIG_PM_SLEEP is defined.\n  rxrpc: Fix set but unused variable \u0027usage\u0027 in rxrpc_get_peer().\n  rxrpc: Kill set but unused variable \u0027local\u0027 in rxrpc_UDP_error_handler()\n  rxrpc: Kill set but unused variable \u0027sp\u0027 in rxrpc_process_connection()\n  rxrpc: Kill set but unused variable \u0027sp\u0027 in rxrpc_rotate_tx_window()\n  pkt_sched: Kill set but unused variable \u0027protocol\u0027 in tc_classify()\n  isdn: capi: Use pr_debug() instead of ifdefs.\n  tg3: Update version to 3.119\n  tg3: Apply rx_discards fix to 5719/5720\n  ...\n\nFix up trivial conflicts in arch/x86/Kconfig and net/mac80211/agg-tx.c\nas per Davem.\n"
    },
    {
      "commit": "1769192a3c50778e03352a3d95faec830d47ba55",
      "tree": "9764b821abc0ddc4fa22c239e00460636aa77203",
      "parents": [
        "3c709f8fb43e07a0403bba4a8ca7ba00ab874994"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed May 11 18:22:36 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 12 17:27:10 2011 -0400"
      },
      "message": "l2tp: fix potential rcu race\n\nWhile trying to remove useless synchronize_rcu() calls, I found l2tp is\nindeed incorrectly using two of such calls, but also bumps tunnel\nrefcount after list insertion.\n\ntunnel refcount must be incremented before being made publically visible\nby rcu readers.\n\nThis fix can be applied to 2.6.35+ and might need a backport for older\nkernels, since things were shuffled in commit fd558d186df2c\n(l2tp: Split pppol2tp patch into separate l2tp and ppp parts)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCC: James Chapman \u003cjchapman@katalix.com\u003e\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d9d8da805dcb503ef8ee49918a94d49085060f23",
      "tree": "ede7d2af74c2982eb24430079aea63c05a3420e9",
      "parents": [
        "0e734419923bd8e599858f8fc196c7804bb85564"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 06 22:23:20 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 15:28:28 2011 -0700"
      },
      "message": "inet: Pass flowi to -\u003equeue_xmit().\n\nThis allows us to acquire the exact route keying information from the\nprotocol, however that might be managed.\n\nIt handles all of the possibilities, from the simplest case of storing\nthe key in inet-\u003ecork.fl to the more complex setup SCTP has where\nindividual transports determine the flow.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fdbb0f076b065a0c753ba26925f10357505f1d42",
      "tree": "7b868c7216c2e5f29af9e06f58eec2ced201bb6f",
      "parents": [
        "6af88da14ee284aaad6e4326da09a89191ab6165"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 13:48:37 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 13:48:37 2011 -0700"
      },
      "message": "l2tp: Use cork flow in l2tp_ip_connect() and l2tp_ip_sendmsg()\n\nNow that the socket is consistently locked in these two routines,\nthis transformation is legal.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6af88da14ee284aaad6e4326da09a89191ab6165",
      "tree": "bde47277368279454abff9a860be9292556c7089",
      "parents": [
        "2f16270f41e1499e23e6be25c51be87d950ffc91"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 13:45:20 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 13:45:20 2011 -0700"
      },
      "message": "l2tp: Fix locking in l2tp_core.c\n\nl2tp_xmit_skb() must take the socket lock.  It makes use of ip_queue_xmit()\nwhich expects to execute in a socket atomic context.\n\nSince we execute this function in software interrupts, we cannot use the\nusual lock_sock()/release_sock() sequence, instead we have to use\nbh_lock_sock() and see if a user has the socket locked, and if so drop\nthe packet.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2f16270f41e1499e23e6be25c51be87d950ffc91",
      "tree": "b3d40d33c4ff5470eb3642d44064fe4ec4caff92",
      "parents": [
        "da905bd1d5a6480d206f4b3dc61243f95adfae2c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 13:39:01 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 13:39:01 2011 -0700"
      },
      "message": "l2tp: Fix locking in l2tp_ip.c\n\nBoth l2tp_ip_connect() and l2tp_ip_sendmsg() must take the socket\nlock.  They both modify socket state non-atomically, and in particular\nl2tp_ip_sendmsg() increments socket private counters without using\natomic operations.\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "31e4543db29fb85496a122b965d6482c8d1a2bfe",
      "tree": "3e49d61a1202e1b3c8c71e422f3fd8e4f2616d01",
      "parents": [
        "f1390160ddcd64a3cfd48b3280d0a616a31b9520"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 03 20:25:42 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 03 20:25:42 2011 -0700"
      },
      "message": "ipv4: Make caller provide on-stack flow key to ip_route_output_ports().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ad227425c9ca907b5498e2558320b7e585d86ec9",
      "tree": "84ef96e5fe88f08b8fbce7194213021b6291fa8e",
      "parents": [
        "d4fb3d74d7a17833de2ba8cbd4f029b30feb4825"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 23:50:49 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 23:50:49 2011 -0700"
      },
      "message": "ipv4: Get route daddr from flow key in l2tp_ip_connect().\n\nNow that output route lookups update the flow with\ndestination address selection, we can fetch it from\nfl4-\u003edaddr instead of rt-\u003ert_dst\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "44901666a1a736b3f43eac7894b07183f127e9a9",
      "tree": "96d8e36a7286a1732f3c325c96d65b03443634de",
      "parents": [
        "4071cfff84c5b084762fe288781cd7faab14cb4b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 23:17:58 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 23:17:58 2011 -0700"
      },
      "message": "ipv4: Fetch route saddr from flow key in l2tp_ip_connect().\n\nNow that output route lookups update the flow with\nsource address selection, we can fetch it from\nfl4-\u003esaddr instead of rt-\u003ert_src\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "778865a550e7958c1211242cc481f48d46de0f04",
      "tree": "d91a4d3b432511936f903ed8cb6022ad0b6102b0",
      "parents": [
        "b801a4e7092bb869fb5a7d8ee11a9435c5c7b2b1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 13:54:06 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 13:54:06 2011 -0700"
      },
      "message": "l2tp: Fix inet_opt conversion.\n\nWe don\u0027t actually hold the socket lock at this point, so the\nrcu_dereference_protected() isn\u0027t\u0027 correct.  Thanks to Eric\nDumazet for pointing this out.\n\nThankfully, we\u0027re only interested in fetching the faddr value\nif srr is enabled, so we can simply make this an RCU sequence\nand use plain rcu_dereference().\n\nReported-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6d8bd051c391c1c0458a30b2a7abcd939329259",
      "tree": "1dc4daecdeb0b42c2c6b59d7d6b41e091c11db5f",
      "parents": [
        "0a14842f5a3c0e88a1e59fac5c3025db39721f74"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Apr 21 09:45:37 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 13:16:35 2011 -0700"
      },
      "message": "inet: add RCU protection to inet-\u003eopt\n\nWe lack proper synchronization to manipulate inet-\u003eopt ip_options\n\nProblem is ip_make_skb() calls ip_setup_cork() and\nip_setup_cork() possibly makes a copy of ipc-\u003eopt (struct ip_options),\nwithout any protection against another thread manipulating inet-\u003eopt.\n\nAnother thread can change inet-\u003eopt pointer and free old one under us.\n\nUse RCU to protect inet-\u003eopt (changed to inet-\u003einet_opt).\n\nInstead of handling atomic refcounts, just copy ip_options when\nnecessary, to avoid cache line dirtying.\n\nWe cant insert an rcu_head in struct ip_options since its included in\nskb-\u003ecb[], so this patch is large because I had to introduce a new\nip_options_rcu structure.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2d7192d6cbab20e153c47fa1559ffd41ceef0e79",
      "tree": "aac4c4132f5b4a173ad8f8d0bf24427e039bbc89",
      "parents": [
        "15ecd039b7182d725f4294e01f2fb12c3a88db17"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 26 13:28:44 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 27 13:59:04 2011 -0700"
      },
      "message": "ipv4: Sanitize and simplify ip_route_{connect,newports}()\n\nThese functions are used together as a unit for route resolution\nduring connect().  They address the chicken-and-egg problem that\nexists when ports need to be allocated during connect() processing,\nyet such port allocations require addressing information from the\nrouting code.\n\nIt\u0027s currently more heavy handed than it needs to be, and in\nparticular we allocate and initialize a flow object twice.\n\nLet the callers provide the on-stack flow object.  That way we only\nneed to initialize it once in the ip_route_connect() call.\n\nLater, if ip_route_newports() needs to do anything, it re-uses that\nflow object as-is except for the ports which it updates before the\nroute re-lookup.\n\nAlso, describe why this set of facilities are needed and how it works\nin a big comment.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n"
    },
    {
      "commit": "e9c549998dc24209847007e1f209f3b6c88d21ba",
      "tree": "0f52fcbe1dfa158349afc6ad2edaa6738615dc3b",
      "parents": [
        "8e10cd74342c7f5ce259cceca36f6eba084f5d58"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Tue Apr 26 23:28:26 2011 -0700"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Tue Apr 26 23:31:11 2011 -0700"
      },
      "message": "Revert wrong fixes for common misspellings\n\nThese changes were incorrectly fixed by codespell. They were now\nmanually corrected.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "8cb490144708ef295421d0601b0866623651a37e",
      "tree": "fd6b542038c938e789c2eea9af54e46767f15cb5",
      "parents": [
        "6385969b3297287e6259a012671be09c78c20620"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 17 17:01:05 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 17 17:01:05 2011 -0700"
      },
      "message": "l2tp: Fix set-but-unused variables.\n\nThe variable \u0027ret\u0027 is set but unused in l2tp_nl_register_ops().\n\nThis was obviously meant to maintain error codes which are\nreturned to the caller, make it so.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8aa525a9340da4227797a06221ca08399006635f",
      "tree": "1a9d41975a68aae50b4905f2da6a3dee3a54b68f",
      "parents": [
        "a454f0ccefbfdbfc0e1aa8a5f8010af5e48b8845"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Mon Mar 21 18:10:25 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 21 18:10:25 2011 -0700"
      },
      "message": "l2tp: fix possible oops on l2tp_eth module unload\n\nA struct used in the l2tp_eth driver for registering network namespace\nops was incorrectly marked as __net_initdata, leading to oops when\nmodule unloaded.\n\nBUG: unable to handle kernel paging request at ffffffffa00ec098\nIP: [\u003cffffffff8123dbd8\u003e] ops_exit_list+0x7/0x4b\nPGD 142d067 PUD 1431063 PMD 195da8067 PTE 0\nOops: 0000 [#1] SMP \nlast sysfs file: /sys/module/l2tp_eth/refcnt\nCall Trace:\n [\u003cffffffff8123dc94\u003e] ? unregister_pernet_operations+0x32/0x93\n [\u003cffffffff8123dd20\u003e] ? unregister_pernet_device+0x2b/0x38\n [\u003cffffffff81068b6e\u003e] ? sys_delete_module+0x1b8/0x222\n [\u003cffffffff810c7300\u003e] ? do_munmap+0x254/0x318\n [\u003cffffffff812c64e5\u003e] ? page_fault+0x25/0x30\n [\u003cffffffff812c6952\u003e] ? system_call_fastpath+0x16/0x1b\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "78fbfd8a653ca972afe479517a40661bfff6d8c3",
      "tree": "9dccc5c16bf269d53d8499064ec95a998e84c646",
      "parents": [
        "1561747ddf9d28185548687b11aae7074d6129c4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 00:00:52 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:42 2011 -0800"
      },
      "message": "ipv4: Create and use route lookup helpers.\n\nThe idea here is this minimizes the number of places one has to edit\nin order to make changes to how flows are defined and used.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b23dd4fe42b455af5c6e20966b7d6959fa8352ea",
      "tree": "bf97323eae9a8d084170e573ff2c0c40bc72c3cd",
      "parents": [
        "452edd598f60522c11f7f88fdbab27eb36509d1a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 14:31:35 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 14:31:35 2011 -0800"
      },
      "message": "ipv4: Make output route lookup return rtable directly.\n\nInstead of on the stack.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "273447b352e69c327efdecfd6e1d6fe3edbdcd14",
      "tree": "dae1e0778ca973c25b74fd3dc9728616d6e65b73",
      "parents": [
        "5df65e5567a497a28067019b8ff08f98fb026629"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:27:04 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:27:04 2011 -0800"
      },
      "message": "ipv4: Kill can_sleep arg to ip_route_output_flow()\n\nThis boolean state is now available in the flow flags.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "420d44daa7aa1cc847e9e527f0a27a9ce61768ca",
      "tree": "a5aab8c6b925ba3da1079b7262f7d6c504406eb8",
      "parents": [
        "abdf7e7239da270e68262728f125ea94b9b7d42d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:19:23 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:19:23 2011 -0800"
      },
      "message": "ipv4: Make final arg to ip_route_output_flow to be boolean \"can_sleep\"\n\nSince that is what the current vague \"flags\" argument means.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "abdf7e7239da270e68262728f125ea94b9b7d42d",
      "tree": "30c1246fac76ad7a4d2b1f8dcf3698b4d302b4de",
      "parents": [
        "68d0c6d34d586a893292d4fb633a3bf8c547b222"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:15:24 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:15:24 2011 -0800"
      },
      "message": "ipv4: Can final ip_route_connect() arg to boolean \"can_sleep\".\n\nSince that\u0027s what the current vague \"flags\" thing means.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fe6c791570efe717946ea7b7dd50aec96b70d551",
      "tree": "1becb5e8aea7a9c9a7d78f987bd73b0a5d8ee434",
      "parents": [
        "f8bf5681cf15f77692c8ad8cb95d059ff7c622c9",
        "f19872575ff7819a3723154657a497d9bca66b33"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 13:15:38 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 13:47:38 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/ath/ath9k/ar9003_eeprom.c\n\tnet/llc/af_llc.c\n"
    },
    {
      "commit": "e8d34a884e4ff118920bb57664def8a73b1b784f",
      "tree": "50c6e3f7e576fd6941cc8071ff86c14d26295b8d",
      "parents": [
        "0c62fc6dd02c8d793c75ae76a9b6881fc36388ad"
      ],
      "author": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Mon Dec 06 02:39:12 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 12:13:43 2010 -0800"
      },
      "message": "l2tp: Fix modalias of l2tp_ip\n\nUsing the SOCK_DGRAM enum results in\n\"net-pf-2-proto-SOCK_DGRAM-type-115\", so use the numeric value like it\nis done in net/dccp.\n\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5811662b15db018c740c57d037523683fd3e6123",
      "tree": "f820610a6024799a26699f22dc9a4ef5dee07978",
      "parents": [
        "dd68ad2235b4625e0dc928b2b4c614d265f976d3"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Fri Nov 12 18:43:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 17 12:27:45 2010 -0800"
      },
      "message": "net: use the macros defined for the members of flowi\n\nUse the macros defined for the members of flowi to clean the code up.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f9b901823aafd14a84ae27f61ff28bafed01260",
      "tree": "b7625065b95573275a59197db8db6877ce010dd1",
      "parents": [
        "eae61ae15b752b919ea45746f6dff449ff6d3281"
      ],
      "author": {
        "name": "Dr. David Alan Gilbert",
        "email": "linux@treblig.org",
        "time": "Sun Oct 31 07:26:03 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 01 06:56:02 2010 -0700"
      },
      "message": "l2tp: kzalloc with swapped params in l2tp_dfs_seq_open\n\n  \u0027sparse\u0027 spotted that the parameters to kzalloc in l2tp_dfs_seq_open\nwere swapped.\n\nTested on current git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git\nat 1792f17b7210280a3d7ff29da9614ba779cfcedb  build, boots and I can see that directory,\nbut there again I could see /sys/kernel/debug/l2tp with it swapped; I don\u0027t have\nany l2tp in use.\n\nSigned-off-by: Dr. David Alan Gilbert \u003clinux@treblig.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e341b2ddc1e8e5ff998ac5462dc5138775d1d492",
      "tree": "d4fc3fe014017d10f0b5e5c55c4e884f09e5decf",
      "parents": [
        "fd59cba4f0d80a6dc4cc7372f03af905b1758e03"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Sun Oct 24 22:26:41 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 24 22:26:41 2010 -0700"
      },
      "message": "l2tp: static functions should not be exported\n\nCauses these build failures on PowerPC:\n\nnet/l2tp/l2tp_core.c:1228: error: __ksymtab_l2tp_tunnel_closeall causes a section type conflict\nnet/l2tp/l2tp_core.c:1228: error: __ksymtab_l2tp_tunnel_closeall causes a section type conflict\nnet/l2tp/l2tp_core.c:1006: error: __ksymtab_l2tp_xmit_core causes a section type conflict\nnet/l2tp/l2tp_core.c:1006: error: __ksymtab_l2tp_xmit_core causes a section type conflict\nnet/l2tp/l2tp_core.c:847: error: __ksymtab_l2tp_udp_recv_core causes a section type conflict\nnet/l2tp/l2tp_core.c:847: error: __ksymtab_l2tp_udp_recv_core causes a section type conflict\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc130840d75d42c5a360fd1d8b72489eec09cad3",
      "tree": "636e9c4b4a7ab21a283587e16c092e3436082f08",
      "parents": [
        "9740d7860429a561f4745da8c179d84290f3c9a3"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Oct 21 07:50:46 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 24 14:55:47 2010 -0700"
      },
      "message": "l2tp: make local function static\n\nAlso moved the refcound inlines from l2tp_core.h to l2tp_core.c\nsince only used in that one file.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e83726b0460f4741c8f10e1488fbcc0a9e5f0b7e",
      "tree": "63708770aa5d02847ac89c4fd2cf21826a41ab36",
      "parents": [
        "612eef4f4714d5c0e7127b7b245dbfc444d14a4b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 21 04:39:09 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 04:39:09 2010 -0700"
      },
      "message": "l2tp: small cleanup\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "756e64a0b106f1a2ca96889c39ea0d48131105c0",
      "tree": "aab1079dc10deebcdc0dfeaf6e009f9371131668",
      "parents": [
        "a9478e386165477504916094ae5efb073a44fd9f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Sep 21 06:43:54 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 21 18:04:47 2010 -0700"
      },
      "message": "net: constify some ppp/pptp structs\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e548833df83c3554229eff0672900bfe958b45fd",
      "tree": "85efc4a76dc356593d6d394776aeb845dc580fb6",
      "parents": [
        "cbd9da7be869f676afc204e1a664163778c770bd",
        "053d8f6622701f849fda2ca2c9ae596c13599ba9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 22:27:33 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 22:27:33 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/mac80211/main.c\n"
    },
    {
      "commit": "95f4b45bc688b03107f5452ccda29496fc1b4ecf",
      "tree": "bb190b30e210dc74136afeba8946fa0a9368c3c3",
      "parents": [
        "3e502e63586920f219ed2590f69c1f5a8888cfa4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 02 09:19:32 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 02 09:19:32 2010 -0700"
      },
      "message": "net: another last_rx round\n\nKill last_rx use in l2tp and two net drivers\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bfc960a8eec023a170a80697fe65157cd4f44f81",
      "tree": "e93d7b48b1fa732b99ce07e820ef6b9c220eed61",
      "parents": [
        "d84ba638e4ba3c40023ff997aa5e8d3ed002af36"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Aug 25 23:44:35 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 26 13:29:38 2010 -0700"
      },
      "message": "l2tp: test for ethernet header in l2tp_eth_dev_recv()\n\nclose https://bugzilla.kernel.org/show_bug.cgi?id\u003d16529\n\nBefore calling dev_forward_skb(), we should make sure skb head contains\nat least an ethernet header, even if length included in upper layer said\nso. Use pskb_may_pull() to make sure this ethernet header is present in\nskb head.\n\nReported-by: Thomas Heil \u003cheil@terminal-consulting.de\u003e\nReported-by: Ian Campbell \u003cIan.Campbell@eu.citrix.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d7100da026317fcf07411f765fe1cdb044053917",
      "tree": "97e9ecbde1575173684a357ad00960384ec7d1db",
      "parents": [
        "3b5bac2bdea1de832bdd8e2c904ab7c9479ff9ed"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Aug 04 07:34:36 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 04 21:53:17 2010 -0700"
      },
      "message": "ppp: make channel_ops const\n\nThe PPP channel ops structure should be const.\nCleanup the declarations to use standard C99 format.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d8d1f30b95a635dbd610dcc5eb641aca8f4768cf",
      "tree": "71424d82a96facd5fcf05cc769ef2ba52b584aeb",
      "parents": [
        "592fcb9dfafaa02dd0edc207bf5d3a0ee7a1f8df"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Thu Jun 10 23:31:35 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 10 23:31:35 2010 -0700"
      },
      "message": "net-next: remove useless union keyword\n\nremove useless union keyword in rtable, rt6_info and dn_route.\n\nSince there is only one member in a union, the union keyword isn\u0027t useful.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3a737028630bb3c2b9efc38b9ddef2e09b06b808",
      "tree": "d1d1a4fbaa71f966f4f9b793a792211d59fda834",
      "parents": [
        "e773aaff8295e7f3428d9cf6f8a476a33de00716"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Fri Apr 23 01:01:52 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 23 16:37:33 2010 -0700"
      },
      "message": "l2tp_eth: fix memory allocation\n\nSince .size is set properly in \"struct pernet_operations l2tp_eth_net_ops\",\nallocating space for \"struct l2tp_eth_net\" by hand is not correct, even causes\nmemory leakage.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e773aaff8295e7f3428d9cf6f8a476a33de00716",
      "tree": "cdfe16f60d218a7e0ffb4dddd3ff1428703e4190",
      "parents": [
        "3b51cc996e81d8a113416d8094fa4a88f8360a51"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Fri Apr 23 00:53:39 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 23 16:37:32 2010 -0700"
      },
      "message": "l2tp: fix memory allocation\n\nSince .size is set properly in \"struct pernet_operations l2tp_net_ops\",\nallocating space for \"struct l2tp_net\" by hand is not correct, even causes\nmemory leakage.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4e15ed4d930297c127d280ca1d0c785be870def4",
      "tree": "e0808d650ae66cf273758496100d3d24739a9e48",
      "parents": [
        "0eecb784942792863b77dfe11e0c7e286e92db85"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Thu Apr 15 16:43:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 15 23:36:37 2010 -0700"
      },
      "message": "net: replace ipfragok with skb-\u003elocal_df\n\nAs Herbert Xu said: we should be able to simply replace ipfragok\nwith skb-\u003elocal_df. commit f88037(sctp: Drop ipfargok in sctp_xmit function)\nhas droped ipfragok and set local_df value properly.\n\nThe patch kills the ipfragok parameter of .queue_xmit().\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a4fbf8415c462208e77251779d80dbc81914cebd",
      "tree": "b011c6e12663cb540a7bc829b1049217842a35ae",
      "parents": [
        "3eb14b944f2b5b6efe4e0ae3fe9601db78437d57"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Apr 15 15:37:13 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 15 15:37:13 2010 -0700"
      },
      "message": "net/l2tp/l2tp_debugfs.c: Convert NIPQUAD to %pI4\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7bddd0db6248d92adb1f547fd45507af4368d6fa",
      "tree": "4f182b3e880f597f9ee4cb48189da6b4f19b8003",
      "parents": [
        "486f50ca796a2572c42c34dd4378cdc8eeb0b137"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Apr 04 01:02:46 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 04 01:02:46 2010 -0700"
      },
      "message": "l2tp: unmanaged L2TPv3 tunnels fixes\n\nFollowup to commit 789a4a2c \n(l2tp: Add support for static unmanaged L2TPv3 tunnels)\n\nOne missing init in l2tp_tunnel_sock_create() could access random kernel\nmemory, and a bit field should be unsigned.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f66ef2d0649b220874532dfb83b6b5b368f83591",
      "tree": "b41ef57e89814e50f01e313fb75b9b0aba6fa21a",
      "parents": [
        "f481c0d86227156fb1691b166a11c3f0058e1cb2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 15:01:37 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 15:01:37 2010 -0700"
      },
      "message": "l2tp: Fix L2TP_DEBUGFS ifdef tests.\n\nWe have to check CONFIG_L2TP_DEBUGFS_MODULE as well as\nCONFIG_L2TP_DEBUGFS.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f481c0d86227156fb1691b166a11c3f0058e1cb2",
      "tree": "0176ca92aee7daa06c72766e9e6f321b49f201da",
      "parents": [
        "2f77a3f50c4336dd5358aec0abb5247ded168515"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:58:07 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:58:07 2010 -0700"
      },
      "message": "l2tp: Add missing semicolon to MODULE_ALIAS() in l2tp_netlink.c\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "789a4a2c61d843df67988d69e7c3f3a4bca97e8e",
      "tree": "9f98e9903e34b9a583fa5f8ff03551c77d194c43",
      "parents": [
        "0ad6614048cf722e4d27909665b4846805357f1b"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Fri Apr 02 06:19:40 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:56:08 2010 -0700"
      },
      "message": "l2tp: Add support for static unmanaged L2TPv3 tunnels\n\nThis patch adds support for static (unmanaged) L2TPv3 tunnels, where\nthe tunnel socket is created by the kernel rather than being created\nby userspace. This means L2TP tunnels and sessions can be created\nmanually, without needing an L2TP control protocol implemented in\nuserspace. This might be useful where the user wants a simple ethernet\nover IP tunnel.\n\nA patch to iproute2 adds a new command set under \"ip l2tp\" to make use\nof this feature. This will be submitted separately.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nReviewed-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0ad6614048cf722e4d27909665b4846805357f1b",
      "tree": "182349ddf6e2b8e8478a5451cd0ed9684c14f0e8",
      "parents": [
        "d9e31d17ceba5f0736f5a34bbc236239cd42b420"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Fri Apr 02 06:19:33 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:56:07 2010 -0700"
      },
      "message": "l2tp: Add debugfs files for dumping l2tp debug info\n\nThe existing pppol2tp driver exports debug info to\n/proc/net/pppol2tp. Rather than adding info to that file for the new\nfunctionality added in this patch series, we add new files in debugfs,\nleaving the old /proc file for backwards compatibility (L2TPv2 only).\n\nCurrently only one file is provided: l2tp/tunnels, which lists\ninternal debug info for all l2tp tunnels and sessions. More files may\nbe added later. The info is for debug and problem analysis only -\nuserspace apps should use netlink to obtain status about l2tp tunnels\nand sessions.\n\nAlthough debugfs does not support net namespaces, the tunnels and\nsessions dumped in l2tp/tunnels are only those in the net namespace of\nthe process reading the file.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d9e31d17ceba5f0736f5a34bbc236239cd42b420",
      "tree": "d31a8fb8365c85db07b649a5d5aa11069890de23",
      "parents": [
        "e02d494d2c60746ee6583132904ac1791f5bc9a6"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Fri Apr 02 06:19:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:56:06 2010 -0700"
      },
      "message": "l2tp: Add L2TP ethernet pseudowire support\n\nThis driver presents a regular net_device for each L2TP ethernet\npseudowire instance. These interfaces are named l2tpethN by default,\nthough userspace can specify an alternative name when the L2TP\nsession is created, if preferred. When the pseudowire is established,\nregular Linux networking utilities may be used to configure the\ninterface, i.e. give it IP address info or add it to a bridge. Any\ndata passed over the interface is carried over an L2TP tunnel.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nReviewed-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e02d494d2c60746ee6583132904ac1791f5bc9a6",
      "tree": "68a3c19ce392998693b83f7db96c4ed1bc140406",
      "parents": [
        "309795f4bec2d69cd507a631f82065c2198a0825"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Fri Apr 02 06:19:16 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:56:06 2010 -0700"
      },
      "message": "l2tp: Convert rwlock to RCU\n\nReader/write locks are discouraged because they are slower than spin\nlocks. So this patch converts the rwlocks used in the per_net structs\nto rcu.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "309795f4bec2d69cd507a631f82065c2198a0825",
      "tree": "b3676be9a8f65f0d828a07e3bd6906bf7cd7b664",
      "parents": [
        "f408e0ce40270559ef80f231843c93baa9947bc5"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Fri Apr 02 06:19:10 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:56:05 2010 -0700"
      },
      "message": "l2tp: Add netlink control API for L2TP\n\nIn L2TPv3, we need to create/delete/modify/query L2TP tunnel and\nsession contexts. The number of parameters is significant. So let\u0027s\nuse netlink. Userspace uses this API to control L2TP tunnel/session\ncontexts in the kernel.\n\nThe previous pppol2tp driver was managed using [gs]etsockopt(). This\nAPI is retained for backwards compatibility. Unlike L2TPv2 which\ncarries only PPP frames, L2TPv3 can carry raw ethernet frames or other\nframe types and these do not always have an associated socket\nfamily. Therefore, we need a way to use L2TP sessions that doesn\u0027t\nrequire a socket type for each supported frame type. Hence netlink is\nused.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nReviewed-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d76751fad7739014485ba5bd388d4f1b4fd4143",
      "tree": "25a4525bf6b2ec9f052f22ba98cdfd3ff3a86aa3",
      "parents": [
        "e0d4435f93905f517003cfa7328a36ea19788147"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Fri Apr 02 06:19:00 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:56:04 2010 -0700"
      },
      "message": "l2tp: Add L2TPv3 IP encapsulation (no UDP) support\n\nThis patch adds a new L2TPIP socket family and modifies the core to\nhandle the case where there is no UDP header in the L2TP\npacket. L2TP/IP uses IP protocol 115. Since L2TP/UDP and L2TP/IP\npackets differ in layout, the datapath packet handling code needs\nchanges too. Userspace uses an L2TPIP socket instead of a UDP socket\nwhen IP encapsulation is required.\n\nWe can\u0027t use raw sockets for this because the semantics of raw sockets\ndon\u0027t lend themselves to the socket-per-tunnel model - we need to\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e0d4435f93905f517003cfa7328a36ea19788147",
      "tree": "cdf858e601d993405d3fd1f318446dddbf9e6fcb",
      "parents": [
        "f7faffa3ff8ef6ae712ef16312b8a2aa7a1c95fe"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Fri Apr 02 06:18:54 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:56:04 2010 -0700"
      },
      "message": "l2tp: Update PPP-over-L2TP driver to work over L2TPv3\n\nThis patch makes changes to the L2TP PPP code for L2TPv3.\n\nThe existing code has some assumptions about the L2TP header which are\nbroken by L2TPv3. Also the sockaddr_pppol2tp structure of the original\ncode is too small to support the increased size of the L2TPv3 tunnel\nand session id, so a new sockaddr_pppol2tpv3 structure is needed. In\nthe socket calls, the size of this structure is used to tell if the\noperation is for L2TPv2 or L2TPv3.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nReviewed-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f7faffa3ff8ef6ae712ef16312b8a2aa7a1c95fe",
      "tree": "2b9d1bd7ed08767a02cd282a876970b34241f7af",
      "parents": [
        "9345471bca96d00d4196b3dcc4a5625f1bfae247"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Fri Apr 02 06:18:49 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:56:03 2010 -0700"
      },
      "message": "l2tp: Add L2TPv3 protocol support\n\nThe L2TPv3 protocol changes the layout of the L2TP packet\nheader. Tunnel and session ids change from 16-bit to 32-bit values,\ndata sequence numbers change from 16-bit to 24-bit values and PPP-specific\nfields are moved into protocol-specific subheaders.\n\nAlthough this patch introduces L2TPv3 protocol support, there are no\nuserspace interfaces to create L2TPv3 sessions yet.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nReviewed-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9345471bca96d00d4196b3dcc4a5625f1bfae247",
      "tree": "ea35c7f3bed73c5bdba0fbbdac4566eafcf23edd",
      "parents": [
        "63f96072f9ba430aa348bc987c3d5a4f48bae301"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Fri Apr 02 06:18:44 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:56:03 2010 -0700"
      },
      "message": "l2tp: Add ppp device name to L2TP ppp session data\n\nWhen dumping L2TP PPP sessions using /proc/net/pppol2tp, get the\nassigned PPP device name from PPP using ppp_dev_name().\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nReviewed-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd558d186df2c13a22455373858bae634a4795af",
      "tree": "ed05523913473b6ba7658c6e8d72a1642cce1851",
      "parents": [
        "21b4aaa14329db793832e865f15000c5c0192ac3"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Fri Apr 02 06:18:33 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:56:02 2010 -0700"
      },
      "message": "l2tp: Split pppol2tp patch into separate l2tp and ppp parts\n\nThis patch splits the pppol2tp driver into separate L2TP and PPP parts\nto prepare for L2TPv3 support. In L2TPv3, protocols other than PPP can\nbe carried, so this split creates a common L2TP core that will handle\nthe common L2TP bits which protocol support modules such as PPP will\nuse.\n\nNote that the existing pppol2tp module is split into l2tp_core and\nl2tp_ppp by this change.\n\nThere are no feature changes here. Internally, however, there are\nsignificant changes, mostly to handle the separation of PPP-specific\ndata from the L2TP session and to provide hooks in the core for\nmodules like PPP to access.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nReviewed-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "21b4aaa14329db793832e865f15000c5c0192ac3",
      "tree": "0cafa9589701dec0c39da0fbef5d7c7df0c987dc",
      "parents": [
        "22bedad3ce112d5ca1eaf043d4990fa2ed698c87"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Fri Apr 02 06:18:28 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:56:01 2010 -0700"
      },
      "message": "l2tp: Relocate pppol2tp driver to new net/l2tp directory\n\nThis patch moves the existing pppol2tp driver from drivers/net into a\nnew net/l2tp directory, which is where the upcoming L2TPv3 code will\nlive. The existing CONFIG_PPPOL2TP config option is left in its\ncurrent place to avoid \"make oldconfig\" issues when an existing\npppol2tp user takes this change. (This is the same approach used for\nthe pppoatm driver, which moved to net/atm.)\n\nThere are no code changes. The existing drivers/net/pppol2tp.c is\nsimply moved to net/l2tp.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nReviewed-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ]
}
