)]}'
{
  "log": [
    {
      "commit": "190ecd27cd7294105e3b26ca71663c7d940acbbb",
      "tree": "0dfc3569862e260a7c35c7dee14332de4345eeba",
      "parents": [
        "cf356d69db0afef692cd640917bc70f708c27f14"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Sun Oct 17 16:24:37 2010 +0300"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Oct 21 10:50:41 2010 +0200"
      },
      "message": "ipvs: do not schedule conns from real servers\n\n \tThis patch is needed to avoid scheduling of\npackets from local real server when we add ip_vs_in\nin LOCAL_OUT hook to support local client.\n\n \tCurrently, when ip_vs_in can not find existing\nconnection it tries to create new one by calling ip_vs_schedule.\n\n \tThe default indication from ip_vs_schedule was if\nconnection was scheduled to real server. If real server is\nnot available we try to use the bypass forwarding method\nor to send ICMP error. But in some cases we do not want to use\nthe bypass feature. So, add flag \u0027ignored\u0027 to indicate if\nthe scheduler ignores this packet.\n\n \tMake sure we do not create new connections from replies.\nWe can hit this problem for persistent services and local real\nserver when ip_vs_in is added to LOCAL_OUT hook to handle\nlocal clients.\n\n \tAlso, make sure ip_vs_schedule ignores SYN packets\nfor Active FTP DATA from local real server. The FTP DATA\nconnection should be created on SYN+ACK from client to assign\ncorrect connection daddr.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "cf356d69db0afef692cd640917bc70f708c27f14",
      "tree": "1c1e0a277ba783066e639524bbdef0c19996e8c0",
      "parents": [
        "8b27b10f5863a5b63e46304a71aa01463d1efac4"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Sun Oct 17 16:21:07 2010 +0300"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Oct 21 10:50:20 2010 +0200"
      },
      "message": "ipvs: switch to notrack mode\n\n \tChange skb-\u003eipvs_property semantic. This is preparation\nto support ip_vs_out processing in LOCAL_OUT. ipvs_property\u003d1\nwill be used to avoid expensive lookups for traffic sent by\ntransmitters. Now when conntrack support is not used we call\nip_vs_notrack method to avoid problems in OUTPUT and\nPOST_ROUTING hooks instead of exiting POST_ROUTING as before.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "8b27b10f5863a5b63e46304a71aa01463d1efac4",
      "tree": "89f5db8881b0297cda00cad3c2cdedf685e2757f",
      "parents": [
        "5bc9068e9d962ca6b8bec3f0eb6f60ab4dee1d04"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Sun Oct 17 16:17:20 2010 +0300"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Oct 21 10:50:02 2010 +0200"
      },
      "message": "ipvs: optimize checksums for apps\n\n \tAvoid full checksum calculation for apps that can provide\ninfo whether csum was broken after payload mangling. For now only\nip_vs_ftp mangles payload and it updates the csum, so the full\nrecalculation is avoided for all packets.\n\n \tAdd CHECKSUM_UNNECESSARY for snat_handler (TCP and UDP).\nIt is needed to support SNAT from local address for the case\nwhen csum is fully recalculated.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "5bc9068e9d962ca6b8bec3f0eb6f60ab4dee1d04",
      "tree": "faa2317aa2a175a1dff24ab62447aeddda342b8e",
      "parents": [
        "d86bef73b4a24e59e7c1f896a72bbf38430ac2c6"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Sun Oct 17 16:14:31 2010 +0300"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Oct 21 10:49:39 2010 +0200"
      },
      "message": "ipvs: fix CHECKSUM_PARTIAL for TCP, UDP\n\n \tFix CHECKSUM_PARTIAL handling. Tested for IPv4 TCP,\nUDP not tested because it needs network card with HW CSUM support.\nMay be fixes problem where IPVS can not be used in virtual boxes.\nProblem appears with DNAT to local address when the local stack\nsends reply in CHECKSUM_PARTIAL mode.\n\n \tFix tcp_dnat_handler and udp_dnat_handler to provide\nvaddr and daddr in right order (old and new IP) when calling\ntcp_partial_csum_update/udp_partial_csum_update (CHECKSUM_PARTIAL).\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "d86bef73b4a24e59e7c1f896a72bbf38430ac2c6",
      "tree": "724097038b8d5bf76da75b55af13de23b46365f1",
      "parents": [
        "714f095f74582764d629785f03b459a3d0503624"
      ],
      "author": {
        "name": "Eduardo Blanco",
        "email": "ejblanco@google.com",
        "time": "Tue Oct 19 10:26:47 2010 +0100"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Tue Oct 19 17:13:16 2010 +0200"
      },
      "message": "Fixed race condition at ip_vs.ko module init.\n\nLists were initialized after the module was registered.  Multiple ipvsadm\nprocesses at module load triggered a race condition that resulted in a null\npointer dereference in do_ip_vs_get_ctl(). As a result, __ip_vs_mutex\nwas left locked preventing all further ipvsadm commands.\n\nSigned-off-by: Eduardo J. Blanco \u003cejblanco@google.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "714f095f74582764d629785f03b459a3d0503624",
      "tree": "47f115c332227008d6d8a15d68594fdc126274d3",
      "parents": [
        "ebbf41df4aabb6d506fa18ea8cb4c2b4388a18b9"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Tue Oct 19 10:38:48 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Oct 19 10:38:48 2010 +0200"
      },
      "message": "ipvs: IPv6 tunnel mode\n\nIPv6 encapsulation uses a bad source address for the tunnel.\ni.e. VIP will be used as local-addr and encap. dst addr.\nDecapsulation will not accept this.\n\nExample\nLVS (eth1 2003::2:0:1/96, VIP 2003::2:0:100)\n   (eth0 2003::1:0:1/96)\nRS  (ethX 2003::1:0:5/96)\n\ntcpdump\n2003::2:0:100 \u003e 2003::1:0:5: IP6 (hlim 63, next-header TCP (6) payload length: 40)  2003::3:0:10.50991 \u003e 2003::2:0:100.http: Flags [S], cksum 0x7312 (correct), seq 3006460279, win 5760, options [mss 1440,sackOK,TS val 1904932 ecr 0,nop,wscale 3], length 0\n\nIn Linux IPv6 impl. you can\u0027t have a tunnel with an any cast address\nreceiving packets (I have not tried to interpret RFC 2473)\nTo have receive capabilities the tunnel must have:\n - Local address set as multicast addr or an unicast addr\n - Remote address set as an unicast addr.\n - Loop back addres or Link local address are not allowed.\n\nThis causes us to setup a tunnel in the Real Server with the\nLVS as the remote address, here you can\u0027t use the VIP address since it\u0027s\nused inside the tunnel.\n\nSolution\nUse outgoing interface IPv6 address (match against the destination).\ni.e. use ip6_route_output() to look up the route cache and\nthen use ipv6_dev_get_saddr(...) to set the source address of the\nencapsulated packet.\n\nAdditionally, cache the results in new destination\nfields: dst_cookie and dst_saddr and properly check the\nreturned dst from ip6_route_output. We now add xfrm_lookup\ncall only for the tunneling method where the source address\nis a local one.\n\nSigned-off-by:Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "ebbf41df4aabb6d506fa18ea8cb4c2b4388a18b9",
      "tree": "16ea6ca8a2382e399798a087fcbeb63380b21f03",
      "parents": [
        "43f974cdb4ab6d65f849610deb9ef738d62b2e65"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Oct 19 10:19:06 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Oct 19 10:19:06 2010 +0200"
      },
      "message": "netfilter: ctnetlink: add expectation deletion events\n\nThis patch allows to listen to events that inform about\nexpectations destroyed.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "43f974cdb4ab6d65f849610deb9ef738d62b2e65",
      "tree": "ca9a8a12ee4382921d7fd2e793282b73f1e4d57a",
      "parents": [
        "76b6717bc6ccb715b04e36efc26566a6313ede5f"
      ],
      "author": {
        "name": "Nick Bowler",
        "email": "nbowler@elliptictech.com",
        "time": "Mon Oct 18 11:22:05 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Oct 18 11:22:05 2010 +0200"
      },
      "message": "netfilter: install missing ebtables headers for userspace\n\nThe ebt_ip6.h and ebt_nflog.h headers are not not known to Kbuild and\ntherefore not installed by make headers_install.  Fix that up.\n\nSigned-off-by: Nick Bowler \u003cnbowler@elliptictech.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "76b6717bc6ccb715b04e36efc26566a6313ede5f",
      "tree": "eecbb09c5775cd3f092cc91e5f15c251c25d3b82",
      "parents": [
        "a91fd267e327ca7599654b4e9ed7b62c5adaccee"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Oct 18 11:13:30 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Oct 18 11:13:30 2010 +0200"
      },
      "message": "netfilter: fix kconfig unmet dependency warning\n\nFix netfilter kconfig unmet dependencies warning \u0026 spell out\n\"compatible\" while there.\n\nwarning: (IP_NF_TARGET_TTL \u0026\u0026 NET \u0026\u0026 INET \u0026\u0026 NETFILTER \u0026\u0026 IP_NF_IPTABLES \u0026\u0026 NETFILTER_ADVANCED || IP6_NF_TARGET_HL \u0026\u0026 NET \u0026\u0026 INET \u0026\u0026 IPV6 \u0026\u0026 NETFILTER \u0026\u0026 IP6_NF_IPTABLES \u0026\u0026 NETFILTER_ADVANCED) selects NETFILTER_XT_TARGET_HL which has unmet direct dependencies ((IP_NF_MANGLE || IP6_NF_MANGLE) \u0026\u0026 NETFILTER_ADVANCED)\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "a91fd267e327ca7599654b4e9ed7b62c5adaccee",
      "tree": "a90cac242498c1c0b5f2489a1ff9ff40ea28a8cd",
      "parents": [
        "9ecdafd883db3c43296797382fc0b2c868144070"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Wed Oct 13 21:22:35 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Oct 13 21:22:35 2010 +0200"
      },
      "message": "IPVS: ip_vs_dbg_callid() is only needed for debugging\n\nip_vs_dbg_callid() and IP_VS_DEBUG_CALLID() are only needed\nit CONFIG_IP_VS_DEBUG is defined.\n\nThis resolves the following build warning when CONFIG_IP_VS_DEBUG is\nnot defined.\n\nnet/netfilter/ipvs/ip_vs_pe_sip.c:11: warning: \u0027ip_vs_dbg_callid\u0027 defined but not used\n\nReported-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "9ecdafd883db3c43296797382fc0b2c868144070",
      "tree": "ddb93997596ff2a2a27c084facbae9666c43d131",
      "parents": [
        "75f0a0fd787bfa3ea1a916ca632a5b9e0007cbb7"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Oct 13 16:42:02 2010 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Oct 13 18:00:51 2010 +0200"
      },
      "message": "netfilter: xtables: remove unused defines\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "75f0a0fd787bfa3ea1a916ca632a5b9e0007cbb7",
      "tree": "1928cb3401ead89d561e04d4d317422a0ed80283",
      "parents": [
        "243bf6e29eef642de0ff62f1ebf58bc2396d6d6e"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Oct 13 16:37:45 2010 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Oct 13 18:00:50 2010 +0200"
      },
      "message": "netfilter: xtables: unify {ip,ip6,arp}t_error_target\n\nUnification of struct *_error_target was forgotten in\nv2.6.16-1689-g1e30a01.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "243bf6e29eef642de0ff62f1ebf58bc2396d6d6e",
      "tree": "79f4eb37b594d320d4750e04ce6e16a7d62177f0",
      "parents": [
        "87a2e70db62fec7348c6e5545eb7b7650c33d81b"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Oct 13 16:28:00 2010 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Oct 13 18:00:46 2010 +0200"
      },
      "message": "netfilter: xtables: resolve indirect macros 3/3\n"
    },
    {
      "commit": "87a2e70db62fec7348c6e5545eb7b7650c33d81b",
      "tree": "3aa5dcd79bf7d331c4a69a3a9b1c5b01f00233ad",
      "parents": [
        "12b00c2c025b8af697d9a022ea2e928cad889ef1"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Oct 13 16:11:22 2010 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Oct 13 18:00:41 2010 +0200"
      },
      "message": "netfilter: xtables: resolve indirect macros 2/3\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "12b00c2c025b8af697d9a022ea2e928cad889ef1",
      "tree": "9de3f3a1ed8d79052fdd9abe7d72bed594de6140",
      "parents": [
        "eecc545856c8a0f27783a440d25f4ceaa1f95ce8"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Oct 13 15:56:56 2010 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Oct 13 18:00:36 2010 +0200"
      },
      "message": "netfilter: xtables: resolve indirect macros 1/3\n\nMany of the used macros are just there for userspace compatibility.\nSubstitute the in-kernel code to directly use the terminal macro\nand stuff the defines into #ifndef __KERNEL__ sections.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "eecc545856c8a0f27783a440d25f4ceaa1f95ce8",
      "tree": "7dcfcb0c91c098c6233fb360e0d23cccdef20dc9",
      "parents": [
        "f68c53015c5b9aa98ffd87a34009f89bdbbd7160"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Oct 04 23:24:21 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Oct 04 23:24:21 2010 +0200"
      },
      "message": "netfilter: add missing xt_log.h file\n\nForgot to add xt_log.h in commit a8defca0 (netfilter: ipt_LOG:\nadd bufferisation to call printk() once)\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "f68c53015c5b9aa98ffd87a34009f89bdbbd7160",
      "tree": "93c420dc5f5643125d1bad05398faceeade47416",
      "parents": [
        "e55df53dd62c73185af46fb6ffa7074b05ceefc4"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Mon Oct 04 22:24:12 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Oct 04 22:24:12 2010 +0200"
      },
      "message": "netfilter: unregister nf hooks, matches and targets in the reverse order\n\nSince we register nf hooks, matches and targets in order, we\u0027d better\nunregister them in the reverse order.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "e55df53dd62c73185af46fb6ffa7074b05ceefc4",
      "tree": "b8de94f080402ff094a60bd11110899b5efc48d9",
      "parents": [
        "a8defca048fd11eb2d1a17ab61a60a856292dd4e"
      ],
      "author": {
        "name": "Nicolas Kaiser",
        "email": "nikai@nikai.net",
        "time": "Mon Oct 04 21:00:42 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Oct 04 21:00:42 2010 +0200"
      },
      "message": "netfilter: remove duplicated include\n\nRemove duplicated include.\n\nSigned-off-by: Nicolas Kaiser \u003cnikai@nikai.net\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "a8defca048fd11eb2d1a17ab61a60a856292dd4e",
      "tree": "b486460fd1f2310cd4572bd36c126a3fa8b3a5c5",
      "parents": [
        "0c200d935346fe0ebde9b6dffbb683dddd166fb9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 04 20:56:05 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Oct 04 20:56:05 2010 +0200"
      },
      "message": "netfilter: ipt_LOG: add bufferisation to call printk() once\n\nipt_LOG \u0026 ip6t_LOG use lot of calls to printk() and use a lock in a hope\nseveral cpus wont mix their output in syslog.\n\nprintk() being very expensive [1], its better to call it once, on a\nprebuilt and complete line. Also, with mixed IPv4 and IPv6 trafic,\nseparate IPv4/IPv6 locks dont avoid garbage.\n\nI used an allocation of a 1024 bytes structure, sort of seq_printf() but\nwith a fixed size limit.\nUse a static buffer if dynamic allocation failed.\n\nEmit a once time alert if buffer size happens to be too short.\n\n[1]: printk() has various features like printk_delay()...\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "0c200d935346fe0ebde9b6dffbb683dddd166fb9",
      "tree": "a880c12f3f68fd3abefd86bea8d445cab3c3c876",
      "parents": [
        "758ff03387228824617cef9507e5682488bf9e0c"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Oct 04 20:53:18 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Oct 04 20:53:18 2010 +0200"
      },
      "message": "netfilter: nf_nat: make find/put static\n\nThe functions nf_nat_proto_find_get and nf_nat_proto_put are\nonly used internally in nf_nat_core. This might break some out\nof tree NAT module.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "758ff03387228824617cef9507e5682488bf9e0c",
      "tree": "92fa1ff9df6545aa4d3949de9cdcf3ccffe5091c",
      "parents": [
        "f71499aa11f884255b69ce6c3b3c398c821591a1"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Aug 22 21:37:55 2010 +0900"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Oct 04 22:45:24 2010 +0900"
      },
      "message": "IPVS: sip persistence engine\n\nAdd the SIP callid as a key for persistence.\n\nThis allows multiple connections from the same IP address to be\ndifferentiated on the basis of the callid.\n\nWhen used in conjunction with the persistence mask, it allows connections\nfrom different  IP addresses to be aggregated on the basis of the callid.\n\nIt is envisaged that a persistence mask of 0.0.0.0 will be a useful\nsetting.  That is, ignore the source IP address when checking for\npersistence.\n\nIt is envisaged that this option will be used in conjunction with\none-packet scheduling.\n\nThis only works with UDP and cannot be made to work with TCP\nwithin the current framework.\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\n\n"
    },
    {
      "commit": "f71499aa11f884255b69ce6c3b3c398c821591a1",
      "tree": "85d70bcbbe1312c5853db0ceadf348bbf40fbe33",
      "parents": [
        "0d1e71b04a04b6912e50926b9987c1e72facb1f3"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Aug 22 21:37:54 2010 +0900"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Oct 04 22:45:24 2010 +0900"
      },
      "message": "IPVS: Fallback if persistence engine fails\n\nFall back to normal persistence handling if the persistence\nengine fails to recognise a packet.\n\nThis way, at least the packet will go somewhere.\n\nIt is envisaged that iptables could be used to block packets\nsuch if this is not desired although nf_conntrack_sip would\nlikely need to be enhanced first.\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\n\n"
    },
    {
      "commit": "0d1e71b04a04b6912e50926b9987c1e72facb1f3",
      "tree": "1c431b2484ab9bb2911ba8e9e281783cbd922f06",
      "parents": [
        "8be67a6617b3403551fccb67b1c624c659419515"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Aug 22 21:37:54 2010 +0900"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Oct 04 22:45:24 2010 +0900"
      },
      "message": "IPVS: Allow configuration of persistence engines\n\nAllow the persistence engine of a virtual service to be set, edited\nand unset.\n\nThis feature only works with the netlink user-space interface.\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\n\n"
    },
    {
      "commit": "8be67a6617b3403551fccb67b1c624c659419515",
      "tree": "902f8092ab95dfd06a80bdaf90bb2e51e23f285b",
      "parents": [
        "a3c918acd29a96aba3b46bf50136e7953a480d17"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Aug 22 21:37:54 2010 +0900"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Oct 04 22:45:24 2010 +0900"
      },
      "message": "IPVS: management of persistence engine modules\n\nThis is based heavily on the scheduler management code\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\n\n"
    },
    {
      "commit": "a3c918acd29a96aba3b46bf50136e7953a480d17",
      "tree": "570a5ea3a3fdef62b86e944ebcfcaf8b88ddb735",
      "parents": [
        "85999283a21ab2dd37427fdd8c8e8af57223977c"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Aug 22 21:37:53 2010 +0900"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Oct 04 22:45:24 2010 +0900"
      },
      "message": "IPVS: Add persistence engine data to /proc/net/ip_vs_conn\n\nThis shouldn\u0027t break compatibility with userspace as the new data\nis at the end of the line.\n\nI have confirmed that this doesn\u0027t break ipvsadm, the main (only?)\nuser-space user of this data.\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\n\n"
    },
    {
      "commit": "85999283a21ab2dd37427fdd8c8e8af57223977c",
      "tree": "a78ba043c23182d47cfe473a9a829d8608e2d526",
      "parents": [
        "2fabf35bfcd89445c54cf1e6a5437dd3cf924a92"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Aug 22 21:37:53 2010 +0900"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Oct 04 22:45:24 2010 +0900"
      },
      "message": "IPVS: Add struct ip_vs_pe\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\n\n"
    },
    {
      "commit": "2fabf35bfcd89445c54cf1e6a5437dd3cf924a92",
      "tree": "ac44075362b3b17d25f841c50622c0603fc2d3c8",
      "parents": [
        "6e08bfb879574524cc9a67be960c684989fd986c"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Aug 22 21:37:52 2010 +0900"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Oct 04 22:45:24 2010 +0900"
      },
      "message": "IPVS: ip_vs_{un,}bind_scheduler NULL arguments\n\nIn general NULL arguments aren\u0027t passed by the few callers that exist,\nso don\u0027t test for them.\n\nThe exception is to make passing NULL to ip_vs_unbind_scheduler() a noop.\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\n\n"
    },
    {
      "commit": "6e08bfb879574524cc9a67be960c684989fd986c",
      "tree": "7ae752735101d2928993ad57f092904bfb81922f",
      "parents": [
        "f11017ec2d1859c661f4e2b12c4a8d250e1f47cf"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Aug 22 21:37:52 2010 +0900"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Oct 04 22:45:24 2010 +0900"
      },
      "message": "IPVS: Allow null argument to ip_vs_scheduler_put()\n\nThis simplifies caller logic sightly.\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\n\n"
    },
    {
      "commit": "f11017ec2d1859c661f4e2b12c4a8d250e1f47cf",
      "tree": "07278dbced3c8c61b9e6bbe9c3d502c65b127f24",
      "parents": [
        "5b57a98c1f0d78a4c238d83c4ac70de3bd237b2f"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Aug 22 21:37:52 2010 +0900"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Oct 04 22:45:24 2010 +0900"
      },
      "message": "IPVS: Add struct ip_vs_conn_param\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\n\n"
    },
    {
      "commit": "5b57a98c1f0d78a4c238d83c4ac70de3bd237b2f",
      "tree": "13c4076a4fa804a97e67fe51b084635fbfaa8638",
      "parents": [
        "001985b2c0cfad48e1dec8e30f4d432eac240dd2"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Aug 22 21:37:51 2010 +0900"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Oct 04 22:45:23 2010 +0900"
      },
      "message": "IPVS: compact ip_vs_sched_persist()\n\nCompact ip_vs_sched_persist() by setting up parameters\nand calling functions once.\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\n\n"
    },
    {
      "commit": "001985b2c0cfad48e1dec8e30f4d432eac240dd2",
      "tree": "1fe80a8c34751374a785700c22bb9369d5679c55",
      "parents": [
        "5adbb9fb0c35c38022f79e09fecf15ba8f65f069"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Aug 22 21:37:51 2010 +0900"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Oct 04 22:45:23 2010 +0900"
      },
      "message": "netfilter: nf_conntrack_sip: Add callid parser\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\n\n"
    },
    {
      "commit": "5adbb9fb0c35c38022f79e09fecf15ba8f65f069",
      "tree": "0f9aeaa88762bdafef2c8066d9a378d2b20be6af",
      "parents": [
        "bc01befdcf3e40979eb518085a075cbf0aacede0"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Aug 22 21:37:51 2010 +0900"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Oct 04 22:45:23 2010 +0900"
      },
      "message": "netfilter: nf_conntrack_sip: Allow ct_sip_get_header() to be called with a null ct argument\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\n\n"
    },
    {
      "commit": "bc01befdcf3e40979eb518085a075cbf0aacede0",
      "tree": "8d6c4352e135ade290f2ba0b68b45cbcffde8af8",
      "parents": [
        "8b008faf92ac8f7eeb65e8cd36077601af7c46db"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Sep 28 21:06:34 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Sep 28 21:06:34 2010 +0200"
      },
      "message": "netfilter: ctnetlink: add support for user-space expectation helpers\n\nThis patch adds the basic infrastructure to support user-space\nexpectation helpers via ctnetlink and the netfilter queuing\ninfrastructure NFQUEUE. Basically, this patch:\n\n* adds NF_CT_EXPECT_USERSPACE flag to identify user-space\n  created expectations. I have also added a sanity check in\n  __nf_ct_expect_check() to avoid that kernel-space helpers\n  may create an expectation if the master conntrack has no\n  helper assigned.\n* adds some branches to check if the master conntrack helper\n  exists, otherwise we skip the code that refers to kernel-space\n  helper such as the local expectation list and the expectation\n  policy.\n* allows to set the timeout for user-space expectations with\n  no helper assigned.\n* a list of expectations created from user-space that depends\n  on ctnetlink (if this module is removed, they are deleted).\n* includes USERSPACE in the /proc output for expectations\n  that have been created by a user-space helper.\n\nThis patch also modifies ctnetlink to skip including the helper\nname in the Netlink messages if no kernel-space helper is set\n(since no user-space expectation has not kernel-space kernel\nassigned).\n\nYou can access an example user-space FTP conntrack helper at:\nhttp://people.netfilter.org/pablo/userspace-conntrack-helpers/nf-ftp-helper-userspace-POC.tar.bz\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "8b008faf92ac8f7eeb65e8cd36077601af7c46db",
      "tree": "033d7dbdc7cf54af84daed6c0293726c1e3e7dd1",
      "parents": [
        "bcac0dfab191cb53b3f9b43c8014a34070ed58ff"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed Sep 22 08:36:59 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Sep 22 08:36:59 2010 +0200"
      },
      "message": "netfilter: ctnetlink: allow to specify the expectation flags\n\nWith this patch, you can specify the expectation flags for user-space\ncreated expectations.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "bcac0dfab191cb53b3f9b43c8014a34070ed58ff",
      "tree": "051a3a2a4d46098e69e81275329fc0833ebf3f6c",
      "parents": [
        "5b92b61f3891517d18d0573ad2c939c81b59ecfe"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed Sep 22 08:35:36 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Sep 22 08:35:36 2010 +0200"
      },
      "message": "netfilter: ctnetlink: missing validation of CTA_EXPECT_ZONE attribute\n\nThis patch adds the missing validation of the CTA_EXPECT_ZONE\nattribute in the ctnetlink code.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "5b92b61f3891517d18d0573ad2c939c81b59ecfe",
      "tree": "4d61d64041d559e6478a53f865fb779df99cedc9",
      "parents": [
        "26c15cfd291f8b4ee40b4bbdf5e3772adfd704f5"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed Sep 22 08:34:12 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Sep 22 08:34:12 2010 +0200"
      },
      "message": "netfilter: nf_nat: better error handling of nf_ct_expect_related() in helpers\n\nThis patch improves the situation in which the expectation table is\nfull for conntrack NAT helpers. Basically, we give up if we don\u0027t\nfind a place in the table instead of looping over nf_ct_expect_related()\nwith a different port (we should only do this if it returns -EBUSY, for\n-EMFILE or -ESHUTDOWN I think that it\u0027s better to skip this).\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "26c15cfd291f8b4ee40b4bbdf5e3772adfd704f5",
      "tree": "7ac3dc5c55b30ab85d599e945abd5f718a97c3c3",
      "parents": [
        "99f07e91bef34db0fc8b1a224096e97f02dc0d56"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Tue Sep 21 18:12:30 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Sep 21 18:12:30 2010 +0200"
      },
      "message": "ipvs: changes related to service usecnt\n\n\tChange the usage of svc usecnt during command execution:\n\n- we check if svc is registered but we do not need to hold usecnt\nreference while under __ip_vs_mutex, only the packet handling needs\nit during scheduling\n\n- change __ip_vs_service_get to __ip_vs_service_find and\n__ip_vs_svc_fwm_get to __ip_vs_svc_fwm_find because now caller\nwill increase svc-\u003eusecnt\n\n- put common code that calls update_service in __ip_vs_update_dest\n\n- put common code in ip_vs_unlink_service() and use it to unregister\nthe service\n\n- add comment that svc should not be accessed after ip_vs_del_service\nanymore\n\n- all IP_VS_WAIT_WHILE calls are now unified: usecnt \u003e 0\n\n- Properly log the app ports\n\n\tAs result, some problems are fixed:\n\n- possible use-after-free of svc in ip_vs_genl_set_cmd after\nip_vs_del_service because our usecnt reference does not guarantee that\nsvc is not freed on refcnt\u003d\u003d0, eg. when no dests are moved to trash\n\n- possible usecnt leak in do_ip_vs_set_ctl after ip_vs_del_service\nwhen the service is not freed now, for example, when some\ndestionations are moved into trash and svc-\u003erefcnt remains above 0.\nIt is harmless because svc is not in hash anymore.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "99f07e91bef34db0fc8b1a224096e97f02dc0d56",
      "tree": "869d47e97adb3c04b42f38a55836f2518f6221f9",
      "parents": [
        "8a8030407f55a6aaedb51167c1a2383311fcd707"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Tue Sep 21 17:49:20 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Sep 21 17:49:20 2010 +0200"
      },
      "message": "netfilter: save the hash of the tuple in the original direction for latter use\n\nSince we don\u0027t change the tuple in the original direction, we can save it\nin ct-\u003etuplehash[IP_CT_DIR_REPLY].hnode.pprev for __nf_conntrack_confirm()\nuse.\n\n__hash_conntrack() is split into two steps: hash_conntrack_raw() is used\nto get the raw hash, and __hash_bucket() is used to get the bucket id.\n\nIn SYN-flood case, early_drop() doesn\u0027t need to recompute the hash again.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "8a8030407f55a6aaedb51167c1a2383311fcd707",
      "tree": "585f2963a56e528a06f0f3180985faa8a368d3b8",
      "parents": [
        "f4bc17cdd205ebaa3807c2aa973719bb5ce6a5b2"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Tue Sep 21 17:38:57 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Sep 21 17:38:57 2010 +0200"
      },
      "message": "ipvs: make rerouting optional with snat_reroute\n\n\tAdd new sysctl flag \"snat_reroute\". Recent kernels use\nip_route_me_harder() to route LVS-NAT responses properly by\nVIP when there are multiple paths to client. But setups\nthat do not have alternative default routes can skip this\nrouting lookup by using snat_reroute\u003d0.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "f4bc17cdd205ebaa3807c2aa973719bb5ce6a5b2",
      "tree": "c2bbaf2251ba91f4951f6614a9475e04fdec790e",
      "parents": [
        "3575792e005dc9994f15ae72c1c6f401d134177d"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Tue Sep 21 17:35:41 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Sep 21 17:35:41 2010 +0200"
      },
      "message": "ipvs: netfilter connection tracking changes\n\n\tAdd more code to IPVS to work with Netfilter connection\ntracking and fix some problems.\n\n- Allow IPVS to be compiled without connection tracking as in\n2.6.35 and before. This can avoid keeping conntracks for all\nIPVS connections because this costs memory. ip_vs_ftp still\ndepends on connection tracking and NAT as implemented for 2.6.36.\n\n- Add sysctl var \"conntrack\" to enable connection tracking for\nall IPVS connections. For loaded IPVS directors it needs\ntuning of nf_conntrack_max limit.\n\n- Add IP_VS_CONN_F_NFCT connection flag to request the connection\nto use connection tracking. This allows user space to provide this\nflag, for example, in dest-\u003econn_flags. This can be useful to\nrequest connection tracking per real server instead of forcing it\nfor all connections with the \"conntrack\" sysctl. This flag is\nset currently only by ip_vs_ftp and of course by \"conntrack\" sysctl.\n\n- Add ip_vs_nfct.c file to hold all connection tracking code,\nby this way main code should not depend of netfilter conntrack\nsupport.\n\n- Return back the ip_vs_post_routing handler as in 2.6.35 and use\nskb-\u003eipvs_property\u003d1 to allow IPVS to work without connection\ntracking\n\nConnection tracking:\n\n- most of the code is already in 2.6.36-rc\n\n- alter conntrack reply tuple for LVS-NAT connections when first packet\nfrom client is forwarded and conntrack state is NEW or RELATED.\nAdditionally, alter reply for RELATED connections from real server,\nagain for packet in original direction.\n\n- add IP_VS_XMIT_TUNNEL to confirm conntrack (without altering\nreply) for LVS-TUN early because we want to call nf_reset. It is\nneeded because we add IPIP header and the original conntrack\nshould be preserved, not destroyed. The transmitted IPIP packets\ncan reuse same conntrack, so we do not set skb-\u003eipvs_property.\n\n- try to destroy conntrack when the IPVS connection is destroyed.\nIt is not fatal if conntrack disappears before that, it depends\non the used timers.\n\nFix problems from long time:\n\n- add skb-\u003eip_summed \u003d CHECKSUM_NONE for the LVS-TUN transmitters\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "3575792e005dc9994f15ae72c1c6f401d134177d",
      "tree": "2383227df0b4ab3418ecb2167535063b7f829f4d",
      "parents": [
        "b23909695c33f53df5f1d16696b1aa5b874c1904"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Fri Sep 17 14:18:16 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 17 14:18:16 2010 +0200"
      },
      "message": "ipvs: extend connection flags to 32 bits\n\n- the sync protocol supports 16 bits only, so bits 0..15 should be\nused only for flags that should go to backup server, bits 16 and\nabove should be allocated for flags not sent to backup.\n\n- use IP_VS_CONN_F_DEST_MASK as mask of connection flags in\ndestination that can be changed by user space\n\n- allow IP_VS_CONN_F_ONE_PACKET to be set in destination\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "b23909695c33f53df5f1d16696b1aa5b874c1904",
      "tree": "94293e4d5c9a71751dacf5b2a34735428010ff2e",
      "parents": [
        "ed0b6d7581b54455062f09ccac123814e70cd02f"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Thu Sep 16 19:55:03 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Sep 16 19:55:03 2010 +0200"
      },
      "message": "netfilter: nf_conntrack: fix the hash random initializing race\n\nnf_conntrack_alloc() isn\u0027t called with nf_conntrack_lock locked, so hash\nrandom initializing code maybe executed more than once on different\nCPUs.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "ed0b6d7581b54455062f09ccac123814e70cd02f",
      "tree": "7f7e0885e3e0aee7aa49b2a0b735f9e9761ab8eb",
      "parents": [
        "99ad3c53b36a056a472927de9c79eda231ecc6fe"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Thu Sep 16 19:47:51 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Sep 16 19:47:51 2010 +0200"
      },
      "message": "netfilter: nf_nat: no IP_NAT_RANGE_MAP_IPS flags when alloc_null_binding()\n\nWhen alloc_null_binding(), no IP_NAT_RNAGE_MAP_IPS in flags means no IP address\ntranslation is needed. It isn\u0027t necessary to specify the address explicitly.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "99ad3c53b36a056a472927de9c79eda231ecc6fe",
      "tree": "61224a837d3eb7e6504fe49d10613b3717ccd67f",
      "parents": [
        "70a851667dbd7aa3f7be9609d6580ca9861230b3"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Thu Sep 16 19:45:19 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Sep 16 19:45:19 2010 +0200"
      },
      "message": "netfilter: nf_nat_core: don\u0027t check if the tuple is used if there is no other choice\n\nEliminate nf_nat_used_tuple() to save some CPU cycles when there is no\nother choice.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "70a851667dbd7aa3f7be9609d6580ca9861230b3",
      "tree": "6ed5fb80eb1f5c9196aad84a3d72fd8ebbf64326",
      "parents": [
        "0abee5260babe0a12d468b485a28336551697925"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Thu Sep 16 19:37:30 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Sep 16 19:37:30 2010 +0200"
      },
      "message": "netfilter: use NFPROTO_IPV4 instead of AF_INET\n\nThe field family of xt_target should be NFPROTO_IPV4, though\nNFPROTO_IPV4 and AF_INET are the same.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "0abee5260babe0a12d468b485a28336551697925",
      "tree": "e7da178d0eb31ef4bd69ed6f63629d0eb7a19407",
      "parents": [
        "068e8a30320e33b1f8d15df9eaef84f04258f96d"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Wed Sep 15 19:24:50 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Sep 15 19:24:50 2010 +0200"
      },
      "message": "netfilter: nf_nat: add nf_nat_csum()\n\nAdd a static function nf_nat_csum() to replace the duplicate code in\nnf_nat_mangle_udp_packet() and __nf_nat_mangle_tcp_packet().\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "068e8a30320e33b1f8d15df9eaef84f04258f96d",
      "tree": "19458b3eeec7d5377cecf0f9b395e2ab70d8bbd1",
      "parents": [
        "bc0ed0be10a4925efa7b81a84af53f12fbdbcb4e"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "jdelvare@suse.de",
        "time": "Sun Sep 12 22:45:39 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 14 14:29:37 2010 -0700"
      },
      "message": "e1000e: Simplify MSI interrupt testing\n\nThe code is quite convoluted, simplify it. This also avoids calling\ne1000_request_irq() without testing the value it returned, which was\nbad.\n\nSigned-off-by: Jean Delvare \u003cjdelvare@suse.de\u003e\nCc: Bruce Allan \u003cbruce.w.allan@intel.com\u003e\nCc: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nAcked-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc0ed0be10a4925efa7b81a84af53f12fbdbcb4e",
      "tree": "9de34df13bc04ea444d8fecb82ca92e3f9ccfea1",
      "parents": [
        "251415808306a19be93ec93268e2985f10d3db8b"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andy.shevchenko@gmail.com",
        "time": "Sun Sep 12 08:16:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 13 20:02:54 2010 -0700"
      },
      "message": "uwb: use \u0027%pM\u0027 format to print MAC address\n\nSigned-off-by: Andy Shevchenko \u003candy.shevchenko@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "251415808306a19be93ec93268e2985f10d3db8b",
      "tree": "176b64ef9f742ae0ebcfa4eceae44859e01e4a1e",
      "parents": [
        "441993da47777d961300c070fe1210600af48ad8"
      ],
      "author": {
        "name": "Dmitry Kravkov",
        "email": "dmitry@broadcom.com",
        "time": "Sun Sep 12 05:48:28 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 13 20:02:53 2010 -0700"
      },
      "message": "bnx2x: Spread rx buffers between allocated queues\n\nDefault number of rx buffers will be divided equally\n between allocated queues. This will decrease amount of\n pre-allocated buffers on systems with multiple CPUs.\n User can override this behavior with ethtool -G.\n Minimum amount of rx buffers per queue set to 128.\n\nReported-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n\nSigned-off-by: Dmitry Kravkov \u003cdmitry@broadcom.com\u003e\nSigned-off-by: Eilon Greenstein \u003ceilong@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "441993da47777d961300c070fe1210600af48ad8",
      "tree": "ac2722e8764426c9275f239db6f5492ce8705620",
      "parents": [
        "7dbfdc2390afc4e244817ab26d5a1b987b0c0669"
      ],
      "author": {
        "name": "Ondrej Zary",
        "email": "linux@rainbow-software.org",
        "time": "Sat Sep 11 05:40:16 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 13 20:02:53 2010 -0700"
      },
      "message": "cx82310_eth: allow empty URBs\n\nEmpty received URBs are currently counted as errors but the device sends them\nsometimes as part of regular traffic - so remove this check.\n\nSigned-off-by: Ondrej Zary \u003clinux@rainbow-software.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7dbfdc2390afc4e244817ab26d5a1b987b0c0669",
      "tree": "d423a8cf8dfab4c705a7d6f3ad4e41b5e76b1ca8",
      "parents": [
        "d81e27cf4e2a5050245f9962539292ea2c9e2206"
      ],
      "author": {
        "name": "Ondrej Zary",
        "email": "linux@rainbow-software.org",
        "time": "Sat Sep 11 05:39:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 13 20:02:52 2010 -0700"
      },
      "message": "cx82310_eth: check usb_string() return value for error\n\nFix that usb_string() return value is not checked for error (negative value).\nAlso change the ignore message a bit and lower its level to info.\n\nSigned-off-by: Ondrej Zary \u003clinux@rainbow-software.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d81e27cf4e2a5050245f9962539292ea2c9e2206",
      "tree": "3bf8969a9dff29740de0d1d3034a6a4d1bfe7631",
      "parents": [
        "70ce679be6f7fd8ff24d4b7007e2c0e430587945"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sat Sep 11 19:10:56 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 13 20:02:52 2010 -0700"
      },
      "message": "drivers/net/skfp: Remove pr_\u003clevel\u003e uses of KERN_\u003clevel\u003e\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "70ce679be6f7fd8ff24d4b7007e2c0e430587945",
      "tree": "26fd103a56f8e6cfb478c8841596eb7d61bb7b40",
      "parents": [
        "1570475a477b46cb16b2a0dd73c06974c8d2b550"
      ],
      "author": {
        "name": "Andreas Schwab",
        "email": "schwab@linux-m68k.org",
        "time": "Sat Sep 11 01:12:34 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 13 20:02:51 2010 -0700"
      },
      "message": "net/cxgb3: remove undefined operations\n\nModifying an object twice without an intervening sequence point is\nundefined.\n\nSigned-off-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1570475a477b46cb16b2a0dd73c06974c8d2b550",
      "tree": "8d13fce770e4210446834277cd78c588686f5acc",
      "parents": [
        "61a21455ee27dccdd286f61aea611da5e70b47bf"
      ],
      "author": {
        "name": "Andreas Schwab",
        "email": "schwab@linux-m68k.org",
        "time": "Sat Sep 11 01:08:58 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 13 20:02:51 2010 -0700"
      },
      "message": "net/de4x5: remove undefined operations\n\nModifying an object twice without an intervening sequence point is\nundefined.\n\nSigned-off-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "61a21455ee27dccdd286f61aea611da5e70b47bf",
      "tree": "252a299206b91d0dee1b4d81e9e788bf51f66278",
      "parents": [
        "83b6b1f5d13414d0cb5c4f0a567a6aec0af073bd"
      ],
      "author": {
        "name": "Denis Kirjanov",
        "email": "dkirjanov@kernel.org",
        "time": "Fri Sep 10 23:23:13 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 13 20:02:50 2010 -0700"
      },
      "message": "sundance: Add power management hooks\n\nThis patch to adds support for PM hooks into sundance driver\n\nSigned-off-by: Denis Kirjanov \u003cdkirjanov@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "83b6b1f5d13414d0cb5c4f0a567a6aec0af073bd",
      "tree": "aa3db3ccfefbb232c0acc01fac52873d7ed6d048",
      "parents": [
        "efbc2d7cfa67a9753cd45eb7eee8c9ad10c8b74c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Sep 10 07:00:25 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 13 20:02:50 2010 -0700"
      },
      "message": "flow: better memory management\n\nAllocate hash tables for every online cpus, not every possible ones.\n\nNUMA aware allocations.\n\nDont use a full page on arches where PAGE_SIZE \u003e 1024*sizeof(void *)\n\nmisc:\n  __percpu , __read_mostly, __cpuinit annotations\n  flow_compare_t is just an \"unsigned long\"\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "efbc2d7cfa67a9753cd45eb7eee8c9ad10c8b74c",
      "tree": "e41bae99b78853be4d41f98a12a53fd4f2fd253e",
      "parents": [
        "0ea05ce7fd0c1286759933933764aacd12f6ac3a"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Mon Sep 13 04:14:49 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 13 19:55:22 2010 -0700"
      },
      "message": "sfc: Fix order of channel_name array dimensions\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0ea05ce7fd0c1286759933933764aacd12f6ac3a",
      "tree": "84245f1ebbab408d95028e5a42430a8388c2ce75",
      "parents": [
        "9ca7f8762299bb391c11a81c844224216e925b5c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 12 12:06:00 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 12 12:06:00 2010 -0700"
      },
      "message": "bna: Check for NULL before deref in bnad_cb_tx_cleanup\n\nReported-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ca7f8762299bb391c11a81c844224216e925b5c",
      "tree": "f4e3b114727a1fef133dd617c37d816da46703d3",
      "parents": [
        "a034ee3cca5726b14107f281f4bed1c0fd44472a"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Sep 08 09:16:28 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 10 12:47:59 2010 -0700"
      },
      "message": "pkt_sched: remov unnecessary bh_disable\n\nNow that est_tree_lock is acquired with BH protection, the other\ncall is unnecessary.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a034ee3cca5726b14107f281f4bed1c0fd44472a",
      "tree": "09e4ccf3da1377aea06771357b216a1b372c6687",
      "parents": [
        "4642610c77b345130d6b5a08c75d23ad98601fd5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 09 23:32:28 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 10 12:32:02 2010 -0700"
      },
      "message": "fib: cleanups\n\nUse rcu_dereference_rtnl() helper\n\nChange hard coded constants in fib_flag_trans()\n 7 -\u003e RTN_UNREACHABLE\n 8 -\u003e RTN_PROHIBIT\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4642610c77b345130d6b5a08c75d23ad98601fd5",
      "tree": "bf6345d84e6dbd3a3d44ff4e050dc862f01a01fc",
      "parents": [
        "ecc910f520ba8f22848982ee816ad75c449b805d"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Fri Sep 10 06:42:33 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 10 12:27:34 2010 -0700"
      },
      "message": "sfc: Allow changing the DMA ring sizes dynamically via ethtool\n\nThis requires some reorganisation of channel setup and teardown to\nensure that we can always roll-back a failed change.\n\nBased on work by Steve Hodgson \u003cshodgson@solarflare.com\u003e\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ecc910f520ba8f22848982ee816ad75c449b805d",
      "tree": "e934380209532b831b7e7e334ddc33d75db7eef5",
      "parents": [
        "8313aca38b3937947fffebca6e34bac8e24300c8"
      ],
      "author": {
        "name": "Steve Hodgson",
        "email": "shodgson@solarflare.com",
        "time": "Fri Sep 10 06:42:22 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 10 12:27:33 2010 -0700"
      },
      "message": "sfc: Make the dmaq size a run-time setting (rather than compile-time)\n\n- Allow the ring size to be specified in non\n   power-of-two sizes (for instance to limit\n   the amount of receive buffers).\n - Automatically size the event queue.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8313aca38b3937947fffebca6e34bac8e24300c8",
      "tree": "725830070d3509459e90b106b668047c25ed880a",
      "parents": [
        "f7d12cdcbb28207b3bdcf4affbf3935e4c015d03"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Fri Sep 10 06:41:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 10 12:27:33 2010 -0700"
      },
      "message": "sfc: Allocate each channel separately, along with its RX and TX queues\n\nThis will allow for reallocation of channel structures and rings.\n\nChange module parameter separate_tx_channels to be read-only, since we\nnow require its value to be constant.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f7d12cdcbb28207b3bdcf4affbf3935e4c015d03",
      "tree": "ab94c3e81e355c8df47102ede2d5d0aa02738945",
      "parents": [
        "ba1e8a35b77f3bc7d109696dbd2a7fd5af208b62"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Fri Sep 10 06:41:47 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 10 12:27:32 2010 -0700"
      },
      "message": "sfc: Refactor channel and queue lookup and iteration\n\nIn preparation for changes to the way channels and queue structures\nare allocated, revise the macros and functions used to look up and\niterator over them.\n\n- Replace efx_for_each_tx_queue() with iteration over channels then TX\n  queues\n- Replace efx_for_each_rx_queue() with iteration over channels then RX\n  queues (with one exception, shortly to be removed)\n- Introduce efx_get_{channel,rx_queue,tx_queue}() functions to look up\n  channels and queues by index\n- Introduce efx_channel_get_{rx,tx}_queue() functions to look up a\n  channel\u0027s queues\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ba1e8a35b77f3bc7d109696dbd2a7fd5af208b62",
      "tree": "5c65eea772e85b7e31b3488fa09e523bbd68b272",
      "parents": [
        "58758aa505edc5b8f8393cee45b54c7485d76de5"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Fri Sep 10 06:41:36 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 10 12:27:32 2010 -0700"
      },
      "message": "sfc: Abstract channel and index lookup for RX queues\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "58758aa505edc5b8f8393cee45b54c7485d76de5",
      "tree": "6935e011c85f37661b2e3928fbfdcbcdb6b8af91",
      "parents": [
        "e42de26249c88a00715ea686993192546d07133e"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Fri Sep 10 06:41:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 10 12:27:31 2010 -0700"
      },
      "message": "sfc: Allocate DMA and event rings using GFP_KERNEL\n\nCurrently we allocate DMA descriptor rings and event rings using\npci_alloc_consistent() which selects non-blocking behaviour from the\npage allocator (GFP_ATOMIC). This is unnecessary, and since we\ncurrently allocate a single contiguous block for each ring (up to 32\npages!) these allocations are likely to fail if there is any\nsignificant memory pressure.  Use dma_alloc_coherent() and GFP_KERNEL\ninstead.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e42de26249c88a00715ea686993192546d07133e",
      "tree": "67006585135553897cafd08aaac41b586950a2c9",
      "parents": [
        "7db8e8ec3995a1dc2bfadd8ac97e9024013db9c3"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Fri Sep 10 06:41:19 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 10 12:27:30 2010 -0700"
      },
      "message": "sfc: Fix failure paths in efx_probe_port()\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7db8e8ec3995a1dc2bfadd8ac97e9024013db9c3",
      "tree": "a3f9cf7b7b65c47319d84159879b1c2269368c6d",
      "parents": [
        "80485d3441fc26aff5ddb2bf44baf7a61e1909b4"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Fri Sep 10 06:41:12 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 10 12:27:30 2010 -0700"
      },
      "message": "sfc: Remove declarations of functions that no longer exist\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "80485d3441fc26aff5ddb2bf44baf7a61e1909b4",
      "tree": "b900b993d07936be6b810bb39948f14685338e57",
      "parents": [
        "1cdc2cfc8af6d1045c844b9e24a7910b57232065"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Fri Sep 10 06:41:06 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 10 12:27:29 2010 -0700"
      },
      "message": "sfc: Accumulate RX_NODESC_DROP count in rx_dropped, not rx_over_errors\n\nrx_over_errors appears to be intended as a count of packets that\noverflow a packet buffer in the NIC.  Given that we implement a\ncut-through receive path, this should always be 0.\n\nrx_dropped appears to be the correct counter for packets dropped due\nto lack of host buffers.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1cdc2cfc8af6d1045c844b9e24a7910b57232065",
      "tree": "1e285f5ab1089fc936839693de40af5da1b180ff",
      "parents": [
        "e548833df83c3554229eff0672900bfe958b45fd"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Fri Sep 10 06:41:00 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 10 12:27:29 2010 -0700"
      },
      "message": "sfc: Use MCDI RX_BAD_FCS_PKTS count as MAC rx_bad count\n\nCalculating rx_bad as rx_packets - rx_good is unnecessary and\nincorrect, since rx_good does not include control frames (e.g.\npause frames) and rx_packets does.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e548833df83c3554229eff0672900bfe958b45fd",
      "tree": "85efc4a76dc356593d6d394776aeb845dc580fb6",
      "parents": [
        "cbd9da7be869f676afc204e1a664163778c770bd",
        "053d8f6622701f849fda2ca2c9ae596c13599ba9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 22:27:33 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 22:27:33 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/mac80211/main.c\n"
    },
    {
      "commit": "053d8f6622701f849fda2ca2c9ae596c13599ba9",
      "tree": "e5dd90cca3a69bc993b5aa860a9eeb8c9178450a",
      "parents": [
        "c9cedbba0fc591e1c0587f838932ca3f3c6fec57",
        "615cc2211c17ed05a2a5d94abdac6c340a8ea508"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 21:59:51 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 21:59:51 2010 -0700"
      },
      "message": "Merge branch \u0027vhost-net\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost\n"
    },
    {
      "commit": "cbd9da7be869f676afc204e1a664163778c770bd",
      "tree": "eee8a43469e77e882e2a388351693eccb0490ef4",
      "parents": [
        "dc99839cf600518ed1f20e47522fe7f629387078"
      ],
      "author": {
        "name": "Nikitas Angelinas",
        "email": "nikitasangelinas@gmail.com",
        "time": "Wed Sep 08 11:20:37 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 21:56:01 2010 -0700"
      },
      "message": "drivers/net/bnx2x: use ARRAY_SIZE macro in bnx2x_main.c\n\nReplace sizeof(bnx2x_parity_mask)/(sizeof(bnx2x_parity_mask[0]) with\nARRAY_SIZE(bnx2x_parity_mask) in drivers/net/bnx2x/bnx2x_main.c\n\nSigned-off-by: Nikitas Angelinas \u003cnikitasangelinas@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c9cedbba0fc591e1c0587f838932ca3f3c6fec57",
      "tree": "0e0111f7713bfb05974a42d803aa791b958af5be",
      "parents": [
        "201b6bab6798fcd8ec1cb30165b91fdb89a91775"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dcbw@redhat.com",
        "time": "Wed Sep 08 07:50:47 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 21:41:59 2010 -0700"
      },
      "message": "ipheth: remove incorrect devtype to WWAN\n\nThe \u0027wwan\u0027 devtype is meant for devices that require preconfiguration\nand *every* time setup before the ethernet interface can be used, like\ncellular modems which require a series of setup commands on serial ports\nor other mechanisms before the ethernet interface will handle packets.\n\nAs ipheth only requires one-per-hotplug pairing setup with no\npreconfiguration (like APN, phone #, etc) and the network interface is\nusable at any time after that initial setup, remove the incorrect\ndevtype wwan.\n\nSigned-off-by: Dan Williams \u003cdcbw@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "201b6bab6798fcd8ec1cb30165b91fdb89a91775",
      "tree": "3f616915202d513c2c4ca49037b1dbde631178c5",
      "parents": [
        "123031c0eeda6144b4002dc3285375aa9ae9dc11"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Sep 07 20:33:24 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 21:41:59 2010 -0700"
      },
      "message": "MAINTAINERS: Add CAIF\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dc99839cf600518ed1f20e47522fe7f629387078",
      "tree": "2ed9fbafcba8b90b226b0c5db39234bd4ae80d77",
      "parents": [
        "d0e7cb5d401695809ba8c980124ab1d8c66efc8b"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "florian@openwrt.org",
        "time": "Wed Sep 08 11:11:59 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 21:36:39 2010 -0700"
      },
      "message": "au1000-eth: change multi-line comments style\n\nSigned-off-by: Florian Fainelli \u003cflorian@openwrt.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d0e7cb5d401695809ba8c980124ab1d8c66efc8b",
      "tree": "ec2598de266cf3d9aa485d9f2f5e9b2b46e8bc4b",
      "parents": [
        "49a42c080fbba9e99b4339763dd7771569ee38c3"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "florian@openwrt.org",
        "time": "Wed Sep 08 11:15:13 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 21:36:38 2010 -0700"
      },
      "message": "au1000-eth: remove volatiles, switch to I/O accessors\n\nRemove all the volatile keywords where they were used, switch to using the\nproper readl/writel accessors.\n\nSigned-off-by: Florian Fainelli \u003cflorian@openwrt.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "49a42c080fbba9e99b4339763dd7771569ee38c3",
      "tree": "c8c482cdf3cb8cbb2cdf9a7e10f0c398feae1128",
      "parents": [
        "215e17be9f390e787cf9b9e5c9020d298b41d513"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "florian@openwrt.org",
        "time": "Wed Sep 08 11:11:49 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 21:36:38 2010 -0700"
      },
      "message": "au1000-eth: fix asm -\u003e linux headers inclusion\n\nReplace asm/io.h and asm/cpu.h wih linux/io.h and linux/cpu.h\n\nSigned-off-by: Florian Fainelli \u003cflorian@openwrt.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "215e17be9f390e787cf9b9e5c9020d298b41d513",
      "tree": "831125b7f6e981110f326fc5bcbde47f4c8a7451",
      "parents": [
        "18b8e15b0433ac682138ce5d03157ddc28bdf350"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "florian@openwrt.org",
        "time": "Wed Sep 08 11:11:45 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 21:36:37 2010 -0700"
      },
      "message": "au1000-eth: fix bad printk usages\n\nUse pr_(info|err) and pr_cont where required instead of calls to printk.\nAdd missing pr_fmt to the driver.\n\nSigned-off-by: Florian Fainelli \u003cflorian@openwrt.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "18b8e15b0433ac682138ce5d03157ddc28bdf350",
      "tree": "b2b17e2537a52288813aaa1590ecfeafdf35ded8",
      "parents": [
        "ec7eabdde2cc3e71fa71f979bd3448c45122a4a8"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "florian@openwrt.org",
        "time": "Wed Sep 08 11:11:40 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 21:36:37 2010 -0700"
      },
      "message": "au1000-eth: fix all but one \"line over 80 characters warnings\"\n\nOne line has not been changed because it would not improve readability.\n\nSigned-off-by: Florian Fainelli \u003cflorian@openwrt.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ec7eabdde2cc3e71fa71f979bd3448c45122a4a8",
      "tree": "543997d67852b46fcb041cc7c733b6c57d0f6f7e",
      "parents": [
        "3441592b34121a38047ed6680f0ed9b9017de9cf"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "florian@openwrt.org",
        "time": "Wed Sep 08 11:11:31 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 21:36:36 2010 -0700"
      },
      "message": "au1000-eth: stylistic fixes\n\nThis patch fixes the following checkpatch.pl warnings:\n- spaces after tabs\n- space between function and arguments\n- one-line statement braces\n- tabs instead of spaces\n\nSigned-off-by: Florian Fainelli \u003cflorian@openwrt.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3441592b34121a38047ed6680f0ed9b9017de9cf",
      "tree": "62a590be79af628b4c70681585d99b36c28c6699",
      "parents": [
        "b2abd4c033c3965ce670841dfb401f5f166222d5"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "florian@openwrt.org",
        "time": "Wed Sep 08 11:11:25 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 21:36:36 2010 -0700"
      },
      "message": "au1000-eth: typedefs removal\n\nSigned-off-by: Florian Fainelli \u003cflorian@openwrt.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b2abd4c033c3965ce670841dfb401f5f166222d5",
      "tree": "4dc7d0ac0f24001a95a9842a9c58468a343b4e08",
      "parents": [
        "fb621bac21fc315af9f66a754b7abe26ded3f260"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Wed Sep 08 13:31:24 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 21:34:14 2010 -0700"
      },
      "message": "tipc: Optimize handling excess content on incoming messages\n\nRemove code that trimmed excess trailing info from incoming messages\narriving over an Ethernet interface.  TIPC now ignores the extra info\nwhile the message is being processed by the node, and only trims it off\nif the message is retransmitted to another node.  (This latter step is\ndone to ensure the extra info doesn\u0027t cause the sk_buff to exceed the\noutgoing interface\u0027s MTU limit.) The outgoing buffer is guaranteed to\nbe linear.\n\nSigned-off-by: Allan Stephens \u003callan.stephens@windriver.com\u003e\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fb621bac21fc315af9f66a754b7abe26ded3f260",
      "tree": "bd707d6f09a2b1204309ce895852637e12c207b1",
      "parents": [
        "49d61e2390c92bd226fc395a6165eb5a65ae4de6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Sep 08 22:48:31 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 21:33:23 2010 -0700"
      },
      "message": "ixgbevf: remove private net_device_stats\n\nUse the net_device provided net_device_stats structure.\n\nRemove ixgbevf_get_stats() now its not needed.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "49d61e2390c92bd226fc395a6165eb5a65ae4de6",
      "tree": "d5c6e07e51999aca2a461c7087b7a01461c66ba8",
      "parents": [
        "f39234d60617d37818b30991e6794643ce220296"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 09 05:33:43 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 15:02:39 2010 -0700"
      },
      "message": "tunnels: missing rcu_assign_pointer()\n\nxfrm4_tunnel_register() \u0026 xfrm6_tunnel_register() should\nuse rcu_assign_pointer() to make sure previous writes\n(to handler-\u003enext) are committed to memory before chain\ninsertion.\n\nderegister functions dont need a particular barrier.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f39234d60617d37818b30991e6794643ce220296",
      "tree": "1aabce34fdfa06f1bc90b2281ac0a819a7df91ee",
      "parents": [
        "a700d8be733bd593ea4797dfde17aed4f35213c0"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Wed Sep 08 03:48:48 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 15:02:39 2010 -0700"
      },
      "message": "net/core: add lock context change annotations in net/core/sock.c\n\n__lock_sock() and __release_sock() releases and regrabs lock but\nwere missing proper annotations. Add it. This removes following\nwarning from sparse. (Currently __lock_sock() does not emit any\nwarning about it but I think it is better to add also.)\n\n net/core/sock.c:1580:17: warning: context imbalance in \u0027__release_sock\u0027 - unexpected unlock\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a700d8be733bd593ea4797dfde17aed4f35213c0",
      "tree": "03686d890db4825472a3ae10ff49394994723d3f",
      "parents": [
        "cf0ac2b8a759fecbefd80f890c6dbe80ba65fd95"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Wed Sep 08 03:48:47 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 15:02:38 2010 -0700"
      },
      "message": "net/core: remove address space warnings on verify_iovec()\n\nmove_addr_to_kernel() and copy_from_user() requires their argument\nas __user pointer but were missing proper markups. Add it.\nThis removes following warnings from sparse.\n\n net/core/iovec.c:44:52: warning: incorrect type in argument 1 (different address spaces)\n net/core/iovec.c:44:52:    expected void [noderef] \u003casn:1\u003e*uaddr\n net/core/iovec.c:44:52:    got void *msg_name\n net/core/iovec.c:55:34: warning: incorrect type in argument 2 (different address spaces)\n net/core/iovec.c:55:34:    expected void const [noderef] \u003casn:1\u003e*from\n net/core/iovec.c:55:34:    got struct iovec *msg_iov\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "123031c0eeda6144b4002dc3285375aa9ae9dc11",
      "tree": "2f7b13ffb639f3737b52ce47bf7bf258ff496f3a",
      "parents": [
        "e199e6136ce6b151e6638ae93dca60748424d900"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Sep 08 11:04:21 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 15:00:29 2010 -0700"
      },
      "message": "sctp: fix test for end of loop\n\nAdd a list_has_sctp_addr function to simplify loop\n\nBased on a patches by Dan Carpenter and David Miller\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf0ac2b8a759fecbefd80f890c6dbe80ba65fd95",
      "tree": "d5feaeef197dc681d1cdab2e8070ac31f0c43141",
      "parents": [
        "f27e21a813e2c4ca74b30a5443602e75b146db9b",
        "905d64c89e2a9d71d0606904b7c3908633db6072"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 14:58:11 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 14:58:11 2010 -0700"
      },
      "message": "Merge branch \u0027for-davem\u0027 of git://oss.oracle.com/git/agrover/linux-2.6\n"
    },
    {
      "commit": "e199e6136ce6b151e6638ae93dca60748424d900",
      "tree": "0d66e0b5d227c36b005e4f5537f4bbcfc6ed4904",
      "parents": [
        "972c40b5bee429c84ba727f8ac0a08292bc5dc3d",
        "d56557af19867edb8c0e96f8e26399698a08857f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 08 23:49:04 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 08 23:49:04 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "972c40b5bee429c84ba727f8ac0a08292bc5dc3d",
      "tree": "c79f7c7491491269a8aa6af8bb5212daa0007177",
      "parents": [
        "719f835853a92f6090258114a72ffe41f09155cd"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Sep 08 13:26:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 08 21:47:13 2010 -0700"
      },
      "message": "KS8851: Correct RX packet allocation\n\nUse netdev_alloc_skb_ip_align() helper and do correct allocation\n\nTested-by: Abraham Arce \u003cx0066660@ti.com\u003e\nSigned-off-by: Abraham Arce \u003cx0066660@ti.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "719f835853a92f6090258114a72ffe41f09155cd",
      "tree": "a077b05397bf07a096be7f07b50375c5ed918ac2",
      "parents": [
        "ae2688d59b5f861dc70a091d003773975d2ae7fb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Sep 08 05:08:44 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 08 21:45:01 2010 -0700"
      },
      "message": "udp: add rehash on connect()\n\ncommit 30fff923 introduced in linux-2.6.33 (udp: bind() optimisation)\nadded a secondary hash on UDP, hashed on (local addr, local port).\n\nProblem is that following sequence :\n\nfd \u003d socket(...)\nconnect(fd, \u0026remote, ...)\n\nnot only selects remote end point (address and port), but also sets\nlocal address, while UDP stack stored in secondary hash table the socket\nwhile its local address was INADDR_ANY (or ipv6 equivalent)\n\nSequence is :\n - autobind() : choose a random local port, insert socket in hash tables\n              [while local address is INADDR_ANY]\n - connect() : set remote address and port, change local address to IP\n              given by a route lookup.\n\nWhen an incoming UDP frame comes, if more than 10 sockets are found in\nprimary hash table, we switch to secondary table, and fail to find\nsocket because its local address changed.\n\nOne solution to this problem is to rehash datagram socket if needed.\n\nWe add a new rehash(struct socket *) method in \"struct proto\", and\nimplement this method for UDP v4 \u0026 v6, using a common helper.\n\nThis rehashing only takes care of secondary hash table, since primary\nhash (based on local port only) is not changed.\n\nReported-by: Krzysztof Piotr Oledzki \u003cole@ans.pl\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nTested-by: Krzysztof Piotr Oledzki \u003cole@ans.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f27e21a813e2c4ca74b30a5443602e75b146db9b",
      "tree": "5bab99e6d099ca835ddb052142e89d06daaa8e7f",
      "parents": [
        "e0386005ff2a729998735e10769d99e1acbc2dd1"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Sep 08 21:32:12 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 08 21:32:12 2010 -0700"
      },
      "message": "atlx: make strings const\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Chris Snook \u003cchris.snook@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e0386005ff2a729998735e10769d99e1acbc2dd1",
      "tree": "c04134571b728581d9692fb16dffcdd38d52dbda",
      "parents": [
        "92e32eaee288ee2e838fe76680cbaeaea25643c6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Sep 08 21:31:35 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 08 21:31:35 2010 -0700"
      },
      "message": "net: inet_add_protocol() can use cmpxchg()\n\nUse cmpxchg() to get rid of spinlocks in inet_add_protocol() and\nfriends.\n\ninet_protos[] \u0026 inet6_protos[] are moved to read_mostly section\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "92e32eaee288ee2e838fe76680cbaeaea25643c6",
      "tree": "4411533cf6f942bb1934e915057b56cd693ea8f2",
      "parents": [
        "2b1b8edfe229b1832134827c6948d0b70029e965"
      ],
      "author": {
        "name": "Ondrej Zary",
        "email": "linux@rainbow-software.org",
        "time": "Wed Sep 08 21:29:20 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 08 21:29:20 2010 -0700"
      },
      "message": "cxacru: ignore cx82310_eth devices\n\nIgnore ADSL routers, which can have the same vendor and product IDs\nas ADSL modems but should be handled by the cx82310_eth driver.\n\nThis intentionally ignores device IDs that aren\u0027t currently handled\nby cx82310_eth. There may be other device IDs that perhaps shouldn\u0027t\nbe claimed by cxacru.\n\nSigned-off-by: Ondrej Zary \u003clinux@rainbow-software.org\u003e\nSigned-off-by: Simon Arlott \u003csimon@fire.lp0.eu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "905d64c89e2a9d71d0606904b7c3908633db6072",
      "tree": "ae1f56d4eedebec1a75441d6a66b97aea3e5fe5f",
      "parents": [
        "a46f561b774d90d8616473d56696e7d44fa1c9f1"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:03:54 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:16:55 2010 -0700"
      },
      "message": "RDS: Remove dead struct from rds.h\n\nflows are an obsolete date type.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "a46f561b774d90d8616473d56696e7d44fa1c9f1",
      "tree": "acfffa1745ee08a8ea863143df745a6e734855e2",
      "parents": [
        "fd128dfa50cfc4f2959dc4aa5d7468d33b988332"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Aug 25 09:34:10 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:16:54 2010 -0700"
      },
      "message": "RDS: rds.h: Replace u_int[size]_t with uint[size]_t\n\nReplace e.g. u_int32_t types with the more common uint32_t.\n\nReported-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "fd128dfa50cfc4f2959dc4aa5d7468d33b988332",
      "tree": "af53d62ccf9558091ea1d19d5653f913e642d472",
      "parents": [
        "20c72bd5f5f902e5a8745d51573699605bf8d21c"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Aug 25 09:32:17 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:16:52 2010 -0700"
      },
      "message": "RDS: Add rds.h to exported headers list\n\nAlso, a number of changes were made based on the assumption that\nrds.h wasn\u0027t exported, so roll these back.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "20c72bd5f5f902e5a8745d51573699605bf8d21c",
      "tree": "6df337e07d423a0859ab92f25525570e134baba1",
      "parents": [
        "59f740a6aeb2cde2f79fe0df38262d4c1ef35cd8"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Aug 25 05:51:28 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:16:51 2010 -0700"
      },
      "message": "RDS: Implement masked atomic operations\n\nAdd two CMSGs for masked versions of cswp and fadd. args\nstruct modified to use a union for different atomic op type\u0027s\narguments. Change IB to do masked atomic ops. Atomic op type\nin rds_message similarly unionized.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\n"
    },
    {
      "commit": "59f740a6aeb2cde2f79fe0df38262d4c1ef35cd8",
      "tree": "e05c12cc5c8892bcca3928deb62121b1ee4cedd0",
      "parents": [
        "4518071ac1bcb76c64a55a3fddb39fb3d39add41"
      ],
      "author": {
        "name": "Zach Brown",
        "email": "zach.brown@oracle.com",
        "time": "Tue Aug 03 13:52:47 2010 -0700"
      },
      "committer": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Wed Sep 08 18:16:50 2010 -0700"
      },
      "message": "RDS/IB: print string constants in more places\n\nThis prints the constant identifier for work completion status and rdma\ncm event types, like we already do for IB event types.\n\nA core string array helper is added that each string type uses.\n\nSigned-off-by: Zach Brown \u003czach.brown@oracle.com\u003e\n"
    }
  ],
  "next": "4518071ac1bcb76c64a55a3fddb39fb3d39add41"
}
