)]}'
{
  "log": [
    {
      "commit": "11d46123bfea068a48483f00518d301f452647fb",
      "tree": "d4c1e82e26e1f8dd3ac79e51826af246432fd74a",
      "parents": [
        "abf5cdb89d09ca981db10e1a85fd8531440165f2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 06 18:30:43 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 06 18:30:43 2008 -0700"
      },
      "message": "ipv4: Fix over-ifdeffing of ip_static_sysctl_init.\n\nNoticed by Paulius Zaleckas.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6d273f8d011c351c9603c1dbfeae2c7458edd30d",
      "tree": "1f57a87061f07f69a5c580540133e601ced33f96",
      "parents": [
        "0967d61ea0d8e8a7826bd8949cd93dd1e829ac55"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Wed Aug 06 02:33:49 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 06 02:33:49 2008 -0700"
      },
      "message": "ipv4: replace dst_metric() with dst_mtu() in net/ipv4/route.c.\n\nThis patch replaces dst_metric() with dst_mtu() in net/ipv4/route.c.\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a5467fd600669cda488771dac3e951034fe2b08",
      "tree": "20c3c73ff3571e525193aca20d3602161b4e90be",
      "parents": [
        "676056132425ac425d7215cdaa8bd25582e07966",
        "00b1304c4ca81dd893973cc620b87a5c3ff3f660"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 01 11:35:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 01 11:35:16 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (46 commits)\n  tcp: MD5: Fix IPv6 signatures\n  skbuff: add missing kernel-doc for do_not_encrypt\n  net/ipv4/route.c: fix build error\n  tcp: MD5: Fix MD5 signatures on certain ACK packets\n  ipv6: Fix ip6_xmit to send fragments if ipfragok is true\n  ipvs: Move userspace definitions to include/linux/ip_vs.h\n  netdev: Fix lockdep warnings in multiqueue configurations.\n  netfilter: xt_hashlimit: fix race between htable_destroy and htable_gc\n  netfilter: ipt_recent: fix race between recent_mt_destroy and proc manipulations\n  netfilter: nf_conntrack_tcp: decrease timeouts while data in unacknowledged\n  irda: replace __FUNCTION__ with __func__\n  nsc-ircc: default to dongle type 9 on IBM hardware\n  bluetooth: add quirks for a few hci_usb devices\n  hysdn: remove the packed attribute from PofTimStamp_tag\n  isdn: use the common ascii hex helpers\n  tg3: adapt tg3 to use reworked PCI PM code\n  atm: fix direct casts of pointers to u32 in the InterPhase driver\n  atm: fix const assignment/discard warnings in the ATM networking driver\n  net: use the common ascii hex helpers\n  random32: seeding improvement\n  ...\n"
    },
    {
      "commit": "a1bc6eb4b499ae67ada9a01660010580b6569403",
      "tree": "95bcb20bd9ca30a82343e49d59e1e7c470bb057e",
      "parents": [
        "f418b006079ce537daf9436215f1d2a47e451602"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 30 06:32:52 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Aug 01 11:25:22 2008 -0400"
      },
      "message": "[PATCH] ipv4_static_sysctl_init() should be under CONFIG_SYSCTL\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8a9204db665365354b349ed5b0bc054f0433a2a4",
      "tree": "e5ecc6efda8fc3f0d6b0c38319bdfd86edf4c62f",
      "parents": [
        "90b7e1120bb43ffaabb88d28f80a0c2e13167b15"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 31 20:51:22 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 31 20:51:22 2008 -0700"
      },
      "message": "net/ipv4/route.c: fix build error\n\nfix:\n\nnet/ipv4/route.c: In function \u0027ip_static_sysctl_init\u0027:\nnet/ipv4/route.c:3225: error: \u0027ipv4_route_path\u0027 undeclared (first use in this function)\nnet/ipv4/route.c:3225: error: (Each undeclared identifier is reported only once\nnet/ipv4/route.c:3225: error: for each function it appears in.)\nnet/ipv4/route.c:3225: error: \u0027ipv4_route_table\u0027 undeclared (first use in this function)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eeb61f719c00c626115852bbc91189dc3011a844",
      "tree": "b52cddf222ee55082c0aeee5627049aa0d12afa4",
      "parents": [
        "bfbcf034798b2ca45338cee5049b5694b7ddc865"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Sun Jul 27 08:59:33 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 27 09:45:34 2008 -0700"
      },
      "message": "missing bits of net-namespace / sysctl\n\nPiss-poor sysctl registration API strikes again, film at 11...\n\nWhat we really need is _pathname_ required to be present in already\nregistered table, so that kernel could warn about bad order.  That\u0027s the\nnext target for sysctl stuff (and generally saner and more explicit\norder of initialization of ipv[46] internals wouldn\u0027t hurt either).\n\nFor the time being, here are full fixups required by ..._rotable()\nstuff; we make per-net sysctl sets descendents of \"ro\" one and make sure\nthat sufficient skeleton is there before we start registering per-net\nsysctls.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c3b8fc618905d7599dcc514c99ce4293d476f39",
      "tree": "f04de514889f8c7783a5f64645a0dad3b0140305",
      "parents": [
        "6c64825bf40ecc1b01610762ca736b18c8a9db92"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Jul 26 17:51:06 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 17:51:06 2008 -0700"
      },
      "message": "netns: fix ip_rt_frag_needed rt_is_expired\n\nRunning recent kernels, and using a particular vpn gateway, I\u0027ve been\nhaving to edit my mails down to get them accepted by the smtp server.\n\nGit bisect led to commit e84f84f276473dcc673f360e8ff3203148bdf0e2 -\nnetns: place rt_genid into struct net.  The conversion from a !\u003d test\nto rt_is_expired() put one negative too many: and now my mail works.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nAcked-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7c73a6faffae0bfae70639113aecf06af666e714",
      "tree": "3d7910c4674b673b061f3168b140454b1950c346",
      "parents": [
        "5e38e270444f2629de7a706b5a9ca1b333d14517"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:20:11 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:20:11 2008 -0700"
      },
      "message": "mib: add net to IP_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": "81c684d12ddc05bba4953e36e9cdd5939dde344b",
      "tree": "397ffc2a3e00f07d1cdda8707cf36bf3ca43268a",
      "parents": [
        "2c693610fe923764fe41b846fb86938a2010da6e"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jul 08 03:05:28 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 03:05:28 2008 -0700"
      },
      "message": "ipv4: remove flush_mutex from ipv4_sysctl_rtcache_flush\n\nIt is possible to avoid locking at all in ipv4_sysctl_rtcache_flush by\ndefining local ctl_table on the stack.\n\nThe patch is based on the suggestion from Eric W. Biederman.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "32cb5b4e035e3d7b52f1e9de87920645a00e5234",
      "tree": "54c26b95e4083e9ed6bb4593a2f940829779979b",
      "parents": [
        "e84f84f276473dcc673f360e8ff3203148bdf0e2"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Jul 05 19:06:12 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 19:06:12 2008 -0700"
      },
      "message": "netns: selective flush of rt_cache\n\ndst cache is marked as expired on the per/namespace basis by previous\npath. Right now we have to implement selective cache shrinking. This\nprocedure has been ported from older OpenVz codebase.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e84f84f276473dcc673f360e8ff3203148bdf0e2",
      "tree": "c7ea9b10807acef5fb9c636d2b8b74204d32a37e",
      "parents": [
        "b00180defdeeac8e07e3dc02e53e7395d42bbd19"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Jul 05 19:04:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 19:04:32 2008 -0700"
      },
      "message": "netns: place rt_genid into struct net\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b00180defdeeac8e07e3dc02e53e7395d42bbd19",
      "tree": "3e3343c81ae0a09b8baa9e2d3b42c9c73d16ad6d",
      "parents": [
        "86c657f6b5bbf2f3ec2213eca528998134a9b344"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Jul 05 19:04:09 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 19:04:09 2008 -0700"
      },
      "message": "ipv4: pass current value of rt_genid into rt_hash\n\nBasically, there is no difference to atomic_read internally or pass it as\na parameter as rt_hash is inline.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "86c657f6b5bbf2f3ec2213eca528998134a9b344",
      "tree": "652124ea77cae97d15c376d28efddbaa21def25d",
      "parents": [
        "9f5e97e53675caeda48e9988122a30470f4d309d"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Jul 05 19:03:31 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 19:03:31 2008 -0700"
      },
      "message": "netns: add struct net parameter to rt_cache_invalidate\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9f5e97e53675caeda48e9988122a30470f4d309d",
      "tree": "bf236781b078866c1b2190784611815738bf3a81",
      "parents": [
        "39a23e75087ce815abbddbd565b9a2e567ac47da"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Jul 05 19:02:59 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 19:02:59 2008 -0700"
      },
      "message": "netns: make rt_secret_rebuild timer per namespace\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39a23e75087ce815abbddbd565b9a2e567ac47da",
      "tree": "456669014c97282b3055c89e8c99aaa4f412f96a",
      "parents": [
        "639e104facec20f64f2eb940851ae45e5f255e6b"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Jul 05 19:02:33 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 19:02:33 2008 -0700"
      },
      "message": "netns: register net.ipv4.route.flush in 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": "639e104facec20f64f2eb940851ae45e5f255e6b",
      "tree": "54e035641e7640b1b1d49fd2fc94d503540274c5",
      "parents": [
        "ae299fc051aa68ca6ef1807c37bb92d9b6ff817c"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Jul 05 19:02:06 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 19:02:06 2008 -0700"
      },
      "message": "ipv4: remove static flush_delay variable\n\nflush delay is used as an external storage for net.ipv4.route.flush sysctl\nentry. It is write-only.\n\nThe ctl_table-\u003edata for this entry is used once. Fix this case to point\nto the stack to remove global variable. Do this to avoid additional\nvariable on struct net in the next patch.\n\nPossible race (as it was before) accessing this local variable is removed\nusing flush_mutex.\n\nSigned-off-by: Denis V. Lunev \u003cden@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": "51b77cae0d5aa8e1546fca855dcfe48ddfadfa9c",
      "tree": "5d6824e94b09784b6b41f39ca08e11844bc73c7b",
      "parents": [
        "7557af25155a82ac2dad73eec6b0166868bf8ea2"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Jun 03 16:36:01 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 03 16:36:01 2008 -0700"
      },
      "message": "route: Mark unused route cache flags as such.\n\nAlso removes an obsolete check for the unused flag RTCF_MASQ.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ac06e0306d0192a7a4d9ea1c9e06d355ce7e7d3",
      "tree": "610968ecaa89b3b9144db508dc2bd650afadce74",
      "parents": [
        "6f704992d3658aadff9e506c7fd80957fce33c5f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue May 20 14:32:14 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 20 14:32:14 2008 -0700"
      },
      "message": "ipsec: Use the correct ip_local_out function\n\nBecause the IPsec output function xfrm_output_resume does its\nown dst_output call it should always call __ip_local_output\ninstead of ip_local_output as the latter may invoke dst_output\ndirectly.  Otherwise the return values from nf_hook and dst_output\nmay clash as they both use the value 1 but for different purposes.\n\nWhen that clash occurs this can cause a packet to be used after\nit has been freed which usually leads to a crash.  Because the\noffending value is only returned from dst_output with qdiscs\nsuch as HTB, this bug is normally not visible.\n\nThanks to Marco Berizzi for his perseverance in tracking this\ndown.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5ffc02a158997b1eb91ade8d02bcf521ff79a218",
      "tree": "80f9082f9a35c974236b20053ae4946523311ea3",
      "parents": [
        "0bbeafd0118fc3ae54990064760c889d41dc21d6"
      ],
      "author": {
        "name": "Satoru SATOH",
        "email": "satoru.satoh@gmail.com",
        "time": "Sun May 04 22:14:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 04 22:14:42 2008 -0700"
      },
      "message": "ip: Use inline function dst_metric() instead of direct access to dst-\u003emetric[]\n\nThere are functions to refer to the value of dst-\u003emetric[THE_METRIC-1]\ndirectly without use of a inline function \"dst_metric\" defined in\nnet/dst.h.\n\nThe following patch changes them to use the inline function\nconsistently.\n\nSigned-off-by: Satoru SATOH \u003csatoru.satoh@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0bbeafd0118fc3ae54990064760c889d41dc21d6",
      "tree": "f0df25cd51f7cfcf8b2ee5922ac2faded84d4f2c",
      "parents": [
        "1e0ba0060ffcee2e766ec3159196235b1a2a0ff3"
      ],
      "author": {
        "name": "Satoru SATOH",
        "email": "satoru.satoh@gmail.com",
        "time": "Sun May 04 22:12:43 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 04 22:12:43 2008 -0700"
      },
      "message": "ip: Make use of the inline function dst_metric_locked()\n\nSigned-off-by: Satoru SATOH \u003csatoru.satoh@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0010e46577a27c1d915034637f6c2fa57a9a091c",
      "tree": "dc13ec8dbbf980b53c8d1049dbf8944806cca0d2",
      "parents": [
        "980c478ddbb720948967b028ddbb4179a025bc2c"
      ],
      "author": {
        "name": "Timo Teras",
        "email": "timo.teras@iki.fi",
        "time": "Tue Apr 29 03:32:25 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 29 03:32:25 2008 -0700"
      },
      "message": "ipv4: Update MTU to all related cache entries in ip_rt_frag_needed()\n\nAdd struct net_device parameter to ip_rt_frag_needed() and update MTU to\ncache entries where ifindex is specified. This is similar to what is\nalready done in ip_rt_redirect().\n\nSigned-off-by: Timo Teras \u003ctimo.teras@iki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5e659e4cb0eedacdc1f621a61e400a4611ddef8a",
      "tree": "fa3c8743010dd640c48584a6fa8a910d27350c01",
      "parents": [
        "3d36696024499aef19dbf24a781e91a24fbbe4af"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Apr 24 01:02:16 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 24 01:02:16 2008 -0700"
      },
      "message": "[NET]: Fix heavy stack usage in seq_file output routines.\n\nPlan C: we can follow the Al Viro\u0027s proposal about %n like in this patch.\nThe same applies to udp, fib (the /proc/net/route file), rt_cache and \nsctp debug. This is minus ~150-200 bytes for each.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\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": "c0b8c32b1c96afc9b32b717927330025cc1c501e",
      "tree": "34997f5e86aa375746ecbe4f2c8899b4fa774a5e",
      "parents": [
        "996b1dbadcbcafb899f022303e01d46ab87920eb"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Apr 10 04:00:28 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 10 04:00:28 2008 -0700"
      },
      "message": "IPV4: use xor rather than multiple ands for route compare\n\nThe comparison in ip_route_input is a hot path, by recoding the C\n\"and\" as bit operations, fewer conditional branches get generated\nso the code should be faster. Maybe someday Gcc will be smart\nenough to do this?\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2fa7527ba1d38175d1e42f7cb72bae5de3d55cc7",
      "tree": "48de882ae62ab51871142e2d6477e5d94fc1908a",
      "parents": [
        "1294fc4a4868d7e83ff749597fbf4e9d5f4d1aa0"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Apr 10 01:55:27 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 10 01:55:27 2008 -0700"
      },
      "message": "IPV4: route rekey timer can be deferrable\n\nNo urgency on the rehash interval timer, so mark it as deferrable.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1294fc4a4868d7e83ff749597fbf4e9d5f4d1aa0",
      "tree": "164465f16a896a40c04ed8398498809bb7d1e918",
      "parents": [
        "5969f71d57928511b9cd8744aaf1ed9bc5e88ea2"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Apr 10 01:54:01 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 10 01:54:01 2008 -0700"
      },
      "message": "IPV4: route use jhash3\n\nSince route hash is a triple, use jhash_3words rather doing the mixing\ndirectly. This should be as fast and give better distribution.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5969f71d57928511b9cd8744aaf1ed9bc5e88ea2",
      "tree": "044508aedecc2fef77e6b3b3a2ddc932e881728e",
      "parents": [
        "43db6d65e0ef943a361cb91f8baa49132009227b"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Apr 10 01:52:09 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 10 01:52:09 2008 -0700"
      },
      "message": "IPV4: route inline changes\n\nDon\u0027t mark functions that are large as inline, let compiler decide.\nAlso, use inline rather than __inline__.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "878628fbf2589eb24357e42027d5f54b1dafd3c8",
      "tree": "30c109d8f337b3910e3b5364877c3c521dd700b5",
      "parents": [
        "57da52c1e62c6c13875e97de6c69d3156f8416da"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 03:57:35 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:40:00 2008 +0900"
      },
      "message": "[NET] NETNS: Omit namespace comparision without CONFIG_NET_NS.\n\nIntroduce an inline net_eq() to compare two namespaces.\nWithout CONFIG_NET_NS, since no namespace other than \u0026init_net\nexists, it is always 1.\n\nWe do not need to convert 1) inline vs inline and\n2) inline vs \u0026init_net comparisons.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "1218854afa6f659be90b748cf1bc7badee954a35",
      "tree": "78b83e3941fa7e5a03c04e2e4f6ddb1a08ea38a0",
      "parents": [
        "3b1e0a655f8eba44ab1ee2a1068d169ccfb853b9"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 02:36:06 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:56 2008 +0900"
      },
      "message": "[NET] NETNS: Omit seq_net_private-\u003enet without CONFIG_NET_NS.\n\nWithout CONFIG_NET_NS, no namespace other than \u0026init_net exists,\nno need to store net in seq_net_private.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "3b1e0a655f8eba44ab1ee2a1068d169ccfb853b9",
      "tree": "09edb35f32ebcfb1b4dad904425128a110ef16ee",
      "parents": [
        "c346dca10840a874240c78efe3f39acf4312a1f2"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 02:26:21 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:55 2008 +0900"
      },
      "message": "[NET] NETNS: Omit sock-\u003esk_net without CONFIG_NET_NS.\n\nIntroduce per-sock inlines: sock_net(), sock_net_set()\nand per-inet_timewait_sock inlines: twsk_net(), twsk_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": "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": "817bc4db7794d6dc6594265ddea88d2b839cf2f8",
      "tree": "280b5e41521845a8af39095cc561c571b56e28af",
      "parents": [
        "ce259990785595420ace616faece09255bad1163"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Sat Mar 22 17:43:59 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 22 17:43:59 2008 -0700"
      },
      "message": "[IPV4] route: use read_mostly\n\nThe route table parameters are set based on system memory and sysctl\nvalues that almost never change. Also the genid only changes every\n10 minutes.\n\nRTprint is defined by never used.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ce259990785595420ace616faece09255bad1163",
      "tree": "f57699a3adb3c9087d272029080812e53f2a39ee",
      "parents": [
        "0098b7273e968fb9989a6e1e4e4c024cd081fe0d"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Mar 22 17:42:37 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 22 17:42:37 2008 -0700"
      },
      "message": "[IPV4]: sk parameter is unused in ipv4_dst_blackhole.\n\nJust remove it.\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": "1937504dd156573a1883f10a5a167f3f78c6cb4a",
      "tree": "9c1c61190885f8c32d9fcf826a6d2a541e8f540a",
      "parents": [
        "e5b13cb10de209f924fdf9478214bcf7e4008d6d"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Feb 28 20:52:04 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 28 20:52:04 2008 -0800"
      },
      "message": "[NETNS]: Enable all routing manipulation via netlink inside namespace.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "73b3871165e45ea6d57775c6bfb1a1760ad6e36b",
      "tree": "1e3d8e162e360a3c120dfbf73c62144acc9f994a",
      "parents": [
        "a75e936f2f1ba8428f70b204f3ddd3a7ff17d281"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Feb 28 20:51:18 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 28 20:51:18 2008 -0800"
      },
      "message": "[NETNS]: Register /proc/net/rt_cache 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": "a75e936f2f1ba8428f70b204f3ddd3a7ff17d281",
      "tree": "96ec0b9caec0bfe9b1cfd8a1300d21ec2f3766f4",
      "parents": [
        "642d6318119af60ac019524bd4edcfbd19d9d211"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Feb 28 20:50:55 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 28 20:50:55 2008 -0800"
      },
      "message": "[NETNS]: Process /proc/net/rt_cache inside a namespace.\n\nShow routing cache for a particular namespace only.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "642d6318119af60ac019524bd4edcfbd19d9d211",
      "tree": "7de60bd02fd71902133ce6920afeed496d897782",
      "parents": [
        "317805b8f875ca1bd43d594c0a210e24fab7d177"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Feb 28 20:50:33 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 28 20:50:33 2008 -0800"
      },
      "message": "[IPV4]: rt_cache_get_next should take rt_genid into account.\n\nIn the other case /proc/net/rt_cache will look inconsistent in respect to\ngenid.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "317805b8f875ca1bd43d594c0a210e24fab7d177",
      "tree": "c3ec5090088b2aa546546f0285ecc830fe64ce63",
      "parents": [
        "9de8f76d200342f1e9495861c2c9ce87a6bc26d0"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Feb 28 20:50:06 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 28 20:50:06 2008 -0800"
      },
      "message": "[NETNS]: Process ip_rt_redirect in the correct namespace.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "770207208e4374f013f6f49233d5c8c8df505e03",
      "tree": "542a5b947a56f0f8375c88f19e5f60a9a5cd78a8",
      "parents": [
        "4436f4cbfac15acea139863e322ed2f9efb118d3"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Thu Feb 28 14:14:25 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 28 14:14:25 2008 -0800"
      },
      "message": "[IPV4]: Use proc_create() to setup -\u003eproc_fops first\n\nUse proc_create() to make sure that -\u003eproc_fops be setup before gluing\nPDE to main tree.\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4136cd523eb0c0bd53173e16fd7406d31d05824f",
      "tree": "8a6b73d066e88eff6736e32863fdad4501717d6c",
      "parents": [
        "5da621f1c514b8a39c6f7112becb97262ae76900"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Feb 07 17:58:20 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 07 17:58:20 2008 -0800"
      },
      "message": "[IPV4]: route: fix crash ip_route_input\n\nip_route_me_harder() may call ip_route_input() with skbs that don\u0027t\nhave skb-\u003edev set for skbs rerouted in LOCAL_OUT and TCP resets\ngenerated by the REJECT target, resulting in a crash when dereferencing\nskb-\u003edev-\u003end_net. Since ip_route_input() has an input device argument,\nit seems correct to use that one anyway.\n\nBug introduced in b5921910a1 (Routing cache virtualization).\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "29e75252da20f3ab9e132c68c9aed156b87beae6",
      "tree": "affd152c959eede937b50f6054a303a388a88545",
      "parents": [
        "174ce0483198b9dffd712fdd7d53635954fddffe"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Jan 31 17:05:09 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:27 2008 -0800"
      },
      "message": "[IPV4] route cache: Introduce rt_genid for smooth cache invalidation\n\nCurrent ip route cache implementation is not suited to large caches.\n\nWe can consume a lot of CPU when cache must be invalidated, since we\ncurrently need to evict all cache entries, and this eviction is\nsometimes asynchronous. min_delay \u0026 max_delay can somewhat control this\nasynchronism behavior, but whole thing is a kludge, regularly triggering\ninfamous soft lockup messages. When entries are still in use, this also\nconsumes a lot of ram, filling dst_garbage.list.\n\nA better scheme is to use a generation identifier on each entry,\nso that cache invalidation can be performed by changing the table\nidentifier, without having to scan all entries.\nNo more delayed flushing, no more stalling when secret_interval expires.\n\nInvalidated entries will then be freed at GC time (controled by\nip_rt_gc_timeout or stress), or when an invalidated entry is found\nin a chain when an insert is done.\nThus we keep a normal equilibrium.\n\nThis patch :\n- renames rt_hash_rnd to rt_genid (and makes it an atomic_t)\n- Adds a new rt_genid field to \u0027struct rtable\u0027 (filling a hole on 64bit)\n- Checks entry-\u003ert_genid at appropriate places :\n"
    },
    {
      "commit": "e242297055f906e8e225fb95a8edbc88e9052634",
      "tree": "d0fb2d3ba0273bd621681b8de7621ee9b73baf44",
      "parents": [
        "ad1984e844fb6edaa8b9984be23669f4e19168be"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Jan 30 20:07:45 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:23 2008 -0800"
      },
      "message": "[NET]: should explicitely initialize atomic_t field in struct dst_ops\n\nAll but one struct dst_ops static initializations miss explicit\ninitialization of entries field.\n\nAs this field is atomic_t, we should use ATOMIC_INIT(0), and not\nrely on atomic_t implementation.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b5921910a1de4ba82add59154976c3dc7352c8c2",
      "tree": "c1de2c3734219548c2883777597247caa5450dc5",
      "parents": [
        "eee80592c3c1f7381c04913d9d3eb6e3c3c87628"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 23:50:25 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:13 2008 -0800"
      },
      "message": "[NETNS]: Routing cache virtualization.\n\nBasically, this piece looks relatively easy. Namespace is already\navailable on the dst entry via device and the device is safe to\ndereferrence. Compare it with one of a searcher and skip entry if\nappropriate.\n\nThe only exception is ip_rt_frag_needed. So, add namespace parameter to it.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\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": "f1b050bf7a88910f9f00c9c8989c1bf5a67dd140",
      "tree": "37e8dce4268cb657a75e5074a38db48264f1e42f",
      "parents": [
        "611c183ebcb5af384df3a4ddb391034a1b6ac255"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 22:07:10 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:06 2008 -0800"
      },
      "message": "[NETNS]: Add namespace parameter to ip_route_output_flow.\n\nNeeded to propagate it down to the __ip_route_output_key.\n\nSigned_off_by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "611c183ebcb5af384df3a4ddb391034a1b6ac255",
      "tree": "368ec261285af31fcf5a4f61651f01017e6d2692",
      "parents": [
        "b40afd0e5c568aba79a4ae2a963cd2af1f09490d"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 22:06:48 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:05 2008 -0800"
      },
      "message": "[NETNS]: Add namespace parameter to __ip_route_output_key.\n\nThis is only required to propagate it down to the\nip_route_output_slow.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b40afd0e5c568aba79a4ae2a963cd2af1f09490d",
      "tree": "581ff80976c89de63419ce79e2c8a66ee4cde8db",
      "parents": [
        "1ab352768fc73838b062776ca5d1add3876a019f"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 22:06:19 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:05 2008 -0800"
      },
      "message": "[NETNS]: Add namespace parameter to ip_route_output_slow.\n\nThis function needs a net namespace to lookup devices, fib tables,\netc. in, so pass it there.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ab352768fc73838b062776ca5d1add3876a019f",
      "tree": "b30bd7744e30e90b6db01b71a5c8b86140538255",
      "parents": [
        "010278ec4cdf404aefc0bbd5e7406674fec95286"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 22:04:30 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:04 2008 -0800"
      },
      "message": "[NETNS]: Add namespace parameter to ip_dev_find.\n\nin_dev_find() need a namespace to pass it to fib_get_table(), so add\nan argument.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "010278ec4cdf404aefc0bbd5e7406674fec95286",
      "tree": "11bd9546231f92214289c2db4bd8f2bc94153d27",
      "parents": [
        "64c2d5382954ccf6054424653f4c7f4f04c1ff21"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 22:04:04 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:03 2008 -0800"
      },
      "message": "[NETNS]: Add netns parameter to fib_select_default.\n\nCurrently fib_select_default calls fib_get_table() with the\ninit_net. Prepare it to provide a correct namespace to lookup default\nroute.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ecfdc8c5424079393a9b05e8a5aaf5c6873029f6",
      "tree": "e15ed74491e1bcfbfe5cee1d7964e5c334663ea2",
      "parents": [
        "84a885f44961c17a91cae9a9c03e4b3dae5d8d94"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Jan 21 17:35:06 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:10:23 2008 -0800"
      },
      "message": "[NETNS]: Pass correct namespace in ip_rt_get_source.\n\nip_rt_get_source is the infamous place for which dst_ifdown kludges\nhave been implemented. This means that rt-\u003eu.dst.dev can be safely\ndereferrenced obtain nd_net.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "84a885f44961c17a91cae9a9c03e4b3dae5d8d94",
      "tree": "008cdba1ea0e14fdb2b95a74ad8e7998e37c49ae",
      "parents": [
        "86167a377f1c4fb40742302ae7682dd574abde86"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Jan 21 17:34:35 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:10:22 2008 -0800"
      },
      "message": "[NETNS]: Pass correct namespace in ip_route_input_slow.\n\nThe packet on the input path always has a referrence to an input\nnetwork device it is passed from. Extract network namespace from it.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "da0e28cb68a7e22b47c6ae1a5b12cb538c13c69f",
      "tree": "ac5bc308d4532f7cd271ee58c9bba5decf9699bd",
      "parents": [
        "ba93ef746560df597b19bbcee04ce7ed70ebc700"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Jan 21 17:31:55 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:10:19 2008 -0800"
      },
      "message": "[NETNS]: Add netns parameter to fib_lookup.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1e637c74b0f84eaca02b914c0b8c6f67276e9697",
      "tree": "18e42bbac80529c36ac3e6a8e5b68538e0db10df",
      "parents": [
        "96750162b5f7350ec7ba7cf747a6623858d65dd2"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Mon Jan 21 03:18:08 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:08:44 2008 -0800"
      },
      "message": "[IPV4]: Enable use of 240/4 address space.\n\nThis short patch modifies the IPv4 networking to enable use of the\n240.0.0.0/4 (aka \"class-E\") address space as propsed in the internet\ndraft draft-fuller-240space-00.txt.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nAcked-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "569d36452ee26c08523cc9f658901c5188640853",
      "tree": "f296ea41b92f655031f9345d3febd8319e5a06ee",
      "parents": [
        "a6501e080c318f8d4467679d17807f42b3a33cd5"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Fri Jan 18 03:56:57 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:02:46 2008 -0800"
      },
      "message": "[NETNS][DST] dst: pass the dst_ops as parameter to the gc functions\n\nThe garbage collection function receive the dst_ops structure as\nparameter. This is useful for the next incoming patchset because it\nwill need the dst_ops (there will be several instances) and the\nnetwork namespace pointer (contained in the dst_ops).\n\nThe protocols which do not take care of the namespaces will not be\nimpacted by this change (expect for the function signature), they do\njust ignore the parameter.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\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": "b790cedd24a7f7d1639072b3faf35f1f56cb38ea",
      "tree": "b39d755577be2cc822b5340ba5e4d77a45a6b4a7",
      "parents": [
        "9cb5734e5b9b26097c7fa28a9c6426a204cc15e3"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Fri Dec 21 01:49:07 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:59:57 2008 -0800"
      },
      "message": "[INET]: Avoid an integer divide in rt_garbage_collect()\n\nSince \u0027goal\u0027 is a signed int, compiler may emit an integer divide\nto compute goal/2.\n\nUsing a right shift is OK here and less expensive.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.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": "bb72845e699d3c84e5f861b51db686107a51dea5",
      "tree": "a4a84343cbcc96e86c83954dc82f2a5ee0ce787d",
      "parents": [
        "7233b9f33e72ca477034ff5cf901c89efba3a5bc"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Dec 12 18:48:58 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:42 2008 -0800"
      },
      "message": "[IPSEC]: Make callers of xfrm_lookup to use XFRM_LOOKUP_WAIT\n\nThis patch converts all callers of xfrm_lookup that used an\nexplicit value of 1 to indiciate blocking to use the new flag\nXFRM_LOOKUP_WAIT.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a3e55d68ec5baac578bf32ba67607088c763657",
      "tree": "9e8f9dfae66c8a85735122ece8a9c85cdb5c31c4",
      "parents": [
        "b84a2189c4e1835c51fd6b974a0497be9bc4ba87"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Dec 07 00:38:10 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:56:44 2008 -0800"
      },
      "message": "[NET]: Multiple namespaces in the all dst_ifdown routines.\n\nMove dst entries to a namespace loopback to catch refcounting leaks.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ff1cc202e9a7dbd9f54d1bce5adb44283497185",
      "tree": "f96bc57c92bd111931a26abf95f0c0828a0d17de",
      "parents": [
        "107f163428b846d7cef68cb6f436788bb2f6c2e1"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Dec 05 21:15:05 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:56:36 2008 -0800"
      },
      "message": "[IPV4] ROUTE: Convert rt_hash_lock_init() macro into function\n\nThere\u0027s no need in having this function exist in a form\nof macro. Properly formatted function looks much better.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "107f163428b846d7cef68cb6f436788bb2f6c2e1",
      "tree": "d5cc806a1f71471b8dbe67a4a107ed840f757ad2",
      "parents": [
        "78c686e9faff05f1194e892d5b1273ce24021ff6"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Dec 05 21:14:28 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:56:36 2008 -0800"
      },
      "message": "[IPV4] ROUTE: Clean up proc files creation.\n\nThe rt_cache, stats/rt_cache and rt_acct(optional) files\ncreation looks a bit messy. Clean this out and join them\nto other proc-related functions under the proper ifdef.\n\nThe struct net * argument in a new function will help net\nnamespaces patches look nicer.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "78c686e9faff05f1194e892d5b1273ce24021ff6",
      "tree": "4ac7916385f7f88657bafd1cf30abbdfc00457b7",
      "parents": [
        "f4d900a2cae94256f56be7769734100c7054bf00"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Dec 05 21:13:48 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:56:35 2008 -0800"
      },
      "message": "[IPV4] ROUTE: Collect proc-related functions together\n\nThe net/ipv4/route.c file declares some entries for proc\nto dump some routing info. The reading functions are\nscattered over this file - collect them together.\n\nBesides, remove a useless IP_RT_ACCT_CPU macro.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "beb659bd8c9f2ccc8195779383f71088f936bf6e",
      "tree": "0d07cc0a6e4525720537d08e7f905245f016136a",
      "parents": [
        "42a73808ed4f30b739eb52bcbb33a02fe62ceef5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Nov 19 22:43:37 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:33 2008 -0800"
      },
      "message": "[PATCH] IPV4 : Move ip route cache flush (secret_rebuild) from softirq to workqueue\n\nEvery 600 seconds (ip_rt_secret_interval), a softirq flush of the\nwhole ip route cache is triggered. On loaded machines, this can starve\nsoftirq for many seconds and can eventually crash.\n\nThis patch moves this flush to a workqueue context, using the worker\nwe intoduced in commit 39c90ece7565f5c47110c2fa77409d7a9478bd5b (IPV4:\nConvert rt_check_expire() from softirq processing to workqueue.)\n\nAlso, immediate flushes (echo 0 \u003e/proc/sys/net/ipv4/route/flush) are\nusing rt_do_flush() helper function, wich take attention to\nrescheduling.\n\nNext step will be to handle delayed flushes\n(\"echo -1 \u003e/proc/sys/net/ipv4/route/flush\" or \"ip route flush cache\")\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "97c53cacf00d1f5aa04adabfebcc806ca8b22b10",
      "tree": "6b7223df312aa27a5017c4d7c4d1e500a33ed8d8",
      "parents": [
        "b854272b3c732316676e9128f7b9e6f1e1ff88b0"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Nov 19 22:26:51 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:25 2008 -0800"
      },
      "message": "[NET]: Make rtnetlink infrastructure network namespace aware (v3)\n\nAfter this patch none of the netlink callback support anything\nexcept the initial network namespace but the rtnetlink infrastructure\nnow handles multiple network namespaces.\n\nChanges from v2:\n- IPv6 addrlabel processing\n\nChanges from v1:\n- no need for special rtnl_unlock handling\n- fixed IPv6 ndisc\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b854272b3c732316676e9128f7b9e6f1e1ff88b0",
      "tree": "c90c74b9ec068453881f1173da4c57d6bb00a7d9",
      "parents": [
        "ad5d20a63940fcfb40af76ba06148f36d5d0b433"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Dec 01 00:21:31 2007 +1100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:24 2008 -0800"
      },
      "message": "[NET]: Modify all rtnetlink methods to only work in the initial namespace (v2)\n\nBefore I can enable rtnetlink to work in all network namespaces I need\nto be certain that something won\u0027t break.  So this patch deliberately\ndisables all of the rtnletlink methods in everything except the\ninitial network namespace.  After the methods have been audited this\nextra check can be disabled.\n\nChanges from v1:\n- added IPv6 addrlabel protection\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "8dbde28d9711475adfe0e9c88505e38743cdc2a7",
      "tree": "0f41aade985a5626ece9c2007fde14c1ced2a065",
      "parents": [
        "68f8353b480e5f2e136c38a511abdbb88eaa8ce2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Fri Nov 16 03:32:10 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:08 2008 -0800"
      },
      "message": "[NET]: NET_CLS_ROUTE : convert ip_rt_acct to per_cpu variables\n\nip_rt_acct needs 4096 bytes per cpu to perform some accounting.\nIt is actually allocated as a single huge array [4096*NR_CPUS]\n(rounded up to a power of two)\n\nConverting it to a per cpu variable is wanted to :\n - Save space on machines were num_possible_cpus() \u003c NR_CPUS\n - Better NUMA placement (each cpu gets memory on its node)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "862b82c6f960cc61274d370aa78ce1112f92a83e",
      "tree": "51e252e1525dd7d02a695d428890a4c37fae2442",
      "parents": [
        "ef76bc23ef2acf20c8f7f841a542d8ab74c827c6"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Nov 13 21:43:11 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:53:48 2008 -0800"
      },
      "message": "[IPSEC]: Merge most of the output path\n\nAs part of the work on asynchrnous cryptographic operations, we need\nto be able to resume from the spot where they occur.  As such, it\nhelps if we isolate them to one spot.\n\nThis patch moves most of the remaining family-specific processing into\nthe common output code.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "352e512c32b634768303a43768245a0363cebbe7",
      "tree": "97509ac130ecbe2084808271ccc459918a9d5fc1",
      "parents": [
        "b4ce92775c2e7ff9cf79cca4e0a19c8c5fd6287b"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Nov 13 21:34:06 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:53:37 2008 -0800"
      },
      "message": "[NET]: Eliminate duplicate copies of dst_discard\n\nWe have a number of copies of dst_discard scattered around the place\nwhich all do the same thing, namely free a packet on the input or\noutput paths.\n\nThis patch deletes all of them except dst_discard and points all the\nusers to it.\n\nThe only non-trivial bit is decnet where it returns an error.\nHowever, conceptually this is identical to the blackhole functions\nused in IPv4 and IPv6 which do not return errors.  So they should\neither all return errors or all return zero.  For now I\u0027ve stuck with\nthe majority and picked zero as the return value.\n\nIt doesn\u0027t really matter in practice since few if any driver would\nreact differently depending on a zero return value or NET_RX_DROP.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b24b8a247ff65c01b252025926fe564209fae4fc",
      "tree": "8a9e0ea1e24b4733d8b9433d41877659505e9da4",
      "parents": [
        "a92aa318b4b369091fd80433c80e62838db8bc1c"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jan 23 21:20:07 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:53:35 2008 -0800"
      },
      "message": "[NET]: Convert init_timer into setup_timer\n\nMany-many code in the kernel initialized the timer-\u003efunction\nand  timer-\u003edata together with calling init_timer(timer). There\nis already a helper for this. Use it for networking code.\n\nThe patch is HUGE, but makes the code 130 lines shorter\n(98 insertions(+), 228 deletions(-)).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0bcceadceb0907094ba4e40bf9a7cd9b080f13fb",
      "tree": "6cec2343354c5a22107eb53da276ab744519033a",
      "parents": [
        "9cd40029423701c376391da59d2c6469672b4bed"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Jan 10 03:55:57 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 10 03:55:57 2008 -0800"
      },
      "message": "[IPV4] ROUTE: fix rcu_dereference() uses in /proc/net/rt_cache\n\nIn rt_cache_get_next(), no need to guard seq-\u003eprivate by a\nrcu_dereference() since seq is private to the thread running this\nfunction. Reading seq.private once (as guaranted bu rcu_dereference())\nor several time if compiler really is dumb enough wont change the\nresult.\n\nBut we miss real spots where rcu_dereference() are needed, both in\nrt_cache_get_first() and rt_cache_get_next()\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d8c9283089287341c85a0a69de32c2287a990e71",
      "tree": "e504124cb4825357eed1665d988c3295b4649030",
      "parents": [
        "2b2b2e35b71e5be8bc06cc0ff38df15dfedda19b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Jan 07 21:52:14 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 08 23:30:16 2008 -0800"
      },
      "message": "[IPV4] ROUTE: ip_rt_dump() is unecessary slow\n\nI noticed \"ip route list cache x.y.z.t\" can be *very* slow.\n\nWhile strace-ing -T it I also noticed that first part of route cache\nis fetched quite fast :\n\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"p\\0\\0\\0\\30\\0\\2\\0\\254i\\202\nGXm\\0\\0\\2  \\0\\376\\0\\0\\2\\0\\2\\0\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3772 \u003c0.000047\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"\\234\\0\\0\\0\\30\\0\\2\\0\\254i\\\n202GXm\\0\\0\\2  \\0\\376\\0\\0\\1\\0\\2\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3736 \u003c0.000042\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"\\204\\0\\0\\0\\30\\0\\2\\0\\254i\\\n202GXm\\0\\0\\2  \\0\\376\\0\\0\\1\\0\\2\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3740 \u003c0.000055\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"\\234\\0\\0\\0\\30\\0\\2\\0\\254i\\\n202GXm\\0\\0\\2  \\0\\376\\0\\0\\1\\0\\2\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3712 \u003c0.000043\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"\\204\\0\\0\\0\\30\\0\\2\\0\\254i\\\n202GXm\\0\\0\\2  \\0\\376\\0\\0\\1\\0\\2\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3732 \u003c0.000053\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"p\\0\\0\\0\\30\\0\\2\\0\\254i\\202\nGXm\\0\\0\\2  \\0\\376\\0\\0\\2\\0\\2\\0\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3708 \u003c0.000052\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"p\\0\\0\\0\\30\\0\\2\\0\\254i\\202\nGXm\\0\\0\\2  \\0\\376\\0\\0\\2\\0\\2\\0\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3680 \u003c0.000041\u003e\n\nwhile the part at the end of the table is more expensive:\n\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"\\204\\0\\0\\0\\30\\0\\2\\0\\254i\\202GXm\\0\\0\\2  \\0\\376\\0\\0\\1\\0\\2\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3656 \u003c0.003857\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"\\204\\0\\0\\0\\30\\0\\2\\0\\254i\\202GXm\\0\\0\\2  \\0\\376\\0\\0\\1\\0\\2\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3772 \u003c0.003891\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"p\\0\\0\\0\\30\\0\\2\\0\\254i\\202GXm\\0\\0\\2  \\0\\376\\0\\0\\2\\0\\2\\0\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3712 \u003c0.003765\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"p\\0\\0\\0\\30\\0\\2\\0\\254i\\202GXm\\0\\0\\2  \\0\\376\\0\\0\\2\\0\\2\\0\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3700 \u003c0.003879\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"p\\0\\0\\0\\30\\0\\2\\0\\254i\\202GXm\\0\\0\\2  \\0\\376\\0\\0\\2\\0\\2\\0\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3676 \u003c0.003797\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"p\\0\\0\\0\\30\\0\\2\\0\\254i\\202GXm\\0\\0\\2  \\0\\376\\0\\0\\2\\0\\2\\0\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3724 \u003c0.003856\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"\\234\\0\\0\\0\\30\\0\\2\\0\\254i\\202GXm\\0\\0\\2  \\0\\376\\0\\0\\1\\0\\2\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3736 \u003c0.003848\u003e\n\nThe following patch corrects this performance/latency problem,\nremoving quadratic behavior.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "56c99d0415e8b778c200f115b198c126243ec351",
      "tree": "0e8c15e26681fbcaf5127c8238950c2c5c58a6ac",
      "parents": [
        "7f53878dc2618bf7c01e2135bd271ac01bd85dc9"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Dec 06 02:19:07 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Dec 07 01:07:38 2007 -0800"
      },
      "message": "[IPV4]: Remove prototype of ip_rt_advice\n\nip_rt_advice has been gone, so no need to keep prototype and debug message.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7f53878dc2618bf7c01e2135bd271ac01bd85dc9",
      "tree": "9a0f0d7dcb2aba668f423b2f5392ab5ec290ec8f",
      "parents": [
        "ca46f9c834913fc5d5c196d70673375cdaba6b56"
      ],
      "author": {
        "name": "Mitsuru Chinen",
        "email": "mitch@linux.vnet.ibm.com",
        "time": "Fri Dec 07 01:07:24 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 07 01:07:24 2007 -0800"
      },
      "message": "[IPv4]: Reply net unreachable ICMP message\n\nIPv4 stack doesn\u0027t reply any ICMP destination unreachable message\nwith net unreachable code when IP detagrams are being discarded\nbecause of no route could be found in the forwarding path.\nIncidentally, IPv6 stack replies such ICMPv6 message in the similar\nsituation.\n\nSigned-off-by: Mitsuru Chinen \u003cmitch@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "483b23ffa3a5f44767038b0a676d757e0668437e",
      "tree": "0d3e90fba6499af90077e01ba3c4da48a7c9b1d8",
      "parents": [
        "b242e891c218162cfbae064b1a9136cdbed5ee53"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Fri Nov 16 02:29:24 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Nov 18 18:47:38 2007 -0800"
      },
      "message": "[NET]: Corrects a bug in ip_rt_acct_read()\n\nIt seems that stats of cpu 0 are counted twice, since\nfor_each_possible_cpu() is looping on all possible cpus, including 0\n\nBefore percpu conversion of ip_rt_acct, we should also remove the\nassumption that CPU 0 is online (or even possible)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d90bf5a976793edfa88d3bb2393f0231eb8ce1e5",
      "tree": "c664096ffb1f34413ef57e906b38a255bf57edd0",
      "parents": [
        "66ba886254edbbd9442d30f1eef6f6fb0145027d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Nov 14 16:14:05 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 14 16:14:05 2007 -0800"
      },
      "message": "[NET]: rt_check_expire() can take a long time, add a cond_resched()\n\nOn commit 39c90ece7565f5c47110c2fa77409d7a9478bd5b:\n\n\t[IPV4]: Convert rt_check_expire() from softirq processing to workqueue.\n\nwe converted rt_check_expire() from softirq to workqueue, allowing the\nfunction to perform all work it was supposed to do.\n\nWhen the IP route cache is big, rt_check_expire() can take a long time\nto run.  (default settings : 20% of the hash table is scanned at each\ninvocation)\n\nAdding cond_resched() helps giving cpu to higher priority tasks if\nnecessary.\n\nUsing a \"if (need_resched())\" test before calling \"cond_resched();\" is\nnecessary to avoid spending too much time doing the resched check.\n(My tests gave a time reduction from 88 ms to 25 ms per\nrt_check_expire() run on my i686 test machine)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "03f49f345749abc08bc84b835433c94eea6e972b",
      "tree": "8fad6fef152adaa473e2ab3a824cb04fe98b3bf1",
      "parents": [
        "b1667609cd9a98ce32559e06f36fca54c775a51f"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sat Nov 10 21:28:34 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 10 21:28:34 2007 -0800"
      },
      "message": "[NET]: Make helper to get dst entry and \"use\" it\n\nThere are many places that get the dst entry, increase the\n__use counter and set the \"lastuse\" time stamp.\n\nMake a helper for this.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b1667609cd9a98ce32559e06f36fca54c775a51f",
      "tree": "4e3c5aa7add5c67434f3123723be0aff5fb6f9c2",
      "parents": [
        "fbd52eb2bd17bd3468974aa2fdce140f0cd32fc7"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sat Nov 10 21:26:41 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 10 21:26:41 2007 -0800"
      },
      "message": "[IPV4]: Remove bugus goto-s from ip_route_input_slow\n\nBoth places look like\n\n        if (err \u003d\u003d XXX) \n               goto yyy;\n   done:\n\nwhile both yyy targets look like\n\n        err \u003d XXX;\n        goto done;\n\nso this is ok to remove the above if-s.\n\nyyy labels are used in other places and are not removed.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\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": "cfcabdcc2d5a810208e5bb3974121b7ed60119aa",
      "tree": "1aed711eeecc5a303b57f1fc47e1b5746e8a72c2",
      "parents": [
        "de83c058af25aa97ed4864abab11e90e8dead6e2"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Oct 09 01:59:42 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:48 2007 -0700"
      },
      "message": "[NET]: sparse warning fixes\n\nFix a bunch of sparse warnings. Mostly about 0 used as\nNULL pointer, and shadowed variable declarations.\nOne notable case was that hash size should have been unsigned.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2774c7aba6c97a2535be3309a2209770953780b3",
      "tree": "9327c795707f6d723c6395c31e1c060e70b5e0db",
      "parents": [
        "0cc217e16cb8ca8ef2544363571fce94259900e0"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 26 22:10:56 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:49 2007 -0700"
      },
      "message": "[NET]: Make the loopback device per network namespace.\n\nThis patch makes loopback_dev per network namespace.  Adding\ncode to create a different loopback device for each network\nnamespace and adding the code to free a loopback device\nwhen a network namespace exits.\n\nThis patch modifies all users the loopback_dev so they\naccess it as init_net.loopback_dev, keeping all of the\ncode compiling and working.  A later pass will be needed to\nupdate the users to use something other than the initial network\nnamespace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de3cb747ffac5f2a4a6bb156e7e2fd5229e688e5",
      "tree": "fe79764b8093843934c9b9f82f573e7a92cef406",
      "parents": [
        "556829657397b9b05baec6691ead4e22ee8d1567"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Tue Sep 25 19:16:28 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:14 2007 -0700"
      },
      "message": "[NET]: Dynamically allocate the loopback device, part 1.\n\nThis patch replaces all occurences to the static variable\nloopback_dev to a pointer loopback_dev. That provides the\nmindless, trivial, uninteressting change part for the dynamic\nallocation for the loopback.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nAcked-By: Kirill Korotaev \u003cdev@sw.ru\u003e\nAcked-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39c90ece7565f5c47110c2fa77409d7a9478bd5b",
      "tree": "220bf734ed470024901226675550501d45192f0e",
      "parents": [
        "dac24ab396fc92985060d5cb3c467d2d0ffc0c20"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sat Sep 15 10:55:54 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:25 2007 -0700"
      },
      "message": "[IPV4]: Convert rt_check_expire() from softirq processing to workqueue.\n\nOn loaded/big hosts, rt_check_expire() if of litle use, because it\ngenerally breaks out of its main loop because of a jiffies change.\n\nIt can take a long time (read : timer invocations) to actually\nscan the whole hash table, freeing unused entries.\n\nConverting it to use a workqueue instead of softirq is a nice\nmove because we can allow rt_check_expire() to do the scan\nit is supposed to do, without hogging the CPU.\n\nThis has an impact on the average number of entries in cache,\nreducing ram usage. Cache is more responsive to parameter\nchanges (/proc/sys/net/ipv4/route/gc_timeout and\n/proc/sys/net/ipv4/route/gc_interval)\n\nNote: Maybe the default value of gc_interval (60 seconds)\nis too high, since this means we actually need 5 (300/60)\ninvocations to scan the whole table.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\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": "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": "1bcabbdb0bdfe8b15b05150a7857646430aaa7f8",
      "tree": "6a6534c8ac22ab69498c85dc02d07ef1206e2e11",
      "parents": [
        "4487b2f657a4d204c35a7afaa45fc8569c9069ca"
      ],
      "author": {
        "name": "Mariusz Kozlowski",
        "email": "m.kozlowski@tuxland.pl",
        "time": "Wed Aug 01 21:54:27 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Aug 02 19:42:27 2007 -0700"
      },
      "message": "[IPV4] route.c: mostly kmalloc + memset conversion to k[cz]alloc\n\nSigned-off-by: Mariusz Kozlowski \u003cm.kozlowski@tuxland.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "20c2df83d25c6a95affe6157a4c9cac4cf5ffaac",
      "tree": "415c4453d2b17a50abe7a3e515177e1fa337bd67",
      "parents": [
        "64fb98fc40738ae1a98bcea9ca3145b89fb71524"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "message": "mm: Remove slab destructors from kmem_cache_create().\n\nSlab destructors were no longer supported after Christoph\u0027s\nc59def9f222d44bb7e2f0a559f2906191a0862d7 change. They\u0027ve been\nBUGs for both slab and slub, and slob never supported them\neither.\n\nThis rips out support for the dtor pointer from kmem_cache_create()\ncompletely and fixes up every single callsite in the kernel (there were\nabout 224, not including the slab allocator definitions themselves,\nor the documentation references).\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "4839c52b01ca91be1c62761e08fb3deb3881e857",
      "tree": "21bc1e568bc76b7556816d995fdf6b3304511eab",
      "parents": [
        "6b25d30bf112370a12d05c3c0fd43732985dab01"
      ],
      "author": {
        "name": "Philippe De Muyter",
        "email": "phdm@macqel.be",
        "time": "Mon Jul 09 15:32:57 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:19:04 2007 -0700"
      },
      "message": "[IPV4]: Make ip_tos2prio const.\n\nSigned-off-by: Philippe De Muyter \u003cphdm@macqel.be\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e06e7c615877026544ad7f8b309d1a3706410383",
      "tree": "eb087b49279e6db492039a5d684ca9acb13265a3",
      "parents": [
        "4eb6bf6bfb580afaf1e1a1d30cba17a078530cf4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Jun 10 17:22:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:05:57 2007 -0700"
      },
      "message": "[IPV4]: The scheduled removal of multipath cached routing support.\n\nWith help from Chris Wedgwood.\n\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": "14e50e57aedb2a89cf79b77782879769794cab7b",
      "tree": "46cbdab9c8007cea0821294c9d397214b38ea4c8",
      "parents": [
        "04efb8787e4d8a7b21a61aeb723de33154311256"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu May 24 18:17:54 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu May 24 18:17:54 2007 -0700"
      },
      "message": "[XFRM]: Allow packet drops during larval state resolution.\n\nThe current IPSEC rule resolution behavior we have does not work for a\nlot of people, even though technically it\u0027s an improvement from the\n-EAGAIN buisness we had before.\n\nRight now we\u0027ll block until the key manager resolves the route.  That\nworks for simple cases, but many folks would rather packets get\nsilently dropped until the key manager resolves the IPSEC rules.\n\nWe can\u0027t tell these folks to \"set the socket non-blocking\" because\nthey don\u0027t have control over the non-block setting of things like the\nsockets used to resolve DNS deep inside of the resolver libraries in\nlibc.\n\nWith that in mind I coded up the patch below with some help from\nHerbert Xu which provides packet-drop behavior during larval state\nresolution, controllable via sysctl and off by default.\n\nThis lays the framework to either:\n\n1) Make this default at some point or...\n\n2) Move this logic into xfrm{4,6}_policy.c and implement the\n   ARP-like resolution queue we\u0027ve all been dreaming of.\n   The idea would be to queue packets to the policy, then\n   once the larval state is resolved by the key manager we\n   re-resolve the route and push the packets out.  The\n   packets would timeout if the rule didn\u0027t get resolved\n   in a certain amount of time.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6c5d736af6bc71cebc017e4001ec5efff1ee116",
      "tree": "96241c8e1f117898d3ca86f86a57bc1a17ee9143",
      "parents": [
        "d739437207064cdcea8f9c81442284106cbcb67f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri May 18 02:07:50 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri May 18 02:07:50 2007 -0700"
      },
      "message": "[IPV4]: Remove IPVS icmp hack from route.c for now.\n\nRevert: 2d771cd86d4c3af26f34a7bcdc1b87696824cad9\n\nThis is dangerous if enabled and a better solution to the\nproblem is being worked on.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2d771cd86d4c3af26f34a7bcdc1b87696824cad9",
      "tree": "dcc026c42253c82d95167e22e658e163f1963db6",
      "parents": [
        "fa0b2d1d2196dd46527a8d028797e2bca5930a92"
      ],
      "author": {
        "name": "Janusz Krzysztofik",
        "email": "jkrzyszt@tis.icnet.pl",
        "time": "Mon Mar 26 18:03:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:15 2007 -0700"
      },
      "message": "[IPV4] LVS: Allow to send ICMP unreachable responses when real-servers are removed\n\nthis is a small patch by Janusz Krzysztofik to ip_route_output_slow()\nthat allows VIP-less LVS linux director to generate packets\noriginating \u003eFrom VIP if sysctl_ip_nonlocal_bind is set.\n\nIn a nutshell, the intention is for an LVS linux director to be able\nto send ICMP unreachable responses to end-users when real-servers are\nremoved.\n\nhttp://archive.linuxvirtualserver.org/html/lvs-users/2007-01/msg00106.html\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "63f3444fb9a54c024d55f1205f8b94e7d2786595",
      "tree": "41cde0c702a2b4400a34f02380eb3baf1cc72a2b",
      "parents": [
        "9d9e6a5819230b5a5cc036f213135cb123ab1e50"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 11:55:17 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:08 2007 -0700"
      },
      "message": "[IPv4]: Use rtnl registration interface\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\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"
}
