)]}'
{
  "log": [
    {
      "commit": "c727e7f0071cae66c029f667d48b154c6b64227b",
      "tree": "197c2760fcae529d04d56f56e9cd55f51d6d9273",
      "parents": [
        "91df42bedccb919902c7cf7eb876c982ae7f1b1d",
        "ee446fd5e6dafee4a16fd1bd345d2571dcfd6f5d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 16 01:02:40 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 16 01:02:40 2012 -0400"
      },
      "message": "Merge branch \u0027delete-tokenring\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n"
    },
    {
      "commit": "91df42bedccb919902c7cf7eb876c982ae7f1b1d",
      "tree": "a941627c25c941b8f26d20d2c214ff2004eae356",
      "parents": [
        "f32138319ca6541e65f95f8e17c9cc88ac1baf94"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue May 15 14:11:54 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 16 01:01:03 2012 -0400"
      },
      "message": "net: ipv4 and ipv6: Convert printk(KERN_DEBUG to pr_debug\n\nUse the current debugging style and enable dynamic_debug.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "211ed865108e24697b44bee5daac502ee6bdd4a4",
      "tree": "2a902c914f96298f265ef52cba5e463c5c8dea32",
      "parents": [
        "60eea6cf2964beea6c38d9050bc3823a93db97e0"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Thu May 10 17:14:35 2012 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Tue May 15 20:14:35 2012 -0400"
      },
      "message": "net: delete all instances of special processing for token ring\n\nWe are going to delete the Token ring support.  This removes any\nspecial processing in the core networking for token ring, (aside\nfrom net/tr.c itself), leaving the drivers and remaining tokenring\nsupport present but inert.\n\nThe mass removal of the drivers and net/tr.c will be in a separate\ncommit, so that the history of these files that we still care\nabout won\u0027t have the giant deletion tied into their history.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "95c961747284a6b83a5e2d81240e214b0fa3464d",
      "tree": "c7be86a00db3605a48a03109fafcbe31039ca2e0",
      "parents": [
        "5e73ea1a31c3612aa6dfe44f864ca5b7b6a4cff9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Apr 15 05:58:06 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 15 12:44:40 2012 -0400"
      },
      "message": "net: cleanup unsigned to unsigned int\n\nUse of \"unsigned int\" is preferred to bare \"unsigned\" in net tree.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ffc93f203c18a70623f21950f1dd473c9ec48cd",
      "tree": "1eb3536ae183b0bfbf7f5152a6fe4f430ae881c2",
      "parents": [
        "96f951edb1f1bdbbc99b0cd458f9808bb83d58ae"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Remove all #inclusions of asm/system.h\n\nRemove all #inclusions of asm/system.h preparatory to splitting and killing\nit.  Performed with the following command:\n\nperl -p -i -e \u0027s!^#\\s*include\\s*\u003casm/system[.]h\u003e.*\\n!!\u0027 `grep -Irl \u0027^#\\s*include\\s*\u003casm/system[.]h\u003e\u0027 *`\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "124d37e9f088a8f56494b0264d63d22555f53fef",
      "tree": "372cf065963b109c0df78964ec196488a570eba5",
      "parents": [
        "1aa9bc5b2f4cf8c48944fb9a607bf1dd674e2c10"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Thu Mar 15 05:25:58 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 16 23:00:20 2012 -0700"
      },
      "message": "arp: allow arp processing to honor per interface arp_accept sysctl\n\nI found recently that the arp_process function which handles all of our received\narp frames, is using IPV4_DEVCONF_ALL macro to check the state of the arp_process\nflag.  This seems wrong, as it implies that either none or all of the network\ninterfaces accept gratuitous arps.  This patch corrects that, allowing\nper-interface arp_accept configuration to deviate from the all setting.  Note\nthis also brings us into line with the way the arp_filter setting is handled\nduring arp_process execution.\n\nTested this myself on my home network, and confirmed it works as expected.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCC: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "70620c46ac2b45c24b0f22002fdf5ddd1f7daf81",
      "tree": "1ca143be17f6c1e78b7740c5bb2a4a12b0d059a2",
      "parents": [
        "5dc7883f2a7c25f8df40d7479687153558cd531b"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Fri Feb 10 04:07:11 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 10 15:13:36 2012 -0500"
      },
      "message": "net: Don\u0027t proxy arp respond if iif \u003d\u003d rt-\u003edst.dev if private VLAN is disabled\n\nCommit 653241 (net: RFC3069, private VLAN proxy arp support) changed\nthe behavior of arp proxy to send arp replies back out on the interface\nthe request came in even if the private VLAN feature is disabled.\n\nPreviously we checked rt-\u003edst.dev !\u003d skb-\u003edev for in scenarios, when\nproxy arp is enabled on for the netdevice and also when individual proxy\nneighbour entries have been added.\n\nThis patch adds the check back for the pneigh_lookup() scenario.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nAcked-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2c2aba6c561ac425602f4a0be61422224cb87151",
      "tree": "30b5f2c40b823ca61e2e0930d5e98a89a83222bb",
      "parents": [
        "32288eb4d940b10e40c6d4178fe3a40d1437d2f8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 28 15:06:58 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 28 15:06:58 2011 -0500"
      },
      "message": "ipv6: Use universal hash for NDISC.\n\nIn order to perform a proper universal hash on a vector of integers,\nwe have to use different universal hashes on each vector element.\n\nWhich means we need 4 different hash randoms for ipv6.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "40e4783ee62ac656a9a0fa3b512b6aee4f07d2d1",
      "tree": "813a2a4220b399bcd5d1bd16cc5a9248978bff47",
      "parents": [
        "0a5912db7b4f9c3ff3bd0dbb67f36484a3b21a35"
      ],
      "author": {
        "name": "Igor Maravic",
        "email": "igorm@etf.rs",
        "time": "Mon Dec 05 02:25:57 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 06 00:34:40 2011 -0500"
      },
      "message": "ipv4: arp: Cleanup in arp.c\n\nUse \"IS_ENABLED(CONFIG_FOO)\" macro instead of\n\"defined(CONFIG_FOO) || defined(CONFIG_FOO_MODULE)\"\n\nSigned-off-by: Igor Maravic \u003cigorm@etf.rs\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "32092ecf0644e91070f9eff4f6e1edda8f90aecc",
      "tree": "3e2e2a111364f08653b79fd7404346e9f4b5ee84",
      "parents": [
        "da6a8fa0275e2178c44a875374cae80d057538d1"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 25 00:01:41 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 30 18:51:03 2011 -0500"
      },
      "message": "atm: clip: Use device neigh support on top of \"arp_tbl\".\n\nInstead of instantiating an entire new neigh_table instance\njust for ATM handling, use the neigh device private facility.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76cc714ed5fe6ed90aad5c52ff3030f1f4e22a48",
      "tree": "400ab85cded60f5792ff9d4a32d12d4035ee03ff",
      "parents": [
        "596b9b68ef118f7409afbc78487263e08ef96261"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 25 00:01:28 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 30 18:46:43 2011 -0500"
      },
      "message": "neigh: Do not set tbl-\u003eentry_size in ipv4/ipv6 neigh tables.\n\nLet the core self-size the neigh entry based upon the key length.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "660882432909dbe611f1792eda158188065cb9f1",
      "tree": "101be8ad6357197cff3dcd6daf573dadab2cdd6b",
      "parents": [
        "505a467b66233fd08ac32fca943100130928bf89"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Nov 18 02:20:04 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 18 14:37:08 2011 -0500"
      },
      "message": "ipv4: Remove all uses of LL_ALLOCATED_SPACE\n\nipv4: Remove all uses of LL_ALLOCATED_SPACE\n\nThe macro LL_ALLOCATED_SPACE was ill-conceived.  It applies the\nalignment to the sum of needed_headroom and needed_tailroom.  As\nthe amount that is then reserved for head room is needed_headroom\nwith alignment, this means that the tail room left may be too small.\n\nThis patch replaces all uses of LL_ALLOCATED_SPACE in net/ipv4\nwith the macro LL_RESERVED_SPACE and direct reference to\nneeded_tailroom.\n\nThis also fixes the problem with needed_headroom changing between\nallocating the skb and reserving the head room.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8b5c171bb3dc0686b2647a84e990199c5faa9ef8",
      "tree": "ad1298a6ba5d541638f2f4b1d26d0dad576b9189",
      "parents": [
        "292d1398983f3514a0eab13b7606df7f4730b498"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Nov 09 12:07:14 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 14 00:47:54 2011 -0500"
      },
      "message": "neigh: new unresolved queue limits\n\nLe mercredi 09 novembre 2011 à 16:21 -0500, David Miller a écrit :\n\u003e From: David Miller \u003cdavem@davemloft.net\u003e\n\u003e Date: Wed, 09 Nov 2011 16:16:44 -0500 (EST)\n\u003e\n\u003e \u003e From: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n\u003e \u003e Date: Wed, 09 Nov 2011 12:14:09 +0100\n\u003e \u003e\n\u003e \u003e\u003e unres_qlen is the number of frames we are able to queue per unresolved\n\u003e \u003e\u003e neighbour. Its default value (3) was never changed and is responsible\n\u003e \u003e\u003e for strange drops, especially if IP fragments are used, or multiple\n\u003e \u003e\u003e sessions start in parallel. Even a single tcp flow can hit this limit.\n\u003e \u003e  ...\n\u003e \u003e\n\u003e \u003e Ok, I\u0027ve applied this, let\u0027s see what happens :-)\n\u003e\n\u003e Early answer, build fails.\n\u003e\n\u003e Please test build this patch with DECNET enabled and resubmit.  The\n\u003e decnet neigh layer still refers to the removed -\u003equeue_len member.\n\u003e\n\u003e Thanks.\n\nOuch, this was fixed on one machine yesterday, but not the other one I\nused this morning, sorry.\n\n[PATCH V5 net-next] neigh: new unresolved queue limits\n\nunres_qlen is the number of frames we are able to queue per unresolved\nneighbour. Its default value (3) was never changed and is responsible\nfor strange drops, especially if IP fragments are used, or multiple\nsessions start in parallel. Even a single tcp flow can hit this limit.\n\n$ arp -d 192.168.20.108 ; ping -c 2 -s 8000 192.168.20.108\nPING 192.168.20.108 (192.168.20.108) 8000(8028) bytes of data.\n8008 bytes from 192.168.20.108: icmp_seq\u003d2 ttl\u003d64 time\u003d0.322 ms\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f40b161de4f27402b4c0659ad2ae83fad5a0cdd",
      "tree": "9e2dbd4ba8a66916c690b0e5791ac25ea0958c26",
      "parents": [
        "69ecca86da4890c13a5e29c51b4ac76a1a8a62c9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 17 13:34:11 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 17 23:11:17 2011 -0700"
      },
      "message": "neigh: Pass neighbour entry to output ops.\n\nThis will get us closer to being able to do \"neigh stuff\"\ncompletely independent of the underlying dst_entry for\nprotocols (ipv4/ipv6) that wish to do so.\n\nWe will also be able to make dst entries neigh-less.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "542d4d685febf3110d1a08d0bcb9f6ef060b76f7",
      "tree": "8bfb9b8c8f7e8d359030781367634269f843d3e3",
      "parents": [
        "b23b5455b6458920179a1f27513ce42e70d11f37"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 16 18:06:24 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 16 18:30:59 2011 -0700"
      },
      "message": "neigh: Kill ndisc_ops-\u003equeue_xmit\n\nIt is always dev_queue_xmit().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "47ec132a40d788d45e2f088545dea68798034dab",
      "tree": "f3089b58b4ef12cca150bdd4bf213d8a627a0035",
      "parents": [
        "0895b08adeb3f660cdff21990d0a9c2b59a919e7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 16 17:39:57 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 16 17:39:57 2011 -0700"
      },
      "message": "neigh: Kill neigh_ops-\u003ehh_output\n\nIt\u0027s always dev_queue_xmit().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3769cffb1c48f64640ffab7ce3bffe867342c0f0",
      "tree": "8f6fcf2d822bf3a170a534e8540faa34fe9258ef",
      "parents": [
        "e5b1de1f5ebe0200e988e195fefb6c7396de6e20"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 11 22:44:24 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 13 01:12:28 2011 -0700"
      },
      "message": "ipv4: Inline neigh binding.\n\nGet rid of all of the useless and costly indirection\nby doing the neigh hash table lookup directly inside\nof the neighbour binding.\n\nRename from arp_bind_neighbour to rt_bind_neighbour.\n\nUse new helpers {__,}ipv4_neigh_lookup()\n\nIn rt_bind_neighbour() get rid of useless tests which\nare never true in the context this function is called,\nnamely dev is never NULL and the dst-\u003eneighbour is\nalways NULL.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f610b74b14d74a069f61583131e689550fd5bab3",
      "tree": "331ce90858ed17ed32b27ff9b283ced43566ea28",
      "parents": [
        "cd0893369ca85fd11bc517081b2d9079d2ef2f90"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 11 01:37:28 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 11 01:37:28 2011 -0700"
      },
      "message": "ipv4: Use universal hash for ARP.\n\nWe need to make sure the multiplier is odd.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "93ca3bb5df9bc8b2c60485e1cc6507c3d7c8e1fa",
      "tree": "6ccf21f8d1e4431c6be79c265fb1f9a722308f63",
      "parents": [
        "1459a3cc51d90d78027c7b5c1790e5d22751c8eb"
      ],
      "author": {
        "name": "Timo Teräs",
        "email": "timo.teras@iki.fi",
        "time": "Mon Mar 28 22:40:53 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 30 00:10:47 2011 -0700"
      },
      "message": "net: gre: provide multicast mappings for ipv4 and ipv6\n\nMy commit 6d55cb91a0020ac0 (gre: fix hard header destination\naddress checking) broke multicast.\n\nThe reason is that ip_gre used to get ipgre_header() calls with\nzero destination if we have NOARP or multicast destination. Instead\nthe actual target was decided at ipgre_tunnel_xmit() time based on\nper-protocol dissection.\n\nInstead of allowing the \"abuse\" of -\u003eheader() calls with invalid\ndestination, this creates multicast mappings for ip_gre. This also\nfixes \"ip neigh show nud noarp\" to display the proper multicast\nmappings used by the gre device.\n\nReported-by: Doug Kehn \u003crdkehn@yahoo.com\u003e\nSigned-off-by: Timo Teräs \u003ctimo.teras@iki.fi\u003e\nAcked-by: Doug Kehn \u003crdkehn@yahoo.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": "c506653d35249bb4738bb139c24362e1ae724bc1",
      "tree": "24fdcd4d25b8e0fd14c4074f3ef3673d3c7f6eb3",
      "parents": [
        "0a0b7a5f7a043d86a95990d3227cf7e823ae52ac"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Jan 24 13:16:16 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 13:16:16 2011 -0800"
      },
      "message": "net: arp_ioctl() must hold RTNL\n\nCommit 941666c2e3e0 \"net: RCU conversion of dev_getbyhwaddr() and\narp_ioctl()\" introduced a regression, reported by Jamie Heilman.\n\"arp -Ds 192.168.2.41 eth0 pub\" triggered the ASSERT_RTNL() assert\nin pneigh_lookup()\n\nRemoving RTNL requirement from arp_ioctl() was a mistake, just revert\nthat part.\n\nReported-by: Jamie Heilman \u003cjamie@audible.transient.net\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "545ecdc3b3a2fe0b54a3053bf8bf85321bbca7da",
      "tree": "2ece08798301e13a05f2d8b05e4e743105903f05",
      "parents": [
        "bfe0d0298f2a67d94d58c39ea904a999aeeb7c3c"
      ],
      "author": {
        "name": "Maxim Levitsky",
        "email": "maximlevitsky@gmail.com",
        "time": "Sat Jan 08 13:57:12 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 10 16:10:37 2011 -0800"
      },
      "message": "arp: allow to invalidate specific ARP entries\n\nIPv4 over firewire needs to be able to remove ARP entries\nfrom the ARP cache that belong to nodes that are removed, because\nIPv4 over firewire uses ARP packets for private information\nabout nodes.\n\nThis information becomes invalid as soon as node drops\noff the bus and when it reconnects, its only possible\nto start talking to it after it responded to an ARP packet.\nBut ARP cache prevents such packets from being sent.\n\nSigned-off-by: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "941666c2e3e0f9f6a1cb5808d02352d445bd702c",
      "tree": "389a773580ef22908391cc71f98982b03de62804",
      "parents": [
        "a2d4b65d477aad1fe8c7218781a031fa9cf5abfc"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Dec 05 01:23:53 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 10:07:24 2010 -0800"
      },
      "message": "net: RCU conversion of dev_getbyhwaddr() and arp_ioctl()\n\nLe dimanche 05 décembre 2010 à 09:19 +0100, Eric Dumazet a écrit :\n\n\u003e Hmm..\n\u003e\n\u003e If somebody can explain why RTNL is held in arp_ioctl() (and therefore\n\u003e in arp_req_delete()), we might first remove RTNL use in arp_ioctl() so\n\u003e that your patch can be applied.\n\u003e\n\u003e Right now it is not good, because RTNL wont be necessarly held when you\n\u003e are going to call arp_invalidate() ?\n\nWhile doing this analysis, I found a refcount bug in llc, I\u0027ll send a\npatch for net-2.6\n\nMeanwhile, here is the patch for net-next-2.6\n\nYour patch then can be applied after mine.\n\nThanks\n\n[PATCH] net: RCU conversion of dev_getbyhwaddr() and arp_ioctl()\n\ndev_getbyhwaddr() was called under RTNL.\n\nRename it to dev_getbyhwaddr_rcu() and change all its caller to now use\nRCU locking instead of RTNL.\n\nChange arp_ioctl() to use RCU instead of RTNL locking.\n\nNote: this fix a dev refcount bug in llc\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ae9c416d686db74f67d73c1bebf1e3a7e8b3c5b5",
      "tree": "e0bc7c093f164fa4b07b16fa411106b31dd9b07e",
      "parents": [
        "6464281161e46254ac39505ad41d21dbe7d1738f"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Wed Dec 01 20:07:31 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 06 12:59:09 2010 -0800"
      },
      "message": "net: arp: use assignment\n\nOnly when dont_send is 0, arp_filter() is consulted, so we can simply\nassign the return value of arp_filter() to dont_send instead.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\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": "0ed8ddf4045fcfcac36bad753dc4046118c603ec",
      "tree": "cf1d9eb14668c4d2257b3519ed7deec8c5cb396d",
      "parents": [
        "d122179a3c0fdc71b88cb9e3605f372b1651a9ff"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 07 10:44:07 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 11 12:54:04 2010 -0700"
      },
      "message": "neigh: Protect neigh-\u003eha[] with a seqlock\n\nAdd a seqlock in struct neighbour to protect neigh-\u003eha[], and avoid\ndirtying neighbour in stress situation (many different flows / dsts)\n\nDirtying takes place because of read_lock(\u0026n-\u003elock) and n-\u003eused writes.\n\nSwitching to a seqlock, and writing n-\u003eused only on jiffies changes\npermits less dirtying.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d6bf781712a1d25cc8987036b3a48535b331eb91",
      "tree": "cf83ab68ef2519576578d8336a43cc13cd375cde",
      "parents": [
        "110b2499370c401cdcc7c63e481084467291d556"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 04 06:15:44 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 05 14:54:36 2010 -0700"
      },
      "message": "net neigh: RCU conversion of neigh hash table\n\nDavid\n\nThis is the first step for RCU conversion of neigh code.\n\nNext patches will convert hash_buckets[] and \"struct neighbour\" to RCU\nprotected objects.\n\nThanks\n\n[PATCH net-next] net neigh: RCU conversion of neigh hash table\n\nInstead of storing hash_buckets, hash_mask and hash_rnd in \"struct\nneigh_table\", a new structure is defined :\n\nstruct neigh_hash_table {\n       struct neighbour        **hash_buckets;\n       unsigned int            hash_mask;\n       __u32                   hash_rnd;\n       struct rcu_head         rcu;\n};\n\nAnd \"struct neigh_table\" has an RCU protected pointer to such a\nneigh_hash_table.\n\nThis means the signature of (*hash)() function changed: We need to add a\nthird parameter with the actual hash_rnd value, since this is not\nanymore a neigh_table field.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a64de47c091e4a337fa9763315cb6f2fbf0c583b",
      "tree": "e545dbaede640218956daf1bdd5d503986318861",
      "parents": [
        "bfa5ae63b823f4ffd3483a05f60a93a4a7b7d680"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Sep 28 17:08:02 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 29 19:45:35 2010 -0700"
      },
      "message": "arp: remove unnecessary export of arp_broken_ops\n\narp_broken_ops is only used in arp.c\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a02cec2155fbea457eca8881870fd2de1a4c4c76",
      "tree": "cfbfc4b32bfe10f9cd803d46c31607d13f1858f5",
      "parents": [
        "6a08d194ee40806e0ccd5f36ed768e64cbfc979f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Sep 22 20:43:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 23 14:33:39 2010 -0700"
      },
      "message": "net: return operator cleanup\n\nChange \"return (EXPR);\" to \"return EXPR;\"\n\nreturn is not a function, parentheses are not required.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "deffd77759e3ceb936f0760cc54a213881577a83",
      "tree": "33bb636f23abde623b4ef2ceb5d4ba89167bcea9",
      "parents": [
        "c07b68e841bd737e2ebeb57268d251c89ccc5010"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Thu Sep 02 03:56:51 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 02 10:12:06 2010 -0700"
      },
      "message": "net: arp: code cleanup\n\nClean the code up according to Documentation/CodingStyle.\n\nDon\u0027t initialize the variable dont_send in arp_process().\n\nRemove the temporary varialbe flags in arp_state_to_flags().\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4bc2f18ba4f22a90ab593c0a580fc9a19c4777b6",
      "tree": "bb39f427bd468d0e34a73ebc788db726406fa261",
      "parents": [
        "ba80a2522899ea71a5b201bae60bdfd99126af95"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Jul 09 21:22:10 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 12 12:57:54 2010 -0700"
      },
      "message": "net/ipv4: EXPORT_SYMBOL cleanups\n\nCodingStyle cleanups\n\nEXPORT_SYMBOL should immediately follow the symbol declaration.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b4194c40f4ac8d03a700845f8978cba53246b5a",
      "tree": "11beaa1417395708bc6af1d9fcc1da401b9bc1d6",
      "parents": [
        "59b80802a8a18b64d38b51aa168253684b2649d5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jun 22 07:43:15 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 25 21:33:16 2010 -0700"
      },
      "message": "arp: RCU change in arp_solicit()\n\nAvoid two atomic ops in arp_solicit()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.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": "faa9dcf793beba05f7178b63a59eaa3ca5175b6a",
      "tree": "0addd3f98e77ab34a8686eaf6855896efe2f9c4f",
      "parents": [
        "4736022844fe694c4ee971fa2b6c1cb38dadbc78"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jun 03 04:09:10 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 03 20:01:52 2010 -0700"
      },
      "message": "arp: RCU changes\n\nAvoid two atomic ops in arp_fwd_proxy()\n\nAvoid two atomic ops in arp_process()\n\nValid optims since arp_rcv() is run under rcu_read_lock()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4a94445c9a5cf5461fb41d80040033b9a8e2a85a",
      "tree": "7891df11e4df4dd2c5149ef4fdc7d1301e7fca36",
      "parents": [
        "407eadd996dc62a827db85f1d0c286a98fd5d336"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon May 10 11:33:06 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 17:18:51 2010 -0700"
      },
      "message": "net: Use ip_route_input_noref() in input path\n\nUse ip_route_input_noref() in ip fast path, to avoid two atomic ops per\nincoming packet.\n\nNote: loopback is excluded from this optimization in ip_rcv_finish()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f0ecde1466f21edf577b809735f4f35f354777a0",
      "tree": "f901b890c53ec33f51e2eaa776f828fafede9759",
      "parents": [
        "bbd725435ddb1cac732f7a8c23c21ff67f24c60f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 10 04:59:07 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 10 04:59:07 2010 -0700"
      },
      "message": "net: Fix FDDI and TR config checks in ipv4 arp and LLC.\n\nNeed to check both CONFIG_FOO and CONFIG_FOO_MODULE\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "54716e3beb0ab20c49471348dfe399a71bfc8fd3",
      "tree": "216e2b70e58032217082da224c397db46c13429c",
      "parents": [
        "02291680ffba92e5b5865bc0c5e7d1f3056b80ec"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Feb 14 03:27:03 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 16 15:55:18 2010 -0800"
      },
      "message": "net neigh: Decouple per interface neighbour table controls from binary sysctls\n\nStop computing the number of neighbour table settings we have by\ncounting the number of binary sysctls.  This behaviour was silly\nand meant that we could not add another neighbour table setting\nwithout also adding another binary sysctl.\n\nDon\u0027t pass the binary sysctl path for neighour table entries\ninto neigh_sysctl_register.  These parameters are no longer\nused and so are just dead code.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6d955180b2f9ccff444df06265160868cabb289a",
      "tree": "2ceaf1e1e49664712cc13bb07833538c8723f645",
      "parents": [
        "fa44a73cc766c7f3bac71a66d564e0049b800325"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Mon Jan 18 12:58:44 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 19 02:12:34 2010 -0800"
      },
      "message": "ipv4: allow warming up the ARP cache with request type gratuitous ARP\n\nIf the per device ARP_ACCEPT option is enable, currently we only allow\ncreating new ARP cache entries for response type gratuitous ARP.\n\nAllowing gratuitous ARP to create new ARP entries (not only to update\nexisting ones) is useful when we want to avoid unnecessary delays for\nthe first packet of a stream.\n\nThis patch allows request type gratuitous ARP to create new ARP cache\nentries as well. This is useful when we want to populate the ARP cache\nentries for a large number of hosts on the same LAN.\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "65324144b50bc7022cc9b6ca8f4a536a957019e3",
      "tree": "1e910817f6d4f1ecd821bfd8ce493f81fe4aae60",
      "parents": [
        "ca8d9ea30bc79b2965a1d169dcb2f48f02af4d2d"
      ],
      "author": {
        "name": "Jesper Dangaard Brouer",
        "email": "hawk@comx.dk",
        "time": "Tue Jan 05 05:50:47 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 07 00:59:09 2010 -0800"
      },
      "message": "net: RFC3069, private VLAN proxy arp support\n\nThis is to be used together with switch technologies, like RFC3069,\nthat where the individual ports are not allowed to communicate with\neach other, but they are allowed to talk to the upstream router.  As\ndescribed in RFC 3069, it is possible to allow these hosts to\ncommunicate through the upstream router by proxy_arp\u0027ing.\n\nThis patch basically allow proxy arp replies back to the same\ninterface (from which the ARP request/solicitation was received).\n\nTunable per device via proc \"proxy_arp_pvlan\":\n  /proc/sys/net/ipv4/conf/*/proxy_arp_pvlan\n\nThis switch technology is known by different vendor names:\n - In RFC 3069 it is called VLAN Aggregation.\n - Cisco and Allied Telesyn call it Private VLAN.\n - Hewlett-Packard call it Source-Port filtering or port-isolation.\n - Ericsson call it MAC-Forced Forwarding (RFC Draft).\n\nSigned-off-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f8572d8f2a2ba75408b97dc24ef47c83671795d7",
      "tree": "052506a457939fea00d138d3a982d778df34e14c",
      "parents": [
        "86b1bc68e2f4244e4ea5db5458df9d19259fbb30"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Nov 05 13:32:03 2009 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Nov 12 02:05:06 2009 -0800"
      },
      "message": "sysctl net: Remove unused binary sysctl code\n\nNow that sys_sysctl is a compatiblity wrapper around /proc/sys\nall sysctl strategy routines, and all ctl_name and strategy\nentries in the sysctl tables are unused, and can be\nrevmoed.\n\nIn addition neigh_sysctl_register has been modified to no longer\ntake a strategy argument and it\u0027s callers have been modified not\nto pass one.\n\nCc: \"David Miller\" \u003cdavem@davemloft.net\u003e\nCc: Hideaki YOSHIFUJI \u003cyoshfuji@linux-ipv6.org\u003e\nCc: netdev@vger.kernel.org\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\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": "a3e8ee682003685b8b9c98c89340a42e48c3e813",
      "tree": "11d1c94289aa4c4aa668b3df6bd121d9eb76acdc",
      "parents": [
        "3d54015b750e5d5e950a1dcee2735387fd4b6e1a"
      ],
      "author": {
        "name": "roel kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Wed Jul 29 23:46:59 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 30 13:27:29 2009 -0700"
      },
      "message": "ipv4: ARP neigh procfs buffer overflow\n\nIf arp_format_neigh_entry() can be called with n-\u003edev-\u003eaddr_len \u003d\u003d 0, then a\nwrite to hbuffer[-1] occurs.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f8a68e752bc4e39644843403168137663c984524",
      "tree": "3fb17f72a02319f92bd3ed4d73456bbc7e8ac633",
      "parents": [
        "59ed6eecff4aa00c5c5d18ffd180acac108d596e"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jun 30 16:27:17 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 30 19:47:08 2009 -0700"
      },
      "message": "Revert \"ipv4: arp announce, arp_proxy and windows ip conflict verification\"\n\nThis reverts commit 73ce7b01b4496a5fbf9caf63033c874be692333f.\n\nAfter discovering that we don\u0027t listen to gratuitious arps in 2.6.30\nI tracked the failure down to this commit.\n\nThe patch makes absolutely no sense.  RFC2131 RFC3927 and RFC5227.\nare all in agreement that an arp request with sip \u003d\u003d 0 should be used\nfor the probe (to prevent learning) and an arp request with sip \u003d\u003d tip\nshould be used for the gratitous announcement that people can learn\nfrom.\n\nIt appears the author of the broken patch got those two cases confused\nand modified the code to drop all gratuitous arp traffic.  Ouch!\n\nCc: stable@kernel.org\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "adf30907d63893e4208dfe3f5c88ae12bc2f25d5",
      "tree": "0f07542bb95de2ad537540868aba6cf87a86e17d",
      "parents": [
        "511c3f92ad5b6d9f8f6464be1b4f85f0422be91a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jun 02 05:19:30 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 03 02:51:04 2009 -0700"
      },
      "message": "net: skb-\u003edst accessors\n\nDefine three accessors to get/set dst attached to a skb\n\nstruct dst_entry *skb_dst(const struct sk_buff *skb)\n\nvoid skb_dst_set(struct sk_buff *skb, struct dst_entry *dst)\n\nvoid skb_dst_drop(struct sk_buff *skb)\nThis one should replace occurrences of :\ndst_release(skb-\u003edst)\nskb-\u003edst \u003d NULL;\n\nDelete skb-\u003edst field\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "511c3f92ad5b6d9f8f6464be1b4f85f0422be91a",
      "tree": "3e368d9a78f87eb9dd7ff9e57f4aab3f4a96e3b1",
      "parents": [
        "dfbf97f3ac980b69dfbc41c83a208211a38443e8"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jun 02 05:14:27 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 03 02:51:02 2009 -0700"
      },
      "message": "net: skb-\u003ertable accessor\n\nDefine skb_rtable(const struct sk_buff *skb) accessor to get rtable from skb\n\nDelete skb-\u003ertable field\n\nSetting rtable is not allowed, just set dst instead as rtable is an alias.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "73ce7b01b4496a5fbf9caf63033c874be692333f",
      "tree": "0443c33aa40c45f6f1867dba2440369c225f5667",
      "parents": [
        "1f8ae0a21d83f43006d7f6d2862e921dbf2eeddd"
      ],
      "author": {
        "name": "Denys Fedoryshchenko",
        "email": "denys@visp.net.lb",
        "time": "Fri Mar 13 16:02:07 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 13 16:02:07 2009 -0700"
      },
      "message": "ipv4: arp announce, arp_proxy and windows ip conflict verification\n\nWindows (XP at least) hosts on boot, with configured static ip, performing \naddress conflict detection, which is defined in RFC3927.\nHere is quote of important information:\n\n\"\nAn ARP announcement is identical to the ARP Probe described above, \nexcept    that now the sender and target IP addresses are both set \nto the host\u0027s newly selected IPv4 address. \n\"\n\nBut it same time this goes wrong with RFC5227.\n\"\nThe \u0027sender IP address\u0027 field MUST be set to all zeroes; this is to avoid\npolluting ARP caches in other hosts on the same link in the case\nwhere the address turns out to be already in use by another host.\n\"\n\nWhen ARP proxy configured, it must not answer to both cases, because \nit is address conflict verification in any case. For Windows it is just \ncausing to detect false \"ip conflict\". Already there is code for RFC5227, so \njust trivially we just check also if source ip \u003d\u003d target ip.\n\nSigned-off-by: Denys Fedoryshchenko \u003cdenys@visp.net.lb\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ead2ceb0ec9f85cff19c43b5cdb2f8a054484431",
      "tree": "258874b824bf241698d943daa9298bb18955e451",
      "parents": [
        "4893d39e865b2897bf9fcd329697d37032d853a1"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Mar 11 09:49:55 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 13 12:09:28 2009 -0700"
      },
      "message": "Network Drop Monitor: Adding kfree_skb_clean for non-drops and modifying end-of-line points for skbs\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\n\n include/linux/skbuff.h |    4 +++-\n net/core/datagram.c    |    2 +-\n net/core/skbuff.c      |   22 ++++++++++++++++++++++\n net/ipv4/arp.c         |    2 +-\n net/ipv4/udp.c         |    2 +-\n net/packet/af_packet.c |    2 +-\n 6 files changed, 29 insertions(+), 5 deletions(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7546dd97d27306d939c13e03318aae695badaa88",
      "tree": "ced310466fd679ceae4e676ae8c31fd78b7bd72f",
      "parents": [
        "3f612132c7164d5cc9ed677a2fdf8950222d2170"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Mar 09 08:18:29 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 10 05:22:43 2009 -0700"
      },
      "message": "net: convert usage of packet_type to read_mostly\n\nProtocols that use packet_type can be __read_mostly section for better\nlocality. Elminate any unnecessary initializations of NULL.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "09640e6365c679b5642b1c41b6d7078f51689ddf",
      "tree": "a2b80c153bd23fe59db8c6994fda29923819fcea",
      "parents": [
        "ee437770c42088b9b653e8b3bf28a61fa647f84e"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Sun Feb 01 00:45:17 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 01 00:45:17 2009 -0800"
      },
      "message": "net: replace uses of __constant_{endian}\n\nBase versions handle constant folding now.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8164f1b79731ad8ad9c713dc53d587a3b746f82f",
      "tree": "d9e9cf462fccbfbc217b064dcf41789033faf7e9",
      "parents": [
        "6ea7ae1d0fc02a6c4ccd27e43346f67c44226e7a"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Sun Nov 16 19:19:38 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 19:19:38 2008 -0800"
      },
      "message": "ipv4: Fix ARP behavior with many mac-vlans\n\nBen Greear wrote:\n\u003e I have 500 mac-vlans on a system talking to 500 other\n\u003e mac-vlans.  My problem is that the arp-table gets extremely\n\u003e huge because every time an arp-request comes in on all mac-vlans,\n\u003e a stale arp entry is added for each mac-vlan.  I have filtering\n\u003e turned on, but that doesn\u0027t help because the neigh_event_ns call\n\u003e below will cause a stale neighbor entry to be created regardless\n\u003e of whether a replay will be sent or not.\n\u003e Maybe the neigh_event code should be below the checks for dont_send,\n\u003e and only create check neigh_event_ns if we are !dont_send?\n\nThe attached patch makes it work much better for me.  The patch\nwill cause the code to NOT create a stale neighbor entry if we\nare not going to respond to the ARP request.  The old code\n*would* create a stale entry even if we are not going to respond.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f4cca7ffb2700bff5752fbbc28f49d58ed2c5cb3",
      "tree": "dbf7b28cc43e7099b1ee4869bbf8c9bb8f363c46",
      "parents": [
        "fd3f8c4cb632c28ef915a535617a0fcddcfe3f80"
      ],
      "author": {
        "name": "Jianjun Kong",
        "email": "jianjun@zeuux.org",
        "time": "Mon Nov 03 02:48:14 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 03 02:48:14 2008 -0800"
      },
      "message": "net: clean up net/ipv4/pararp.c\n\nSigned-off-by: Jianjun Kong \u003cjianjun@zeuux.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "673d57e72398edfedc93fb50ff58048077c9d587",
      "tree": "4c6a83072ac64ef63ad73574c3e1c0a683524163",
      "parents": [
        "cffee385d7f367e80b288abf4261256477f7760e"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Oct 31 00:53:57 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 31 00:53:57 2008 -0700"
      },
      "message": "net: replace NIPQUAD() in net/ipv4/ net/ipv6/\n\nUsing NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u\ncan be replaced with %pI4\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fdc9314cbe027281b5440780692105d49b53cf2c",
      "tree": "2c4107753fd3cc8cd5b31dfb24bfca1e248ec5ce",
      "parents": [
        "67671841dfb82df7a60c46e6fefe813cf57805ff"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Mon Oct 20 03:34:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 20 03:34:51 2008 -0700"
      },
      "message": "netfilter: replace old NF_ARP calls with NFPROTO_ARP\n\n(Supplements: ee999d8b9573df1b547aacdc6d79f86eb79c25cd)\n\nNFPROTO_ARP actually has a different value from NF_ARP, so ensure all\ncallers use the new value so that packets _do_ get delivered to the\nregistered hooks.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de0744af1fe2d0a3d428f6af0f2fe1f6179b1a9c",
      "tree": "68d02820b1aa13e8fa9743c0ece5930a13d5a205",
      "parents": [
        "4e6734447dbc7a0a85e09616821c0782d9fb1141"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:31:16 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:31:16 2008 -0700"
      },
      "message": "mib: add net to NET_INC_STATS_BH\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ca12a1a443a51298afcca627ad0bcbd8ad1dcddc",
      "tree": "9eebfe3f3b5812ea524d0b32223fb622a8d12bc8",
      "parents": [
        "5c52ba170f8167511bdb65b981f4582100c40675"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:28:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:28:42 2008 -0700"
      },
      "message": "inet: prepare net on the stack for NET accounting macros\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76e6ebfb40a2455c18234dcb0f9df37533215461",
      "tree": "f3b435e8b27a297f330fc7d497a0ef44022e7239",
      "parents": [
        "f43798c27684ab925adde7d8acc34c78c6e50df8"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Jul 05 19:00:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 19:00:44 2008 -0700"
      },
      "message": "netns: add namespace parameter to rt_cache_flush\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0b040829952d84bf2a62526f0e24b624e0699447",
      "tree": "b2e836e7e64343f19b949e50099bbe2ea554ec30",
      "parents": [
        "573bf470e693f73a6ac437b17a64a10902ba54bf"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Jun 10 22:46:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 11 21:00:38 2008 -0700"
      },
      "message": "net: remove CVS keywords\n\nThis patch removes CVS keywords that weren\u0027t updated for a long time\nfrom comments.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51f82a2b128131c411880aed2cb802b166fe3445",
      "tree": "fe5012bc03369ef2247c148720344a834a226b2f",
      "parents": [
        "b1443e2f6501f06930a162ff1ff08382a98bf23e"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Wed May 21 17:34:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 21 17:34:32 2008 -0700"
      },
      "message": "net/ipv4/arp.c: Use common hex_asc helpers\n\nHere the local hexbuf is a duplicate of global const char hex_asc from\nlib/hexdump.c, except the hex letters\u0027 cases:\n\n\tconst char hexbuf[] \u003d \"0123456789ABCDEF\";\n\n\tconst char hex_asc[] \u003d \"0123456789abcdef\";\n\nand here to print HW addresses, the hex cases are not significant.\n\nThanks to Harvey Harrison to introduce the hex_asc_hi/hex_asc_lo helpers.\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f5184d267c1aedb9b7a8cc44e08ff6b8d382c3b5",
      "tree": "5ccce7558f9e1e53e5b189d6e2fe62a667988ac8",
      "parents": [
        "8388e3da34edb141362bb42811ee487dfec15525"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon May 12 20:48:31 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 12 20:48:31 2008 -0700"
      },
      "message": "net: Allow netdevices to specify needed head/tailroom\n\nThis patch adds needed_headroom/needed_tailroom members to struct\nnet_device and updates many places that allocate sbks to use them. Not\nall of them can be converted though, and I\u0027m sure I missed some (I\nmostly grepped for LL_RESERVED_SPACE)\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a7d632b6b4ad1c92746ed409e41f9dc571ec04e2",
      "tree": "90e6aa51a9df50aa4a437749e89356ab15a0ff5f",
      "parents": [
        "334f8b2afd9652e20f67ddee4fec483ed860425b"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Mon Apr 14 04:09:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 14 04:09:00 2008 -0700"
      },
      "message": "[IPV4]: Use NIPQUAD_FMT to format ipv4 addresses.\n\nAnd use %u to format port.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c346dca10840a874240c78efe3f39acf4312a1f2",
      "tree": "c04cff20124eba5cc337cc5ec260ad2513eeb065",
      "parents": [
        "7cbca67c073263c179f605bdbbdc565ab29d801d"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Mar 25 21:47:49 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:53 2008 +0900"
      },
      "message": "[NET] NETNS: Omit net_device-\u003end_net without CONFIG_NET_NS.\n\nIntroduce per-net_device inlines: dev_net(), dev_net_set().\nWithout CONFIG_NET_NS, no namespace other than \u0026init_net exists.\nLet\u0027s explicitly define them to help compiler optimizations.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "ffc31d3d7719555cd784ecaf82e9c237f3a747ab",
      "tree": "19a911043bcc15be7fb321f41a5c492f30021c52",
      "parents": [
        "49e8a279a1b79e14b51aa6d4102b3a3de39e7a5e"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Mar 24 15:28:43 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 24 15:28:43 2008 -0700"
      },
      "message": "[NETNS]: /proc/net/arp namespacing.\n\nSeqfile operation showing /proc/net/arp are already namespace\naware. All we need is to register this file for each namespace.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "49e8a279a1b79e14b51aa6d4102b3a3de39e7a5e",
      "tree": "525cdb6a1f31e5ad32bc7d7ce8e4e8d9476a5af8",
      "parents": [
        "2feb27dbe00cbb4f7d31f90acf6bd0d751dd0a50"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Mar 24 15:28:12 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 24 15:28:12 2008 -0700"
      },
      "message": "[NETNS]: Process ARP in the context of the correct namespace.\n\nGet namespace from a device and pass it to the routing engine. Enable\nARP packet processing and device notifiers after that.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ee6b967301b4aa5d4a4b61e2f682f086266db9fb",
      "tree": "197c2430f87733dc80d00d1971f1be2a0e562358",
      "parents": [
        "a05c44f6d5fb6cd29da04f96bf5ffaa05f545ac5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Mar 05 18:30:47 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 05 18:30:47 2008 -0800"
      },
      "message": "[IPV4]: Add \u0027rtable\u0027 field in struct sk_buff to alias \u0027dst\u0027 and avoid casts\n\n(Anonymous) unions can help us to avoid ugly casts.\n\nA common cast it the (struct rtable *)skb-\u003edst one.\n\nDefining an union like  :\nunion {\n     struct dst_entry *dst;\n     struct rtable *rtable;\n};\npermits to use skb-\u003ertable in place.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "988b705077d8f922408913f4f521ae073256d4a1",
      "tree": "9b57725b954e1e96a80043ed43d83f8e032b47b6",
      "parents": [
        "8ed7edce82ca0d8d3adba8c08cd42337af6c758c"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Mar 03 12:20:57 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 03 12:20:57 2008 -0800"
      },
      "message": "[ARP]: Introduce the arp_hdr_len helper.\n\nThere are some place, that calculate the ARP header length. These\ncalculations are correct, but \n a) some operate with \"magic\" constants,\n b) enlarge the code length (sometimes at the cost of coding style),\n c) are not informative from the first glance.\n\nThe proposal is to introduce a helper, that includes all the good\nsides of these calculations.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ff566074689e3aed1488780b97714ec43ba361d",
      "tree": "10bfc8ab214696ba08e5e25018d24c3de8018801",
      "parents": [
        "93b2d4a208eeb19bff95e98c34503ce4b03cd0f9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 17 18:39:54 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 17 18:39:54 2008 -0800"
      },
      "message": "Revert \"[NDISC]: Fix race in generic address resolution\"\n\nThis reverts commit 69cc64d8d92bf852f933e90c888dfff083bd4fc9.\n\nIt causes recursive locking in IPV6 because unlike other\nneighbour layer clients, it even needs neighbour cache\nentries to send neighbour soliciation messages :-(\n\nWe\u0027ll have to find another way to fix this race.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "69cc64d8d92bf852f933e90c888dfff083bd4fc9",
      "tree": "33e3b7c690fc1b0658cd64dac3d8c3ef7e7bb71f",
      "parents": [
        "3611f4d2a5e0f6135805f88bc5ecb63fa9ee5107"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 11 21:45:44 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 12 17:54:17 2008 -0800"
      },
      "message": "[NDISC]: Fix race in generic address resolution\n\nFrank Blaschka provided the bug report and the initial suggested fix\nfor this bug.  He also validated this version of this fix.\n\nThe problem is that the access to neigh-\u003earp_queue is inconsistent, we\ngrab references when dropping the lock lock to call\nneigh-\u003eops-\u003esolicit() but this does not prevent other threads of\ncontrol from trying to send out that packet at the same time causing\ncorruptions because both code paths believe they have exclusive access\nto the skb.\n\nThe best option seems to be to hold the write lock on neigh-\u003elock\nduring the -\u003esolicit() call.  I looked at all of the ndisc_ops\nimplementations and this seems workable.  The only case that needs\nspecial care is the IPV4 ARP implementation of arp_solicit().  It\nwants to take neigh-\u003elock as a reader to protect the header entry in\nneigh-\u003eha during the emission of the soliciation.  We can simply\nremove the read lock calls to take care of that since holding the lock\nas a writer at the caller providers a superset of the protection\nafforded by the existing read locking.\n\nThe rest of the -\u003esolicit() implementations don\u0027t care whether the\nneigh is locked or not.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "abfdf1c48907f78ad7d943b77ea180bf5504564f",
      "tree": "a86caaae9c3c70b7a07f2abb10e854d3153e8124",
      "parents": [
        "000e8a53540b75a885efeb00ec1f1cb3c8d0bead"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Thu Jan 31 03:59:24 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:33 2008 -0800"
      },
      "message": "[NETFILTER]: ebtables: remove casts, use consts\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f206351a50ea86250fabea96b9af8d8f8fc02603",
      "tree": "014148d8b45db1995d98374ec3b30e635f243197",
      "parents": [
        "f1b050bf7a88910f9f00c9c8989c1bf5a67dd140"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 22:07:34 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:07 2008 -0800"
      },
      "message": "[NETNS]: Add namespace parameter to ip_route_output_key.\n\nNeeded to propagate it down to the ip_route_output_flow.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39a6d06300128d32f361f4f790beba0ca83730eb",
      "tree": "7f47f52708e17eed923cfbbc56e348ab4c573cb9",
      "parents": [
        "9bd85e32644d4d3744117b0a196ad4382f8acf35"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Jan 14 23:06:19 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:02:13 2008 -0800"
      },
      "message": "[NETNS]: Process inet_confirm_addr in the correct namespace.\n\ninet_confirm_addr can be called with NULL in_dev from arp_ignore iff\nscope is RT_SCOPE_LINK.\n\nLets always pass the device and check for RT_SCOPE_LINK scope inside\ninet_confirm_addr. This let us take network namespace from in_device a\nneed for an additional argument.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9bd85e32644d4d3744117b0a196ad4382f8acf35",
      "tree": "d25bb624d799e787f9de589f317001ee8b2357aa",
      "parents": [
        "06f0511df1b3b32fc8e0840514d4b207150f1fa7"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Jan 14 23:05:55 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:02:12 2008 -0800"
      },
      "message": "[IPV4]: Remove extra argument from arp_ignore.\n\narp_ignore has two arguments: dev \u0026 in_dev. dev is used for\ninet_confirm_addr calling only.\n\ninet_confirm_addr, in turn, either gets in_dev from the device passed\nor iterates over all network devices if the device passed is NULL. It\nseems logical to directly pass in_dev into inet_confirm_addr.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2db82b534bd52b349f1b2ab3e63aa40ca0e466ab",
      "tree": "c4302da806fb0d7031ddd1fd22c27e31bd5d5c65",
      "parents": [
        "a79878f00dad97d03a3e62a48b06227d55ae5fe4"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Jan 14 22:58:55 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:02:08 2008 -0800"
      },
      "message": "[NETNS]: Make arp code network namespace consistent.\n\nSome calls in the arp.c have network namespace as an argument. Getting\ninit_net inside these functions is simply inconsistent. Fix this.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a79878f00dad97d03a3e62a48b06227d55ae5fe4",
      "tree": "6d723e833f6e284da09580d8981d26a1ec32f587",
      "parents": [
        "a308da1627d711fd0c7542bfe892abc78d65d215"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Jan 14 22:56:01 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:02:08 2008 -0800"
      },
      "message": "[ARP]: Move inet_addr_type call after simple error checks in arp_contructor.\n\nThe neighbour entry will be destroyed in the case of error, so it is\npointless to perform constly routing table lookup in this case.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6b175b26c1048d331508940ad3516ead1998084f",
      "tree": "810b0a18cee4d87c573274fdfd4a59fc624cfed2",
      "parents": [
        "8ad4942cd5bdad4143f7aa1d1bd4f7b2526c19c5"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Jan 10 03:25:28 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:01:27 2008 -0800"
      },
      "message": "[NETNS]: Add netns parameter to inet_(dev_)add_type.\n\nThe patch extends the inet_addr_type and inet_dev_addr_type with the\nnetwork namespace pointer. That allows to access the different tables\nrelatively to the network namespace.\n\nThe modification of the signature function is reported in all the\ncallers of the inet_addr_type using the pointer to the well known\ninit_net.\n\nAcked-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cb7928a528264a69b29b6001b490b64607ed0557",
      "tree": "250a296f668275eb628e6dd1f83c221f0afae422",
      "parents": [
        "f0b5a0dcf125ce43855961ef4f965a91112bea23"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Wed Jan 09 00:18:24 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:01:07 2008 -0800"
      },
      "message": "[IPV4]: Remove unsupported DNAT (RTCF_NAT and RTCF_NAT) in IPV4\n\n- The DNAT (Destination NAT) is not implemented in IPV4.\n\n- This patch remove the code which checks these flags\nin net/ipv4/arp.c and net/ipv4/route.c.\n\nThe RTCF_NAT and RTCF_NAT should stay in the header (linux/in_route.h)\nbecause they are used in DECnet.\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "426b5303eb435d98b9bee37a807be386bc2b3320",
      "tree": "86f7bd945101d9ac51afb22a210d22b8ff956a4e",
      "parents": [
        "e1af9f270b69a3ad1dcbabb404dd1f40a96f43f5"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Jan 24 00:13:18 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:00:03 2008 -0800"
      },
      "message": "[NETNS]: Modify the neighbour table code so it handles multiple network namespaces\n\nI\u0027m actually surprised at how much was involved.  At first glance it\nappears that the neighbour table data structures are already split by\nnetwork device so all that should be needed is to modify the user\ninterface commands to filter the set of neighbours by the network\nnamespace of their devices.\n\nHowever a couple things turned up while I was reading through the\ncode.  The proxy neighbour table allows entries with no network\ndevice, and the neighbour parms are per network device (except for the\ndefaults) so they now need a per network namespace default.\n\nSo I updated the two structures (which surprised me) with their very\nown network namespace parameter.  Updated the relevant lookup and\ndestroy routines with a network namespace parameter and modified the\ncode that interacts with users to filter out neighbour table entries\nfor devices of other namespaces.\n\nI\u0027m a little concerned that we can modify and display the global table\nconfiguration and from all network namespaces.  But this appears good\nenough for now.\n\nI keep thinking modifying the neighbour table to have per network\nnamespace instances of each table type would should be cleaner.  The\nhash table is already dynamically sized so there are it is not a\nlimiter.  The default parameter would be straight forward to take care\nof.  However when I look at the how the network table is built and\nused I still find some assumptions that there is only a single\nneighbour table for each type of table in the kernel.  The netlink\noperations, neigh_seq_start, the non-core network users that call\nneigh_lookup.  So while it might be doable it would require more\nrefactoring than my current approach of just doing a little extra\nfiltering in the code.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f97c1e0c6ebdb606c97b6cb5e837c6110ac5a961",
      "tree": "2af3da0114614a127099f9ab2ef706f676faa376",
      "parents": [
        "21cf2253ebcf070bc307e0b56d696a2519c75cb4"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Dec 16 13:45:43 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:58:15 2008 -0800"
      },
      "message": "[IPV4] net/ipv4: Use ipv4_is_\u003ctype\u003e\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "586f12115264b767ea6a48ce081ca25a39c1e3dd",
      "tree": "48bb41f07d4dc2a1e0d9f9d71286594d3b9800fa",
      "parents": [
        "9355bbd685bf705a7f7bd6470b92ca0562c7a661"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sun Dec 16 13:32:48 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:58:12 2008 -0800"
      },
      "message": "[IPV4]: Switch users of ipv4_devconf(_all) to use the pernet one\n\nThese are scattered over the code, but almost all the\n\"critical\" places already have the proper struct net\nat hand except for snmp proc showing function and routing\nrtnl handler.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "32e569b7277f13c4b27bb29c761189963e49ce7a",
      "tree": "63c1a7b0b44169644e7efdc4f351d6b8cb13cdd7",
      "parents": [
        "ea40b324d791d86a42b858d073007de4d133227e"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sun Dec 16 13:30:39 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:58:09 2008 -0800"
      },
      "message": "[IPV4]: Pass the net pointer to the arp_req_set_proxy()\n\nThis one will need to set the IPV4_DEVCONF_ALL(PROXY_ARP), but\nthere\u0027s no ways to get the net right in place, so we have to\npull one from the inet_ioctl\u0027s struct sock.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f8b33fdfafea0f909712a55fbb3d83b89f70f3f5",
      "tree": "a933c08d0302ae39ea1aa5e2c09382954d4c2453",
      "parents": [
        "46479b432989d61c6f676adf21b4f4d8abd7bc26"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Dec 05 21:20:50 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:56:38 2008 -0800"
      },
      "message": "[ARP]: Consolidate some code in arp_req_set/delete_publc\n\nThe PROXY_ARP is set on devconfigs in a similar way in\nboth calls.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "46479b432989d61c6f676adf21b4f4d8abd7bc26",
      "tree": "5e81203d7085c75274ed1948fc091ddd7de17ce4",
      "parents": [
        "43dc1701172b7f73c495dea6c165c73ab8934f76"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Dec 05 21:20:18 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:56:38 2008 -0800"
      },
      "message": "[ARP]: Minus one level of ndentation in arp_req_delete\n\nThe same cleanup for deletion requests.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "43dc1701172b7f73c495dea6c165c73ab8934f76",
      "tree": "d5b649c6aa299ced306b8ae7f24fdf8032db2da6",
      "parents": [
        "1ff1cc202e9a7dbd9f54d1bce5adb44283497185"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Dec 05 21:19:44 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:56:37 2008 -0800"
      },
      "message": "[ARP]: Minus one level of indentation in arp_req_set\n\nThe ATF_PUBL requests are handled completely separate from\nthe others. Emphasize it with a separate function. This also\nreduces the indentation level.\n\nThe same issue exists with the arp_delete_request, but\nwhen I tried to make it in one patch diff produced completely\nunreadable patch. So I split it into two, but they may be\ndone with one commit.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a9e527e3f9f4510e9f3450ca3bc51bc3ef2854fd",
      "tree": "519458581cf3b8dd7c7a6d19c29572efb3405df1",
      "parents": [
        "755807a296f77ca7c31dc000afdfe1e5172bbf72"
      ],
      "author": {
        "name": "Rolf Manderscheid",
        "email": "rvm@obsidianresearch.com",
        "time": "Mon Dec 10 13:38:41 2007 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jan 25 14:15:37 2008 -0800"
      },
      "message": "IPoIB: improve IPv4/IPv6 to IB mcast mapping functions\n\nAn IPoIB subnet on an IB fabric that spans multiple IB subnets can\u0027t\nuse link-local scope in multicast GIDs.  The existing routines that\nmap IP/IPv6 multicast addresses into IB link-level addresses hard-code\nthe scope to link-local, and they also leave the partition key field\nuninitialised.  This patch adds a parameter (the link-level broadcast\naddress) to the mapping routines, allowing them to initialise both the\nscope and the P_Key appropriately, and fixes up the call sites.\n\nThe next step will be to add a way to configure the scope for an IPoIB\ninterface.\n\nSigned-off-by: Rolf Manderscheid \u003crvm@obsidianresearch.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "e0260feddf8a68301c75cdfff9ec251d5851b006",
      "tree": "e2de76fad9b970a547b848219c146b7534a87aa9",
      "parents": [
        "286e310f94b9459f3fa975333781c969b1041522"
      ],
      "author": {
        "name": "Mark Ryden",
        "email": "markryde@gmail.com",
        "time": "Wed Dec 19 23:38:11 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 19 23:38:11 2007 -0800"
      },
      "message": "[IPV4] ARP: Remove not used code\n\nIn arp_process() (net/ipv4/arp.c), there is unused code: definition\nand assignment of tha (target hw address ).\n\nSigned-off-by: Mark Ryden \u003cmarkryde@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3660019e5f96fd9a8b7d4214a96523c0bf7b676d",
      "tree": "71f6f3fdd539473f5c6d9230c77a9b36d741ec90",
      "parents": [
        "2d4baff8da06f424a6fca10e26434c4926a7c3df"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Nov 26 23:17:53 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Nov 26 23:17:53 2007 +0800"
      },
      "message": "[IPV4]: Remove bogus ifdef mess in arp_process\n\nThe #ifdef\u0027s in arp_process() were not only a mess, they were also wrong \nin the CONFIG_NET_ETHERNET\u003dn and (CONFIG_NETDEV_1000\u003dy or \nCONFIG_NETDEV_10000\u003dy) cases.\n\nSince they are not required this patch removes them.\n\nAlso removed are some #ifdef\u0027s around #include\u0027s that caused compile \nerrors after this change.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "b4a9811c42ecb70b2f0b375f6d4c77ab34d1f598",
      "tree": "84cb96d0195a995b6d5bd5ca31c6c270e6097dbc",
      "parents": [
        "77adefdc9863d63f8d8bdc6a9adcdf9a6b0e2410"
      ],
      "author": {
        "name": "Jonas Danielsson",
        "email": "the.sator@gmail.com",
        "time": "Tue Nov 20 17:38:16 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 20 17:38:16 2007 -0800"
      },
      "message": "[ARP]: Fix arp reply when sender ip 0\n\nFix arp reply when received arp probe with sender ip 0.\n\nSend arp reply with target ip address 0.0.0.0 and target hardware\naddress set to hardware address of requester. Previously sent reply\nwith target ip address and target hardware address set to same as\nsource fields.\n\nSigned-off-by: Jonas Danielsson \u003cthe.sator@gmail.com\u003e\nAcked-by: Alexey Kuznetov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf7732e4cc14b56d593ff53352673e1fd5e3ba52",
      "tree": "3479e278b72f9d535a58066bc2a26238806252ce",
      "parents": [
        "39699037a5c94d7cd1363dfe48a50c78c643fd9a"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 10 02:29:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:33 2007 -0700"
      },
      "message": "[NET]: Make core networking code use seq_open_private\n\nThis concerns the ipv4 and ipv6 code mostly, but also the netlink\nand unix sockets.\n\nThe netlink code is an example of how to use the __seq_open_private()\ncall - it saves the net namespace on this private.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b04ddde02cf1b6f14f2697da5c20eca5715017f",
      "tree": "9da1341a5a399a507b5ea6bf5a3047506b8d8f8f",
      "parents": [
        "b95cce3576813ac3f86bafa6b5daaaaf7574b0fe"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Oct 09 01:40:57 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:52 2007 -0700"
      },
      "message": "[NET]: Move hardware header operations out of netdevice.\n\nSince hardware header operations are part of the protocol class\nnot the device instance, make them into a separate object and\nsave memory.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c4e85813d0a94eeb8bf813397a4907bdd7bb610",
      "tree": "53ee948abc930bb1c5cd270c490f87fda5eb45b3",
      "parents": [
        "4c94f8c0c9a82fad84bc5df453aff755cfed70b7"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Oct 09 01:36:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:50 2007 -0700"
      },
      "message": "[NET]: Wrap netdevice hardware header creation.\n\nAdd inline for common usage of hardware header creation, and\nfix bug in IPV6 mcast where the assumption about negative return is\nan errno. Negative return from hard_header means not enough space\nwas available,(ie -N bytes).\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "881d966b48b035ab3f3aeaae0f3d3f9b584f45b2",
      "tree": "c579d59a4107cbbe9e2b85939bc0d496b815c887",
      "parents": [
        "b4b510290b056b86611757ce1175a230f1080f53"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 11:56:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:10 2007 -0700"
      },
      "message": "[NET]: Make the device list and device lookups per namespace.\n\nThis patch makes most of the generic device layer network\nnamespace safe.  This patch makes dev_base_head a\nnetwork namespace variable, and then it picks up\na few associated variables.  The functions:\ndev_getbyhwaddr\ndev_getfirsthwbytype\ndev_get_by_flags\ndev_get_by_name\n__dev_get_by_name\ndev_get_by_index\n__dev_get_by_index\ndev_ioctl\ndev_ethtool\ndev_load\nwireless_process_ioctl\n\nwere modified to take a network namespace argument, and\ndeal with it.\n\nvlan_ioctl_set and brioctl_set were modified so their\nhooks will receive a network namespace argument.\n\nSo basically anthing in the core of the network stack that was\naffected to by the change of dev_base was modified to handle\nmultiple network namespaces.  The rest of the network stack was\nsimply modified to explicitly use \u0026init_net the initial network\nnamespace.  This can be fixed when those components of the network\nstack are modified to handle multiple network namespaces.\n\nFor now the ifindex generator is left global.\n\nFundametally ifindex numbers are per namespace, or else\nwe will have corner case problems with migration when\nwe get that far.\n\nAt the same time there are assumptions in the network stack\nthat the ifindex of a network device won\u0027t change.  Making\nthe ifindex number global seems a good compromise until\nthe network stack can cope with ifindex changes when\nyou change namespaces, and the like.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9dc86534051b78e41e5b746cccc291b57a3a311",
      "tree": "1cd4a1dde4c51b6311749428a22cc8a8f5436825",
      "parents": [
        "e730c15519d09ea528b4d2f1103681fa5937c0e6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 13:02:17 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:09 2007 -0700"
      },
      "message": "[NET]: Make device event notification network namespace safe\n\nEvery user of the network device notifiers is either a protocol\nstack or a pseudo device.  If a protocol stack that does not have\nsupport for multiple network namespaces receives an event for a\ndevice that is not in the initial network namespace it quite possibly\ncan get confused and do the wrong thing.\n\nTo avoid problems until all of the protocol stacks are converted\nthis patch modifies all netdev event handlers to ignore events on\ndevices that are not in the initial network namespace.\n\nAs the rest of the code is made network namespace aware these\nchecks can be removed.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e730c15519d09ea528b4d2f1103681fa5937c0e6",
      "tree": "c117294523f4d004fb1d740610b6403e5744cdfc",
      "parents": [
        "6d34b1c27a72d5d1c73c567b2f6b1fde316e0eae"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 11:53:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:08 2007 -0700"
      },
      "message": "[NET]: Make packet reception network namespace safe\n\nThis patch modifies every packet receive function\nregistered with dev_add_pack() to drop packets if they\nare not from the initial network namespace.\n\nThis should ensure that the various network stacks do\nnot receive packets in a anything but the initial network\nnamespace until the code has been converted and is ready\nfor them.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "457c4cbc5a3dde259d2a1f15d5f9785290397267",
      "tree": "a2ceee88780cbce27433b9a4434b3e9251efd81a",
      "parents": [
        "07feaebfcc10cd35e745c7073667935246494bee"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 12:01:34 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:06 2007 -0700"
      },
      "message": "[NET]: Make /proc/net per network namespace\n\nThis patch makes /proc/net per network namespace.  It modifies the global\nvariables proc_net and proc_net_stat to be per network namespace.\nThe proc_net file helpers are modified to take a network namespace argument,\nand all of their callers are fixed to pass \u0026init_net for that argument.\nThis ensures that all of the /proc/net files are only visible and\nusable in the initial network namespace until the code behind them\nhas been updated to be handle multiple network namespaces.\n\nMaking /proc/net per namespace is necessary as at least some files\nin /proc/net depend upon the set of network devices which is per\nnetwork namespace, and even more files in /proc/net have contents\nthat are relevant to a single network namespace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b1ac759d7c6bba6e5f4731ef6ea720b6636e27c",
      "tree": "52b309bb91de1b4ca82b8a3b505dcfcd9a0812c6",
      "parents": [
        "0621ed2e4edbe2f6f83dafbf85eecefae7aaf2e8"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Jul 14 20:51:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 20:51:44 2007 -0700"
      },
      "message": "[IPV4]: Cleanup call to __neigh_lookup()\n\nBack in the times of Linux 2.2, negative values for the creat parameter\nof __neigh_lookup() had a particular meaning, but no longer, so we\nshould pass 1 instead.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "42f811b8bcdf6695bf74de580b1daf53445e8949",
      "tree": "c7c9dd321c63eb24c5d41488b47b7178c6c9b572",
      "parents": [
        "8d76527e728d00d1cf9d5dd663caffb2dcf05ae6"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jun 04 23:34:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Jun 07 13:39:13 2007 -0700"
      },
      "message": "[IPV4]: Convert IPv4 devconf to an array\n\nThis patch converts the ipv4_devconf config members (everything except\nsysctl) to an array.  This allows easier manipulation which will be\nneeded later on to provide better management of default config values.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d0a92be05ed4aea7d35c2b257e3f9173565fe4eb",
      "tree": "de57331758805956bcb54dda798e3ca76dd5a46f",
      "parents": [
        "fd74e6ccd522e2f26163eb5ac1abebcab2bd017c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Mar 12 20:56:31 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:12 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce arp_hdr(), remove skb-\u003enh.arph\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eddc9ec53be2ecdbf4efe0efd4a83052594f0ac0",
      "tree": "4a38ab4dbd9d61fdf5a5ea6ed61463e0b9e33ba7",
      "parents": [
        "e023dd643798c4f06c16466af90b4d250e4b8bd7"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Apr 20 22:47:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:10 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce ip_hdr(), remove skb-\u003enh.iph\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f690808e17925fc45217eb22e8670902ecee5c1b",
      "tree": "ba677dd86988f4c77a728cc7408c21967e59400c",
      "parents": [
        "6b2bedc3a659ba228a93afc8e3f008e152abf18a"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Mon Mar 12 14:34:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:03 2007 -0700"
      },
      "message": "[NET]: make seq_operations const\n\nThe seq_file operations stuff can be marked constant to\nget it out of dirty cache.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "c1d2bbe1cd6c7bbdc6d532cefebb66c7efb789ce"
}
