)]}'
{
  "log": [
    {
      "commit": "e5dfb815181fcb186d6080ac3a091eadff2d98fe",
      "tree": "25ec6cc5b3c75536dc45a14089ca14fc8bd67938",
      "parents": [
        "94de78d19580143c407ff2492edf2410d0e7d48c"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 31 18:37:42 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:36 2008 -0800"
      },
      "message": "[NET_SCHED]: Add flow classifier\n\nAdd new \"flow\" classifier, which is meant to extend the SFQ hashing\ncapabilities without hard-coding new hash functions and also allows\ndeterministic mappings of keys to classes, replacing some out of tree\niptables patches like IPCLASSIFY (maps IPs to classes), IPMARK (maps\nIPs to marks, with fw filters to classes), ...\n\nSome examples:\n\n- Classic SFQ hash:\n\n  tc filter add ... flow hash \\\n  \tkeys src,dst,proto,proto-src,proto-dst divisor 1024\n\n- Classic SFQ hash, but using information from conntrack to work properly in\n  combination with NAT:\n\n  tc filter add ... flow hash \\\n  \tkeys nfct-src,nfct-dst,proto,nfct-proto-src,nfct-proto-dst divisor 1024\n\n- Map destination IPs of 192.168.0.0/24 to classids 1-257:\n\n  tc filter add ... flow map \\\n  \tkey dst addend -192.168.0.0 divisor 256\n\n- alternatively:\n\n  tc filter add ... flow map \\\n  \tkey dst and 0xff\n\n- similar, but reverse ordered:\n\n  tc filter add ... flow map \\\n  \tkey dst and 0xff xor 0xff\n\nPerturbation is currently not supported because we can\u0027t reliable kill the\ntimer on destruction.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4219952356baa162368f2f5dab6421a5dbc5e15",
      "tree": "4d99027b3453853c79a32793c4ebda76c6386169",
      "parents": [
        "ce1234d299f3823ea07019c0f7b7b0bcb81ee7a0"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 27 12:48:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:11 2007 -0700"
      },
      "message": "[PKT_SCHED]: Add stateless NAT\n\nStateless NAT is useful in controlled environments where restrictions are\nplaced on through traffic such that we don\u0027t need connection tracking to\ncorrectly NAT protocol-specific data.\n\nIn particular, this is of interest when the number of flows or the number\nof addresses being NATed is large, or if connection tracking information\nhas to be replicated and where it is not practical to do so.\n\nPreviously we had stateless NAT functionality which was integrated into\nthe IPv4 routing subsystem.  This was a great solution as long as the NAT\nworked on a subnet to subnet basis such that the number of NAT rules was\nrelatively small.  The reason is that for SNAT the routing based system\nhad to perform a linear scan through the rules.\n\nIf the number of rules is large then major renovations would have take\nplace in the routing subsystem to make this practical.\n\nFor the time being, the least intrusive way of achieving this is to use\nthe u32 classifier written by Alexey Kuznetsov along with the actions\ninfrastructure implemented by Jamal Hadi Salim.\n\nThe following patch is an attempt at this problem by creating a new nat\naction that can be invoked from u32 hash tables which would allow large\nnumber of stateless NAT rules that can be used/updated in constant time.\n\nThe actual NAT code is mostly based on the previous stateless NAT code\nwritten by Alexey.  In future we might be able to utilise the protocol\nNAT code from netfilter to improve support for other protocols.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c3bc7cff8fddb6ff9715be8bfc3d911378c4d69d",
      "tree": "e23946fb3583ee17e95c07f6e04b5dcc498fa581",
      "parents": [
        "73ca4918fbb98311421259d82ef4ab44feeace43"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Jul 15 00:03:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 15 00:03:05 2007 -0700"
      },
      "message": "[NET_SCHED]: Kill CONFIG_NET_CLS_POLICE\n\nThe NET_CLS_ACT option is now a full replacement for NET_CLS_POLICE,\nremove the old code. The config option will be kept around to select\nthe equivalent NET_CLS_ACT options for a short time to allow easier\nupgrades.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9b2f7bcf0efea98666da56073448647e2b373b67",
      "tree": "f2e4719d070aab492236d9878a7fda70e9b84bf7",
      "parents": [
        "703071b5b93d88d5acb0edd5b9dd86c69ad970f2"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Mon Mar 26 16:20:34 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 26 16:20:34 2007 -0700"
      },
      "message": "[NET]: Remove dead net/sched/Makefile entry for sch_hpfq.o.\n\nRemove the worthless net/sched/Makefile entry for the non-existent\nsource file sch_hpfq.c.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3c62f75aac7348ee262b1295cfcfeb3473f76815",
      "tree": "ce7acdf403d50224bfc4250c7f0ff8f9281f56e4",
      "parents": [
        "3dfbcc411e461db51a1ac1aa1c6ebe2c5a0275a0"
      ],
      "author": {
        "name": "David Kimdon",
        "email": "david.kimdon@devicescape.com",
        "time": "Thu Nov 09 16:16:21 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:21:43 2006 -0800"
      },
      "message": "[PKT_SCHED]: Make sch_fifo.o available when CONFIG_NET_SCHED is not set.\n\nBased on patch by Patrick McHardy.\n\nAdd a new option, NET_SCH_FIFO, which provides a simple fifo qdisc\nwithout requiring CONFIG_NET_SCHED.\n\nThe d80211 stack needs a generic fifo qdisc for WME.  At present it\nuses net/d80211/fifo_qdisc.c which is functionally equivalent to\nsch_fifo.c.  This patch will allow the d80211 stack to remove\nnet/d80211/fifo_qdisc.c and use sch_fifo.c instead.\n\nSigned-off-by: David Kimdon \u003cdavid.kimdon@devicescape.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4bba3925924148c24fb0c7636a04ad69a6a56b84",
      "tree": "9f8af6ab6509dd1bf3dcb7232a4e6fdc8cbf8629",
      "parents": [
        "541673c859c0d71dedaaea1c148dfe3ccccc9422"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Jan 08 22:22:14 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Jan 09 14:16:14 2006 -0800"
      },
      "message": "[PKT_SCHED]: Prefix tc actions with act_\n\nClean up the net/sched directory a bit by prefix all actions with act_.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "63d886c96b2a580b1bf764de238ba3c63515b5ee",
      "tree": "df855d79c4d956f5db562c0793ce307dd22f62b4",
      "parents": [
        "c1b4a7e69576d65efc31a8cea0714173c2841244"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Jul 05 15:29:16 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 15:29:16 2005 -0700"
      },
      "message": "[PKT_SCHED]: Blackhole queueing discipline\n\nUseful in combination with classful qdiscs to drop or\ntemporary disable certain flows, e.g. one could block\nspecific ds flows with dsmark.\n\nUnlike the noop qdisc it can be controlled by the user and\nstatistic accounting is done.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d675c989ed2d4ba23dff615330b04371aea83534",
      "tree": "856df6f7dc1fba81b134e2363e42dbf6022fa671",
      "parents": [
        "3fc7e8a6d842f72d16d2623b1022814a635ab961"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Jun 23 21:00:58 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 23 21:00:58 2005 -0700"
      },
      "message": "[PKT_SCHED]: Packet classification based on textsearch (ematch)\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "db7530797992bb2be703f9f3cc69b1a578f812f8",
      "tree": "741ca281d2acb1f5a62df20ccda4ad294b57347b",
      "parents": [
        "ac6910e189471e6b46ecea59e7620b083329ad4f"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Sun Apr 24 20:10:16 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 24 20:10:16 2005 -0700"
      },
      "message": "[PKT_SCHED]: Introduce simple actions.\n\nAnd provide an example simply action in order to\ndemonstrate usage.\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\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"
    }
  ]
}
