)]}'
{
  "log": [
    {
      "commit": "d86e0dac2ce412715181f792aa0749fe3effff11",
      "tree": "bc9197a7316c7d7641112d5f5975d8b91afdbd08",
      "parents": [
        "c67499c0e772064b37ad75eb69b28fc218752636"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Jan 31 05:07:21 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:20 2008 -0800"
      },
      "message": "[NETNS]: Tcp-v6 sockets per-net lookup.\n\nAdd a net argument to inet6_lookup and propagate it further.\nActually, this is tcp-v6 implementation of what was done for\ntcp-v4 sockets in a previous patch.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "535174efbe0f0454f0595c31b823498c197eeb4f",
      "tree": "7fc438f82e73f117882e31b6f7025e295e399b09",
      "parents": [
        "22e0e62cd09dcf56fe1a7be66698b6e130e4314c"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Jan 31 05:03:27 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:17 2008 -0800"
      },
      "message": "[IPV6]: Introduce the INET6_TW_MATCH macro.\n\nWe have INET_MATCH, INET_TW_MATCH and INET6_MATCH to test sockets and\ntwbuckets for matching, but ipv6 twbuckets are tested manually.\n\nHere\u0027s the INET6_TW_MATCH to help with it.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "87bdc48d304191313203df9b98d783e1ab5a55ab",
      "tree": "32f7bfb3a5fa7fe373f11e0ddadd95b6bcd9bd4f",
      "parents": [
        "37fedd3aab6517daec628764c5d66dd8761fbe5f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Oct 10 15:45:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:55 2007 -0700"
      },
      "message": "[IPSEC]: Get rid of ipv6_{auth,esp,comp}_hdr\n\nThis patch removes the duplicate ipv6_{auth,esp,comp}_hdr structures since\nthey\u0027re identical to the IPv4 versions.  Duplicating them would only create\nproblems for ourselves later when we need to add things like extended\nsequence numbers.\n\nI\u0027ve also added transport header type conversion headers for these types\nwhich are now used by the transforms.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "20283d84c7d922ca225b20db651d9a062716e8e3",
      "tree": "aab807acb688bf52903f506dc58932344770326f",
      "parents": [
        "b217d616a15fcfb3caf2a72c1a071c6d3f182f8d"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jul 30 17:05:49 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 31 02:28:17 2007 -0700"
      },
      "message": "[IPV6]: Remove circular dependency on if_inet6.h\n\nnet/if_inet6.h includes linux/ipv6.h which also tries to include\nnet/if_inet6.h.  Since the latter only needs it for forward\ndeclarations, we can fix this by adding the declarations.\n\nA number of files are implicitly including net/if_inet6.h through\nlinux/ipv6.h.  They also use net/ipv6.h so this patch includes\nnet/if_inet6.h there.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4c752098f529f41abfc985426a3eca0f2cb96676",
      "tree": "038e2f0c488619ff1cd7d278d393852ea7202f6a",
      "parents": [
        "bb4dbf9e61d0801927e7df2569bb3dd8287ea301"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed May 23 13:28:48 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:56:31 2007 -0700"
      },
      "message": "[IPV6]: Make IPV6_{RECV,2292}RTHDR boolean options.\n\nBecause reversing RH0 is no longer supported by deprecation\nof RH0, let\u0027s make IPV6_{RECV,2292}RTHDR boolean options.\nBoolean are more appropriate from standard POV.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb4dbf9e61d0801927e7df2569bb3dd8287ea301",
      "tree": "62d0878b6128fbed608bdee342e705fd371c78cd",
      "parents": [
        "c382bb9d32a55029fb13b118858e25908fab4617"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Jul 10 22:55:49 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 10 22:55:49 2007 -0700"
      },
      "message": "[IPV6]: Do not send RH0 anymore.\n\nBased on \u003cdraft-ietf-ipv6-deprecate-rh0-00.txt\u003e.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "59fbb3a61e02deaeaa4fb50792217921f3002d64",
      "tree": "7455815c2566ba9b898cd6ea2c710159bbeb624f",
      "parents": [
        "136ebf08b46f839e2dc9db34322b654e5d9b9936"
      ],
      "author": {
        "name": "Masahide NAKAMURA",
        "email": "nakam@linux-ipv6.org",
        "time": "Tue Jun 26 23:56:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:15:42 2007 -0700"
      },
      "message": "[IPV6] MIP6: Loadable module support for MIPv6.\n\nThis patch makes MIPv6 loadable module named \"mip6\".\n\nHere is a modprobe.conf(5) example to load it automatically\nwhen user application uses XFRM state for MIPv6:\n\nalias xfrm-type-10-43 mip6\nalias xfrm-type-10-60 mip6\n\nSome MIPv6 feature is not included by this modular, however,\nit should not be affected to other features like either IPsec\nor IPv6 with and without the patch.\nWe may discuss XFRM, MH (RAW socket) and ancillary data/sockopt\nseparately for future work.\n\nLoadable features:\n* MH receiving check (to send ICMP error back)\n* RO header parsing and building (i.e. RH2 and HAO in DSTOPTS)\n* XFRM policy/state database handling for RO\n\nThese are NOT covered as loadable:\n* Home Address flags and its rule on source address selection\n* XFRM sub policy (depends on its own kernel option)\n* XFRM functions to receive RO as IPv6 extension header\n* MH sending/receiving through raw socket if user application\n  opens it (since raw socket allows to do so)\n* RH2 sending as ancillary data\n* RH2 operation with setsockopt(2)\n\nSigned-off-by: Masahide NAKAMURA \u003cnakam@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4540250be1d724943a55eb9668e6edc1aaae28c4",
      "tree": "950d61c92b3130df509804b7204a20c7a33e0567",
      "parents": [
        "b0ba66671a92f7d12fdbc42592d36e678f713efc"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue May 29 13:23:34 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu May 31 01:23:36 2007 -0700"
      },
      "message": "[IPV6] ADDRCONF: Fix conflicts in DEVCONF_xxx constant.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9c70220b73908f64792422a2c39c593c4792f2c5",
      "tree": "2090ea10aaa2714a5e095bae8cc02e743c378a3a",
      "parents": [
        "a27ef749e7be3b06fb58df53d94eb97a21f18707"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 18:04:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:31 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_transport_header(skb)\n\nFor the places where we need a pointer to the transport header, it is\nstill legal to touch skb-\u003eh.raw directly if just adding to,\nsubtracting from or setting it to another layer header.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39b89160df691045d1449cbaef43c02084c7543a",
      "tree": "bbe217599a1b84f3bf33c053e2c7d3bdf8bdd571",
      "parents": [
        "b0061ce49c83657563b64ffcf1ec137110230d93"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 21:06:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:28 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce ipipv6_hdr(), remove skb-\u003eh.ipv6h\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0660e03f6b18f19b6bbafe7583265a51b90daf36",
      "tree": "82cc819ead5ab7858ba211ee8719a3e6d2bb984f",
      "parents": [
        "d0a92be05ed4aea7d35c2b257e3f9173565fe4eb"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 17:54:47 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:14 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce ipv6_hdr(), remove skb-\u003enh.ipv6h\n\nNow the skb-\u003enh union has just one member, .raw, i.e. it is just like the\nskb-\u003emac union, strange, no? I\u0027m just leaving it like that till the transport\nlayer is done with, when we\u0027ll rename skb-\u003emac.raw to skb-\u003emac_header (or\n-\u003emac_header_offset?), ditto for -\u003e{h,nh}.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "95c385b4d5a71b8ad552aecaa968ea46d7da2f6a",
      "tree": "49d8e60418cb4eeb0c9ed79fd095af50f6ec6623",
      "parents": [
        "502b093569e48db264831be7966e1c447de2f52f"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Apr 25 17:08:10 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:43 2007 -0700"
      },
      "message": "[IPV6] ADDRCONF: Optimistic Duplicate Address Detection (RFC 4429) Support.\n\nNominally an autoconfigured IPv6 address is added to an interface in the\nTentative state (as per RFC 2462).  Addresses in this state remain in this\nstate while the Duplicate Address Detection process operates on them to\ndetermine their uniqueness on the network.  During this period, these\ntentative addresses may not be used for communication, increasing the time\nbefore a node may be able to communicate on a network.  Using Optimistic\nDuplicate Address Detection, autoconfigured addresses may be used\nimmediately for communication on the network, as long as certain rules are\nfollowed to avoid conflicts with other nodes during the Duplicate Address\nDetection process.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0bcbc92629044b5403719f77fb015e9005b1f504",
      "tree": "ac9635a8ac7b14edcaa0e5ad42a5bc70f778ec33",
      "parents": [
        "05d224468a273a9ee773a0e9d34227ee7f2c0840"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Apr 24 14:58:30 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 24 14:58:30 2007 -0700"
      },
      "message": "[IPV6]: Disallow RH0 by default.\n\nA security issue is emerging.  Disallow Routing Header Type 0 by default\nas we have been doing for IPv4.\nNote: We allow RH2 by default because it is harmless.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "90bcaf7b4a33bb9b100cc06869f0c033a870d4a0",
      "tree": "fb8307b99fd9779d17fdfb0c35d836a8438d424a",
      "parents": [
        "92d9ece7af9c84bfbd1ff640926fac5b573a09f7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 08 00:25:17 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:21:21 2006 -0800"
      },
      "message": "[IPV6]: flowlabels are net-endian\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "43505077df075545e9b28b7c6ea12d82b3caf036",
      "tree": "f7a2d58b96c78fdefb025128d6802168911ef065",
      "parents": [
        "48818f822d2b2e16f4bf4d1ed1185e7d2146dc34"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Sep 27 18:45:11 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:02:30 2006 -0700"
      },
      "message": "[IPV6]: IPv6 headers annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4f765d842fa6e6fe15d555b247b640118d65b4dd",
      "tree": "7a7d3ef7f8013c76811558c045d7aacfc7feeaff",
      "parents": [
        "45d60b9e29556a7831812ec338d82f4d3a4145f8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Sep 27 18:43:07 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:02:25 2006 -0700"
      },
      "message": "[IPV4]: INET_MATCH() annotations\n\nINET_MATCH() and friends depend on an interesting set of kludges:\n\t* there\u0027s a pair of adjacent fields in struct inet_sock - __be16 dport\nfollowed by __u16 num.  We want to search by pair, so we combine the keys into\na single 32bit value and compare with 32bit value read from \u0026...-\u003edport.\n\t* on 64bit targets we combine comparisons with pair of adjacent __be32\nfields in the same way.\n\nMake sure that we don\u0027t mix those values with anything else and that pairs\nwe form them from have correct types.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fbea49e1e2404baa2d88ab47e2db89e49551b53b",
      "tree": "7e11746b350048e04867a9f67b843057428c2ef0",
      "parents": [
        "62dd93181aaa1d5a501a9cebcb254f44b8a48af7"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Sep 22 14:43:49 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 15:20:25 2006 -0700"
      },
      "message": "[IPV6] NDISC: Add proxy_ndp sysctl.\n\nWe do not always need proxy NDP functionality even we\nenable forwarding.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8dd7368dd97def967bbb3aec67b882e8dfd1a528",
      "tree": "8d5b9cb5b4fa6319a8b91b16163873b5ebf3660d",
      "parents": [
        "a831f5bbc89a9978795504be9e1ff412043f8f77"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Aug 23 19:25:55 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 15:06:54 2006 -0700"
      },
      "message": "[IPV6]: Put dsthao after flags in order to pack inet6_skb_parm better.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a831f5bbc89a9978795504be9e1ff412043f8f77",
      "tree": "755b7e5478b64358a5716fdaa675516d9d36ab3d",
      "parents": [
        "842426e719f86cd5709617208efae93ff1a1e2d8"
      ],
      "author": {
        "name": "Masahide NAKAMURA",
        "email": "nakam@linux-ipv6.org",
        "time": "Wed Aug 23 19:24:48 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 15:06:53 2006 -0700"
      },
      "message": "[IPV6] MIP6: Add inbound interface of home address option.\n\nAdd inbound function of home address option by registering it to TLV\ntable for destination options header.\n\nBased on MIPL2 kernel patch.\n\nThis patch was also written by: Ville Nuorvala \u003cvnuorval@tcs.hut.fi\u003e\n\nSigned-off-by: Masahide NAKAMURA \u003cnakam@linux-ipv6.org\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "842426e719f86cd5709617208efae93ff1a1e2d8",
      "tree": "aa18a6fae1c45b645c8ae8fcb1568e3d3502cabc",
      "parents": [
        "a80ff03e05e4343d647780c116b02ec86078fd24"
      ],
      "author": {
        "name": "Noriaki TAKAMIYA",
        "email": "takamiya@po.ntts.co.jp",
        "time": "Wed Aug 23 19:21:34 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 15:06:52 2006 -0700"
      },
      "message": "[IPV6] MIP6: Add home address option definition.\n\nAdd home address option definition for Mobile IPv6.\nBased on MIPL2 kernel patch.\n\nSigned-off-by: Noriaki TAKAMIYA \u003ctakamiya@po.ntts.co.jp\u003e\nSigned-off-by: Masahide NAKAMURA \u003cnakam@linux-ipv6.org\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "642ec62eee5bdc158e01029220c8a23c685778fb",
      "tree": "37ed4f32dd4fc919f29af4f34e14c9a6eb058b85",
      "parents": [
        "ee53826801a8fa7a0e333895421ef6d0e5fbfbf0"
      ],
      "author": {
        "name": "Noriaki TAKAMIYA",
        "email": "takamiya@po.ntts.co.jp",
        "time": "Wed Aug 23 19:15:07 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 15:06:47 2006 -0700"
      },
      "message": "[IPV6] MIP6: Add routing header type 2 definition.\n\nAdd routing header type 2 definition for Mobile IPv6.\nBased on MIPL2 kernel patch.\n\nSigned-off-by: Noriaki TAKAMIYA \u003ctakamiya@po.ntts.co.jp\u003e\nSigned-off-by: Masahide NAKAMURA \u003cnakam@linux-ipv6.org\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "8e1ef0a95b87e8b4292b2ba733e8cb854ea2d2fe",
      "tree": "245489015b33604df5b270ce3c027205d867a929",
      "parents": [
        "cf6b1982599cbb60f410adeda659b0b29cdf7ad7"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Aug 29 17:15:09 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:55:45 2006 -0700"
      },
      "message": "[IPV6]: Cache source address as well in ipv6_pinfo{}.\n\nBased on MIPL2 kernel patch.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: Ville Nuorvala \u003cvnuorval@tcs.hut.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "62c4f0a2d5a188f73a94f2cb8ea0dba3e7cf0a7f",
      "tree": "e85ca2d0dd43f90dccf758338764c3caa55f333f",
      "parents": [
        "089f26d5e31b7bf42a9a8fefec08b30cd27f4b0e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "message": "Don\u0027t include linux/config.h from anywhere else in include/\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "09c884d4c3b45cda904c2291d4723074ff523611",
      "tree": "90b893f1b83165d7088ecdead94085969e0a58ef",
      "parents": [
        "e317da96227cef28a137e2d1ad790b23e518dd2b"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Mon Mar 20 17:07:03 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 17:07:03 2006 -0800"
      },
      "message": "[IPV6]: ROUTE: Add accept_ra_rt_info_max_plen sysctl.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "52e1635631b342803aecaf81a362c1464e3da2e5",
      "tree": "971c40743f7fcb594697dd18d22e2d8b168d1785",
      "parents": [
        "930d6ff2e2a5f1538448d3b0b2652a8f0c0f6cba"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Mon Mar 20 17:05:47 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 17:05:47 2006 -0800"
      },
      "message": "[IPV6]: ROUTE: Add router_probe_interval sysctl.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "930d6ff2e2a5f1538448d3b0b2652a8f0c0f6cba",
      "tree": "0ea6ca2d6d04c13bf05100a70a4a21d7cd6eeb82",
      "parents": [
        "270972554c91acd29412d8b6a10e606041012106"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Mon Mar 20 17:05:30 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 17:05:30 2006 -0800"
      },
      "message": "[IPV6]: ROUTE: Add accept_ra_rtr_pref sysctl.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c4fd30eb18666972230689eb30e8f90844bce635",
      "tree": "f1b8daddeb21d7d1390fa1ae820bf2b5ffa8d276",
      "parents": [
        "65f5c7c1143fb8eed5bc7e7d8c926346e00fe3c0"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Mon Mar 20 16:55:26 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 16:55:26 2006 -0800"
      },
      "message": "[IPV6]: ADDRCONF: Add accept_ra_pinfo sysctl.\n\nThis controls whether we accept Prefix Information in RAs.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "65f5c7c1143fb8eed5bc7e7d8c926346e00fe3c0",
      "tree": "fb61c9f73577a7fec29b11039d1434b972796d8b",
      "parents": [
        "073a8e0e154c1c440e0b33aaa887473d5cc843f4"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Mon Mar 20 16:55:08 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 16:55:08 2006 -0800"
      },
      "message": "[IPV6]: ROUTE: Add accept_ra_defrtr sysctl.\n\nThis controls whether we accept default router information\nin RAs.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3e3850e989c5d2eb1aab6f0fd9257759f0f4cbc6",
      "tree": "fa05d1de4767bc30e77442ffbacfe8bd8dd2213d",
      "parents": [
        "8cdfab8a43bb4b3da686ea503a702cb6f9f6a803"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 06 23:04:54 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jan 07 12:57:33 2006 -0800"
      },
      "message": "[NETFILTER]: Fix xfrm lookup in ip_route_me_harder/ip6_route_me_harder\n\nip_route_me_harder doesn\u0027t use the port numbers of the xfrm lookup and\nuses ip_route_input for non-local addresses which doesn\u0027t do a xfrm\nlookup, ip6_route_me_harder doesn\u0027t do a xfrm lookup at all.\n\nUse xfrm_decode_session and do the lookup manually, make sure both\nonly do the lookup if the packet hasn\u0027t been transformed already.\n\nMakeing sure the lookup only happens once needs a new field in the\nIP6CB, which exceeds the size of skb-\u003ecb. The size of skb-\u003ecb is\nincreased to 48b. Apparently the IPv6 mobile extensions need some\nmore room anyway.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "951dbc8ac714b04c36296b8b5c36c8e036ce433f",
      "tree": "7f3599987f6b6db765f66c65d5c1cefe1457ea6a",
      "parents": [
        "16a6677fdf1d1194f688f8291b06fbaff248c353"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 06 23:02:34 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jan 07 12:57:29 2006 -0800"
      },
      "message": "[IPV6]: Move nextheader offset to the IP6CB\n\nMove nextheader offset to the IP6CB to make it possible to pass a\npacket to ip6_input_finish multiple times and have it skip already\nparsed headers. As a nice side effect this gets rid of the manual\nhopopts skipping in ip6_input_finish.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14c850212ed8f8cbb5972ad6b8812e08a0bc901c",
      "tree": "53c88f03e7bbac4064f6e80d462ad484ee038326",
      "parents": [
        "25995ff577675b58dbd848b7758e7bad87411947"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 27 02:43:12 2005 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:11:21 2006 -0800"
      },
      "message": "[INET_SOCK]: Move struct inet_sock \u0026 helper functions to net/inet_sock.h\n\nTo help in reducing the number of include dependencies, several files were\ntouched as they were getting needed headers indirectly for stuff they use.\n\nThanks also to Alan Menegotto for pointing out that net/dccp/proto.c had\nlinux/dccp.h include twice.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6d6ee43e0b8b8d4847627fd43739b98ec2b9404f",
      "tree": "a2a66381d2351610c81362bf218e743f6ccf56ef",
      "parents": [
        "fc44b9805324c0ad2733ea2feea9935cc056709d"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 13 23:25:19 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:10:54 2006 -0800"
      },
      "message": "[TWSK]: Introduce struct timewait_sock_ops\n\nSo that we can share several timewait sockets related functions and\nmake the timewait mini sockets infrastructure closer to the request\nmini sockets one.\n\nNext changesets will take advantage of this, moving more code out of\nTCP and DCCP v4 and v6 to common infrastructure.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0fa1a53e1f055a6c790f40e7728f42a825b29248",
      "tree": "524eb8c8cadf6053faad6c8799c0571dee92c2b1",
      "parents": [
        "b9750ce13c08aa8a71a9b138d741f3046aefd991"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 13 23:23:09 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:10:47 2006 -0800"
      },
      "message": "[IPV6]: Introduce inet6_timewait_sock\n\nOut of tcp6_timewait_sock, that now is just an aggregation of\ninet_timewait_sock and inet6_timewait_sock, using tw_ipv6_offset in struct\ninet_timewait_sock, that is common to the IPv6 transport protocols that use\ntimewait sockets, like DCCP and TCP.\n\ntw_ipv6_offset plays the struct inet_sock pinfo6 role, i.e. for the generic\ncode to find the IPv6 area in a timewait sock.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b9750ce13c08aa8a71a9b138d741f3046aefd991",
      "tree": "08b2b842ece908bf63c104bbcb12e8b78c69288d",
      "parents": [
        "830a1e5c212fb3fdc83b66359c780c3b3a294897"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 13 23:22:54 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:10:46 2006 -0800"
      },
      "message": "[IPV6]: Generalise some functions\n\nUsing sk-\u003esk_protocol instead of IPPROTO_TCP.\n\nWill be used by DCCPv6 in the next changesets.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ca304b6104ffdd120bb6687a88a0625e58bc71cd",
      "tree": "99bdf631af245808459a0a956350b9388eada7fc",
      "parents": [
        "8129765ac07c2455c927051e3a8b048b619b56ee"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 13 23:15:40 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:10:37 2006 -0800"
      },
      "message": "[IPV6]: Introduce inet6_rsk()\n\nAnd inet6_rsk_offset in inet_request_sock, for the same reasons as\ninet_sock\u0027s pinfo6 member.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "81c3d5470ecc70564eb9209946730fe2be93ad06",
      "tree": "1efa553c305a6453769dacfaf580bc6ccf146d82",
      "parents": [
        "399de50bbbb2501a6db43daaa8a2dafbc9bcfe0c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Oct 03 14:13:38 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 03 14:13:38 2005 -0700"
      },
      "message": "[INET]: speedup inet (tcp/dccp) lookups\n\nArnaldo and I agreed it could be applied now, because I have other\npending patches depending on this one (Thank you Arnaldo)\n\n(The other important patch moves skc_refcnt in a separate cache line,\nso that the SMP/NUMA performance doesnt suffer from cache line ping pongs)\n\n1) First some performance data :\n--------------------------------\n\ntcp_v4_rcv() wastes a *lot* of time in __inet_lookup_established()\n\nThe most time critical code is :\n\nsk_for_each(sk, node, \u0026head-\u003echain) {\n     if (INET_MATCH(sk, acookie, saddr, daddr, ports, dif))\n         goto hit; /* You sunk my battleship! */\n}\n\nThe sk_for_each() does use prefetch() hints but only the begining of\n\"struct sock\" is prefetched.\n\nAs INET_MATCH first comparison uses inet_sk(__sk)-\u003edaddr, wich is far\naway from the begining of \"struct sock\", it has to bring into CPU\ncache cold cache line. Each iteration has to use at least 2 cache\nlines.\n\nThis can be problematic if some chains are very long.\n\n2) The goal\n-----------\n\nThe idea I had is to change things so that INET_MATCH() may return\nFALSE in 99% of cases only using the data already in the CPU cache,\nusing one cache line per iteration.\n\n3) Description of the patch\n---------------------------\n\nAdds a new \u0027unsigned int skc_hash\u0027 field in \u0027struct sock_common\u0027,\nfilling a 32 bits hole on 64 bits platform.\n\nstruct sock_common {\n\tunsigned short\t\tskc_family;\n\tvolatile unsigned char\tskc_state;\n\tunsigned char\t\tskc_reuse;\n\tint\t\t\tskc_bound_dev_if;\n\tstruct hlist_node\tskc_node;\n\tstruct hlist_node\tskc_bind_node;\n\tatomic_t\t\tskc_refcnt;\n+\tunsigned int\t\tskc_hash;\n\tstruct proto\t\t*skc_prot;\n};\n\nStore in this 32 bits field the full hash, not masked by (ehash_size -\n1) Using this full hash as the first comparison done in INET_MATCH\npermits us immediatly skip the element without touching a second cache\nline in case of a miss.\n\nSuppress the sk_hashent/tw_hashent fields since skc_hash (aliased to\nsk_hash and tw_hash) already contains the slot number if we mask with\n(ehash_size - 1)\n\nFile include/net/inet_hashtables.h\n\n64 bits platforms :\n#define INET_MATCH(__sk, __hash, __cookie, __saddr, __daddr, __ports, __dif)\\\n     (((__sk)-\u003esk_hash \u003d\u003d (__hash))\n     ((*((__u64 *)\u0026(inet_sk(__sk)-\u003edaddr)))\u003d\u003d (__cookie))   \u0026\u0026  \\\n     ((*((__u32 *)\u0026(inet_sk(__sk)-\u003edport))) \u003d\u003d (__ports))   \u0026\u0026  \\\n     (!((__sk)-\u003esk_bound_dev_if) || ((__sk)-\u003esk_bound_dev_if \u003d\u003d (__dif))))\n\n32bits platforms:\n#define TCP_IPV4_MATCH(__sk, __hash, __cookie, __saddr, __daddr, __ports, __dif)\\\n     (((__sk)-\u003esk_hash \u003d\u003d (__hash))                 \u0026\u0026  \\\n     (inet_sk(__sk)-\u003edaddr          \u003d\u003d (__saddr))   \u0026\u0026  \\\n     (inet_sk(__sk)-\u003ercv_saddr      \u003d\u003d (__daddr))   \u0026\u0026  \\\n     (!((__sk)-\u003esk_bound_dev_if) || ((__sk)-\u003esk_bound_dev_if \u003d\u003d (__dif))))\n\n\n- Adds a prefetch(head-\u003echain.first) in \n__inet_lookup_established()/__tcp_v4_check_established() and \n__inet6_lookup_established()/__tcp_v6_check_established() and \n__dccp_v4_check_established() to bring into cache the first element of the \nlist, before the {read|write}_lock(\u0026head-\u003elock);\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e6df439b89dbf9eb977c2dc6f7b0644be3704df4",
      "tree": "81ab85c73026e7050f033dac2a6f60a194beda8e",
      "parents": [
        "3874b98c655b9490bea1cf9c7697d5dc5338376f"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Sat Sep 10 00:15:06 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Sep 10 00:15:06 2005 -0700"
      },
      "message": "[IPV6]: Bring Type 0 routing header in-line with rfc3542.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "41a1f8ea4fbfcdc4232f023732584aae2220de31",
      "tree": "9939686b354ced0b22d81efcbc12f5ed90372b09",
      "parents": [
        "333fad5364d6b457c8d837f7d05802d2aaf8a961"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Sep 08 10:19:03 2005 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Sep 08 10:19:03 2005 +0900"
      },
      "message": "[IPV6]: Support IPV6_{RECV,}TCLASS socket options / ancillary data.\n\nBased on patch from David L Stevens \u003cdlstevens@us.ibm.com\u003e\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "333fad5364d6b457c8d837f7d05802d2aaf8a961",
      "tree": "92149276982a827457e9c556c7ef82ec3b09fb52",
      "parents": [
        "4706df3d3c42af802597d82c8b1542c3d52eab23"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Sep 08 09:59:17 2005 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Sep 08 09:59:17 2005 +0900"
      },
      "message": "[IPV6]: Support several new sockopt / ancillary data in Advanced API (RFC3542).\n\nSupport several new socket options / ancillary data:\n  IPV6_RECVPKTINFO, IPV6_PKTINFO,\n  IPV6_RECVHOPOPTS, IPV6_HOPOPTS,\n  IPV6_RECVDSTOPTS, IPV6_DSTOPTS, IPV6_RTHDRDSTOPTS,\n  IPV6_RECVRTHDR, IPV6_RTHDR,\n  IPV6_RECVHOPOPTS, IPV6_HOPOPTS\n\nOld semantics are preserved as IPV6_2292xxxx so that\nwe can maintain backward compatibility.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "505cbfc577f3fa778005e2800b869eca25727d5f",
      "tree": "a823df4b3e919b06b08d49014ad233c48a5903ff",
      "parents": [
        "b766b305d3f2d8be173e5d9853534ea1afdbabba"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Fri Aug 12 09:19:38 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:57:24 2005 -0700"
      },
      "message": "[IPV6]: Generalise the tcp_v6_lookup routines\n\nIn the same way as was done with the v4 counterparts, this will be moved\nto inet6_hashtables.c.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f421baa4720b708022f8bcc52a61e5cd6f10bf8",
      "tree": "e4201b1e2356cea8b7bd8d68dfba06e84002a77d",
      "parents": [
        "463c84b97f24010a67cd871746d6a7e4c925a5f9"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 20:11:08 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:49:14 2005 -0700"
      },
      "message": "[NET]: Just move the inet_connection_sock function from tcp sources\n\nCompleting the previous changeset, this also generalises tcp_v4_synq_add,\nrenaming it to inet_csk_reqsk_queue_hash_add, already geing used in the\nDCCP tree, which I plan to merge RSN.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "463c84b97f24010a67cd871746d6a7e4c925a5f9",
      "tree": "48df67ede4ebb5d12b3c0ae55d72531574bd51a6",
      "parents": [
        "87d11ceb9deb7a3f13fdee6e89d9bb6be7d27a71"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 20:10:42 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:43:19 2005 -0700"
      },
      "message": "[NET]: Introduce inet_connection_sock\n\nThis creates struct inet_connection_sock, moving members out of struct\ntcp_sock that are shareable with other INET connection oriented\nprotocols, such as DCCP, that in my private tree already uses most of\nthese members.\n\nThe functions that operate on these members were renamed, using a\ninet_csk_ prefix while not being moved yet to a new file, so as to\nease the review of these changes.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8feaf0c0a5488b3d898a9c207eb6678f44ba3f26",
      "tree": "ddd004afe2f7c8295f6fdb94d34f78a42b5961cb",
      "parents": [
        "33b62231908c58ae04185e4f1063d1e35a7c8576"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 20:09:30 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:42:13 2005 -0700"
      },
      "message": "[INET]: Generalise tcp_tw_bucket, aka TIME_WAIT sockets\n\nThis paves the way to generalise the rest of the sock ID lookup\nroutines and saves some bytes in TCPv4 TIME_WAIT sockets on distro\nkernels (where IPv6 is always built as a module):\n\n[root@qemu ~]# grep tw_sock /proc/slabinfo\ntw_sock_TCPv6  0  0  128  31  1\ntw_sock_TCP    0  0   96  41  1\n[root@qemu ~]#\n\nNow if a protocol wants to use the TIME_WAIT generic infrastructure it\nonly has to set the sk_prot-\u003etwsk_obj_size field with the size of its\ninet_timewait_sock derived sock and proto_register will create\nsk_prot-\u003etwsk_slab, for now its only for INET sockets, but we can\nintroduce timewait_sock later if some non INET transport protocolo\nwants to use this stuff.\n\nNext changesets will take advantage of this new infrastructure to\ngeneralise even more TCP code.\n\n[acme@toy net-2.6.14]$ grep built-in /tmp/before.size /tmp/after.size\n/tmp/before.size: 188646   11764    5068  205478   322a6 net/ipv4/built-in.o\n/tmp/after.size:  188144   11764    5068  204976   320b0 net/ipv4/built-in.o\n[acme@toy net-2.6.14]$\n\nTested with both IPv4 \u0026 IPv6 (::1 (localhost) \u0026 ::ffff:172.20.0.1\n(qemu host)).\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "60236fdd08b2169045a3bbfc5ffe1576e6c3c17b",
      "tree": "4541c682cc72daf560ec516e2b5868089a88b6ea",
      "parents": [
        "2e6599cb899ba4b133f42cbf9d2b1883d2dc583a"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sat Jun 18 22:47:21 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 22:47:21 2005 -0700"
      },
      "message": "[NET] Rename open_request to request_sock\n\nOk, this one just renames some stuff to have a better namespace and to\ndissassociate it from TCP:\n\nstruct open_request  -\u003e struct request_sock\ntcp_openreq_alloc    -\u003e reqsk_alloc\ntcp_openreq_free     -\u003e reqsk_free\ntcp_openreq_fastfree -\u003e __reqsk_free\n\nWith this most of the infrastructure closely resembles a struct\nsock methods subset.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e6599cb899ba4b133f42cbf9d2b1883d2dc583a",
      "tree": "b5d4fcca4d2a515fc3d3d20cefaaeebd8dbf661f",
      "parents": [
        "1944972d3bb651474a5021c9da8d0166ae19f1eb"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sat Jun 18 22:46:52 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 22:46:52 2005 -0700"
      },
      "message": "[NET] Generalise TCP\u0027s struct open_request minisock infrastructure\n\nKept this first changeset minimal, without changing existing names to\nease peer review.\n\nBasicaly tcp_openreq_alloc now receives the or_calltable, that in turn\nhas two new members:\n\n-\u003eslab, that replaces tcp_openreq_cachep\n-\u003eobj_size, to inform the size of the openreq descendant for\n  a specific protocol\n\nThe protocol specific fields in struct open_request were moved to a\nclass hierarchy, with the things that are common to all connection\noriented PF_INET protocols in struct inet_request_sock, the TCP ones\nin tcp_request_sock, that is an inet_request_sock, that is an\nopen_request.\n\nI.e. this uses the same approach used for the struct sock class\nhierarchy, with sk_prot indicating if the protocol wants to use the\nopen_request infrastructure by filling in sk_prot-\u003ersk_prot with an\nor_calltable.\n\nResults? Performance is improved and TCP v4 now uses only 64 bytes per\nopen request minisock, down from 96 without this patch :-)\n\nNext changeset will rename some of the structs, fields and functions\nmentioned above, struct or_calltable is way unclear, better name it\nstruct request_sock_ops, s/struct open_request/struct request_sock/g,\netc.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
