)]}'
{
  "log": [
    {
      "commit": "e179e6322ac334e21a3c6d669d95bc967e5d0a80",
      "tree": "eee21d4e85ffeed02c6a25a8b224845cb9ed0fd2",
      "parents": [
        "ea2d9b41bd418894d1ee25de1642c3325d71c397"
      ],
      "author": {
        "name": "Bart De Schuymer",
        "email": "bdschuym@pandora.be",
        "time": "Thu Apr 15 12:26:39 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Apr 15 12:26:39 2010 +0200"
      },
      "message": "netfilter: bridge-netfilter: Fix MAC header handling with IP DNAT\n\n- fix IP DNAT on vlan- or pppoe-encapsulated traffic: The functions\nneigh_hh_output() or dst-\u003eneighbour-\u003eoutput() overwrite the complete\nEthernet header, although we only need the destination MAC address.\nFor encapsulated packets, they ended up overwriting the encapsulating\nheader. The new code copies the Ethernet source MAC address and\nprotocol number before calling dst-\u003eneighbour-\u003eoutput(). The Ethernet\nsource MAC and protocol number are copied back in place in\nbr_nf_pre_routing_finish_bridge_slow(). This also makes the IP DNAT\nmore transparent because in the old scheme the source MAC of the\nbridge was copied into the source address in the Ethernet header. We\nalso let skb-\u003eprotocol equal ETH_P_IP resp. ETH_P_IPV6 during the\nexecution of the PF_INET resp. PF_INET6 hooks.\n\n- Speed up IP DNAT by calling neigh_hh_bridge() instead of\nneigh_hh_output(): if dst-\u003ehh is available, we already know the MAC\naddress so we can just copy it.\n\nSigned-off-by: Bart De Schuymer \u003cbdschuym@pandora.be\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "7d720c3e4f0c4fc152a6bf17e24244a3c85412d2",
      "tree": "36e037187ce79acb211702bea22e99c625787757",
      "parents": [
        "2bb4646fce8d09916b351d1a62f98db7cec6fc41"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Feb 16 15:20:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 16 23:05:38 2010 -0800"
      },
      "message": "percpu: add __percpu sparse annotations to net\n\nAdd __percpu sparse annotations to net.\n\nThese annotations are to make sparse consider percpu variables to be\nin a different address space and warn if accessed without going\nthrough percpu accessors.  This patch doesn\u0027t affect normal builds.\n\nThe macro and type tricks around snmp stats make things a bit\ninteresting.  DEFINE/DECLARE_SNMP_STAT() macros mark the target field\nas __percpu and SNMP_UPD_PO_STATS() macro is updated accordingly.  All\nsnmp_mib_*() users which used to cast the argument to (void **) are\nupdated to cast it to (void __percpu **).\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nCc: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nCc: netdev@vger.kernel.org\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "54716e3beb0ab20c49471348dfe399a71bfc8fd3",
      "tree": "216e2b70e58032217082da224c397db46c13429c",
      "parents": [
        "02291680ffba92e5b5865bc0c5e7d1f3056b80ec"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Feb 14 03:27:03 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 16 15:55:18 2010 -0800"
      },
      "message": "net neigh: Decouple per interface neighbour table controls from binary sysctls\n\nStop computing the number of neighbour table settings we have by\ncounting the number of binary sysctls.  This behaviour was silly\nand meant that we could not add another neighbour table setting\nwithout also adding another binary sysctl.\n\nDon\u0027t pass the binary sysctl path for neighour table entries\ninto neigh_sysctl_register.  These parameters are no longer\nused and so are just dead code.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d0316554d3586cbea60592a41391b5def2553d6f",
      "tree": "5e7418f0bacbc68cec5dfd1541e03eb56870aa02",
      "parents": [
        "fb0bbb92d42d5bd0ab224605444efdfed06d6934",
        "51e99be00ce2713cbb841cedc997cafa6e26c7f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 09:58:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 09:58:24 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (34 commits)\n  m68k: rename global variable vmalloc_end to m68k_vmalloc_end\n  percpu: add missing per_cpu_ptr_to_phys() definition for UP\n  percpu: Fix kdump failure if booted with percpu_alloc\u003dpage\n  percpu: make misc percpu symbols unique\n  percpu: make percpu symbols in ia64 unique\n  percpu: make percpu symbols in powerpc unique\n  percpu: make percpu symbols in x86 unique\n  percpu: make percpu symbols in xen unique\n  percpu: make percpu symbols in cpufreq unique\n  percpu: make percpu symbols in oprofile unique\n  percpu: make percpu symbols in tracer unique\n  percpu: make percpu symbols under kernel/ and mm/ unique\n  percpu: remove some sparse warnings\n  percpu: make alloc_percpu() handle array types\n  vmalloc: fix use of non-existent percpu variable in put_cpu_var()\n  this_cpu: Use this_cpu_xx in trace_functions_graph.c\n  this_cpu: Use this_cpu_xx for ftrace\n  this_cpu: Use this_cpu_xx in nmi handling\n  this_cpu: Use this_cpu operations in RCU\n  this_cpu: Use this_cpu ops for VM statistics\n  ...\n\nFix up trivial (famous last words) global per-cpu naming conflicts in\n\tarch/x86/kvm/svm.c\n\tmm/slab.c\n"
    },
    {
      "commit": "d7fc02c7bae7b1cf69269992cf880a43a350cdaa",
      "tree": "a43d56fa72913a1cc98a0bbebe054d08581b3a7c",
      "parents": [
        "ee1262dbc65ce0b6234a915d8432171e8d77f518",
        "28b4d5cc17c20786848cdc07b7ea237a309776bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:55:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:55:01 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1815 commits)\n  mac80211: fix reorder buffer release\n  iwmc3200wifi: Enable wimax core through module parameter\n  iwmc3200wifi: Add wifi-wimax coexistence mode as a module parameter\n  iwmc3200wifi: Coex table command does not expect a response\n  iwmc3200wifi: Update wiwi priority table\n  iwlwifi: driver version track kernel version\n  iwlwifi: indicate uCode type when fail dump error/event log\n  iwl3945: remove duplicated event logging code\n  b43: fix two warnings\n  ipw2100: fix rebooting hang with driver loaded\n  cfg80211: indent regulatory messages with spaces\n  iwmc3200wifi: fix NULL pointer dereference in pmkid update\n  mac80211: Fix TX status reporting for injected data frames\n  ath9k: enable 2GHz band only if the device supports it\n  airo: Fix integer overflow warning\n  rt2x00: Fix padding bug on L2PAD devices.\n  WE: Fix set events not propagated\n  b43legacy: avoid PPC fault during resume\n  b43: avoid PPC fault during resume\n  tcp: fix a timewait refcnt race\n  ...\n\nFix up conflicts due to sysctl cleanups (dead sysctl_check code and\nCTL_UNNUMBERED removed) in\n\tkernel/sysctl_check.c\n\tnet/ipv4/sysctl_net_ipv4.c\n\tnet/ipv6/addrconf.c\n\tnet/sctp/sysctl.c\n"
    },
    {
      "commit": "f8572d8f2a2ba75408b97dc24ef47c83671795d7",
      "tree": "052506a457939fea00d138d3a982d778df34e14c",
      "parents": [
        "86b1bc68e2f4244e4ea5db5458df9d19259fbb30"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Nov 05 13:32:03 2009 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Nov 12 02:05:06 2009 -0800"
      },
      "message": "sysctl net: Remove unused binary sysctl code\n\nNow that sys_sysctl is a compatiblity wrapper around /proc/sys\nall sysctl strategy routines, and all ctl_name and strategy\nentries in the sysctl tables are unused, and can be\nrevmoed.\n\nIn addition neigh_sysctl_register has been modified to no longer\ntake a strategy argument and it\u0027s callers have been modified not\nto pass one.\n\nCc: \"David Miller\" \u003cdavem@davemloft.net\u003e\nCc: Hideaki YOSHIFUJI \u003cyoshfuji@linux-ipv6.org\u003e\nCc: netdev@vger.kernel.org\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "fd2c3ef761fbc5e6c27fa7d40b30cda06bfcd7d8",
      "tree": "25922196160e9d5be8aa2a473ce981756926390f",
      "parents": [
        "4b7673a04a16f1d8faf1e367ae28a6ee1671843d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 03 03:26:03 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 04 05:06:25 2009 -0800"
      },
      "message": "net: cleanup include/net\n\nThis cleanup patch puts struct/union/enum opening braces,\nin first line to ease grep games.\n\nstruct something\n{\n\nbecomes :\n\nstruct something {\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ea7334b6de818b0123fa4be32af4cb8ac65174c",
      "tree": "bd9d2671945cdda7629b315d9ecb19b86781e839",
      "parents": [
        "fce22848a1e9887d92c2a975494b69149808750e"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Sat Oct 03 19:48:22 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat Oct 03 19:48:22 2009 +0900"
      },
      "message": "this_cpu: Use this_cpu ops for network statistics\n\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "89d69d2b75a8f7e258f4b634cd985374cfd3202e",
      "tree": "2f01d6ae1844c92ef09160ad1966edee34ee2d8a",
      "parents": [
        "dcbfef820bdd1cdb412ccf234840e23edf67014f"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Sep 01 11:13:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 17:40:57 2009 -0700"
      },
      "message": "net: make neigh_ops constant\n\nThese tables are never modified at runtime. Move to read-only\nsection.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e4c4e448cf557921ffbbbd6d6ddac81fdceacb4f",
      "tree": "6813f4b0228e1ec26c26c5c56ef980a2a7c0963c",
      "parents": [
        "1e3e238e9c4bf9987b19185235cd0cdc21ea038c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jul 30 03:15:07 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 02 18:35:16 2009 -0700"
      },
      "message": "neigh: Convert garbage collection from softirq to workqueue\n\nCurrent neigh_periodic_timer() function is fired by timer IRQ, and\nscans one hash bucket each round (very litle work in fact)\n\nAs we are supposed to scan whole hash table in 15 seconds, this means\nneigh_periodic_timer() can be fired very often. (depending on the number\nof concurrent hash entries we stored in this table)\n\nConverting this to a workqueue permits scanning whole table, minimizing\nicache pollution, and firing this work every 15 seconds, independantly\nof hash table size.\n\nThis 15 seconds delay is not a hard number, as work is a deferrable one.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e42ea986e4a4cab4209d982feffcaf50f21e80e3",
      "tree": "da674327f247cf325320caef87df6af5a0af8fd6",
      "parents": [
        "7a9546ee354ec6f23af403992b8c07baa50a23d2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Nov 12 00:54:54 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 12 00:54:54 2008 -0800"
      },
      "message": "net: Cleanup of neighbour code\n\nUsing read_pnet() and write_pnet() in neighbour code ease the reading\nof code.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9b739ba5e66c96938fbc07a4dbd9da5b81eac56f",
      "tree": "7a9fe83f69aac8b870144ee90a2b6071a3f96165",
      "parents": [
        "7e452baf6b96b5aeba097afd91501d33d390cc97"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 11 16:47:44 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 11 16:47:44 2008 -0800"
      },
      "message": "net: remove struct neigh_table::pde\n\n-\u003epde isn\u0027t actually needed, since name is stashed in -\u003eid.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a6d276e85aa3d8f308fc5e8de6892daeb60ae5f",
      "tree": "f61e1ad988a037745794fb23004d5bf2f247800f",
      "parents": [
        "ed88098e25d77bef3b2ad8c9d8e2ebf454d9ccbf"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Jul 16 20:50:49 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:50:49 2008 -0700"
      },
      "message": "core: add stat to track unresolved discards in neighbor cache\n\nin __neigh_event_send, if we have a neighbour entry which is in\nNUD_INCOMPLETE state, we enqueue any outbound frames to that neighbour\nto the neighbours arp_queue, which is default capped to a length of 3\nskbs.  If that queue exceeds its set length, it will drop an skb on\nthe queue to enqueue the newly arrived skb.  This results in a drop\nfor which we have no statistics incremented.  This patch adds an\nunresolved_discards stat to /proc/net/stat/ndisc_cache to track these\nlost frames.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8e8e43843ba3ced0c657cbc0fdb10644ec60f772",
      "tree": "e64954326ced9c365c52c256f01b5f9fb1bcae66",
      "parents": [
        "ed85f2c3b2b72bd20f617ac749f5c22be8d0f66e",
        "50fd4407b8bfbde7c1a0bfe4f24de7df37164342"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 27 18:48:56 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 27 18:48:56 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/usb/rndis_host.c\n\tdrivers/net/wireless/b43/dma.c\n\tnet/ipv6/ndisc.c\n"
    },
    {
      "commit": "57da52c1e62c6c13875e97de6c69d3156f8416da",
      "tree": "d29d201367194b64bde3dc38559b66c6bbd92503",
      "parents": [
        "1218854afa6f659be90b748cf1bc7badee954a35"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 03:49:59 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:58 2008 +0900"
      },
      "message": "[NET] NETNS: Omit neigh_parms-\u003enet and pneigh_entry-\u003enet without CONFIG_NET_NS.\n\nIntroduce neigh_parms/pneigh_entry inlines: neigh_parms_net(), pneigh_net().\nWithout CONFIG_NET_NS, no namespace other than \u0026init_net exists.\nLet\u0027s explicitly define them to help compiler optimizations.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "fa86d322d89995fef1bfb5cc768b89d8c22ea0d9",
      "tree": "e657b8adc9ccd2e13b2e2276fab4733a273ded09",
      "parents": [
        "8f3ea33a5078a09eba12bfe57424507809367756"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Mar 24 14:48:59 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 24 14:48:59 2008 -0700"
      },
      "message": "[NEIGH]: Fix race between pneigh deletion and ipv6\u0027s ndisc_recv_ns (v3).\n\nProxy neighbors do not have any reference counting, so any caller\nof pneigh_lookup (unless it\u0027s a netlink triggered add/del routine)\nshould _not_ perform any actions on the found proxy entry. \n\nThere\u0027s one exception from this rule - the ipv6\u0027s ndisc_recv_ns() \nuses found entry to check the flags for NTF_ROUTER.\n\nThis creates a race between the ndisc and pneigh_delete - after \nthe pneigh is returned to the caller, the nd_tbl.lock is dropped \nand the deleting procedure may proceed.\n\nOne of the fixes would be to add a reference counting, but this\nproblem exists for ndisc only. Besides such a patch would be too \nbig for -rc4.\n\nSo I propose to introduce a __pneigh_lookup() which is supposed\nto be called with the lock held and use it in ndisc code to check\nthe flags on alive pneigh entry.\n\n\nChanges from v2:\nAs David noticed, Exported the __pneigh_lookup() to ipv6 module. \nThe checkpatch generates a warning on it, since the EXPORT_SYMBOL \ndoes not follow the symbol itself, but in this file all the \nexports come at the end, so I decided no to break this harmony.\n\nChanges from v1:\nFixed comments from YOSHIFUJI - indentation of prototype in header\nand the pndisc_check_router() name - and a compilation fix, pointed\nby Daniel - the is_routed was (falsely) considered as uninitialized\nby gcc.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8082c37cdc31fb0ed178d9d706bf7568ada0edd9",
      "tree": "c17ec16dba86b96e53bfe23bd84114a7f963a7da",
      "parents": [
        "0e7b8dcd16eb91b9cd8ecc07c4094512f20d7e3c"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Mar 04 14:55:03 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Mar 04 15:18:23 2008 +0900"
      },
      "message": "[NET] NEIGHBOUR: Remove unpopular neigh_is_connected().\n\nneigh_is_connected() is not popular at all, and the only user\ndrivers/net/cxgb3/l2t.c:t3_l2t_update() also have raw (expanded) expression.\nLet\u0027s expand it and remove the inline function.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "06f0511df1b3b32fc8e0840514d4b207150f1fa7",
      "tree": "437fddbd668d611d4249d48fa806c36c05889767",
      "parents": [
        "14db4133d59e2c1bed122bf87393e2ded05e42dc"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Jan 24 00:30:58 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:02:11 2008 -0800"
      },
      "message": "[ARP]: neigh_parms_put(destroy) are essentially local to core/neighbour.c.\n\nMake them static.\n\n[ Moved the inline before, instead of after, call sites. -DaveM ]\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39971554d3469b48154f34257ad4a35081b7ee40",
      "tree": "c58af51601f8197d87894a916c8592a8c5555175",
      "parents": [
        "9993e7d313e80bdc005d09c7def91903e0068f07"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Jan 10 22:37:16 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:01:43 2008 -0800"
      },
      "message": "[NEIGH]: Add a comment describing what a NUD stands for.\n\nWhen I studied the neighbor code I puzzled over what the NUD can mean\nfor quite a long time.\n\nFinally I asked Alexey and he said that this was smth like \"neighbor\nunreachability detection\".\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4250846146c04ac6f17bf92619ddfef6db2cf34f",
      "tree": "4fb27a2735e521f34ae4f2d20b39936db1b632e7",
      "parents": [
        "ae22120ad846399f6aa19c5b32f8d4c7bd068fd1"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Jan 10 03:53:12 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:01:37 2008 -0800"
      },
      "message": "[NEIGH]: Make /proc/net/arp opening consistent with seq_net_open semantics\n\nseq_open_net requires that first field of the seq-\u003eprivate data to be\nstruct seq_net_private. In reality this is a single pointer to a\nstruct net for now. The patch makes code consistent.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f624357959001c9156ee7a475283fc6041f78e0e",
      "tree": "d0dcc8337a5e5b5d257e69f71d41e656c6683f25",
      "parents": [
        "04ce99c4839a86f4ef476f811cced8d1f11999e4"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Sun Dec 30 23:25:31 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:00:17 2008 -0800"
      },
      "message": "[NEIGH]: Remove unused method from include/net/neighbour.h\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "426b5303eb435d98b9bee37a807be386bc2b3320",
      "tree": "86f7bd945101d9ac51afb22a210d22b8ff956a4e",
      "parents": [
        "e1af9f270b69a3ad1dcbabb404dd1f40a96f43f5"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Jan 24 00:13:18 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:00:03 2008 -0800"
      },
      "message": "[NETNS]: Modify the neighbour table code so it handles multiple network namespaces\n\nI\u0027m actually surprised at how much was involved.  At first glance it\nappears that the neighbour table data structures are already split by\nnetwork device so all that should be needed is to modify the user\ninterface commands to filter the set of neighbours by the network\nnamespace of their devices.\n\nHowever a couple things turned up while I was reading through the\ncode.  The proxy neighbour table allows entries with no network\ndevice, and the neighbour parms are per network device (except for the\ndefaults) so they now need a per network namespace default.\n\nSo I updated the two structures (which surprised me) with their very\nown network namespace parameter.  Updated the relevant lookup and\ndestroy routines with a network namespace parameter and modified the\ncode that interacts with users to filter out neighbour table entries\nfor devices of other namespaces.\n\nI\u0027m a little concerned that we can modify and display the global table\nconfiguration and from all network namespaces.  But this appears good\nenough for now.\n\nI keep thinking modifying the neighbour table to have per network\nnamespace instances of each table type would should be cleaner.  The\nhash table is already dynamically sized so there are it is not a\nlimiter.  The default parameter would be straight forward to take care\nof.  However when I look at the how the network table is built and\nused I still find some assumptions that there is only a single\nneighbour table for each type of table in the kernel.  The netlink\noperations, neigh_seq_start, the non-core network users that call\nneigh_lookup.  So while it might be doable it would require more\nrefactoring than my current approach of just doing a little extra\nfiltering in the code.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c8822a4e00442e65d42d50db8e529d75c2025630",
      "tree": "127ce686af9e562e997d75ecabb6c7acca4c0b12",
      "parents": [
        "340d17fc9d577c93678850e46963e9b19b92db7e"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 11:50:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:06 2007 -0700"
      },
      "message": "[NEIGH]: Use rtnl registration interface\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ecbb416939da77c0d107409976499724baddce7b",
      "tree": "313f786f9f4d5fec3f016c292dea1705924fa9b6",
      "parents": [
        "e1701c68c1d1aeb3213d7016593ea9a1d4309417"
      ],
      "author": {
        "name": "Alexey Kuznetsov",
        "email": "kuznet@ms2.inr.ac.ru",
        "time": "Sat Mar 24 12:52:16 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Mar 25 18:48:01 2007 -0700"
      },
      "message": "[NET]: Fix neighbour destructor handling.\n\n-\u003eneigh_destructor() is killed (not used), replaced with\n-\u003eneigh_cleanup(), which is called when neighbor entry goes to dead\nstate. At this point everything is still valid: neigh-\u003edev,\nneigh-\u003eparms etc.\n\nThe device should guarantee that dead neighbor entries (neigh-\u003edead !\u003d\n0) do not get private part initialized, otherwise nobody will cleanup\nit.\n\nI think this is enough for ipoib which is the only user of this thing.\nInitialization private part of neighbor entries happens in ipib\nstart_xmit routine, which is not reached when device is down.  But it\nwould be better to add explicit test for neigh-\u003edead in any case.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3644f0cee77494190452de132e82245107939284",
      "tree": "7aeb1dd32c68e372cc2aaa9d26703dd238b48a53",
      "parents": [
        "eb991b39385c7b04923d701764a34694ec54b53d"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Dec 07 15:08:17 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Dec 08 17:19:20 2006 -0800"
      },
      "message": "[NET]: Convert hh_lock to seqlock.\n\nThe hard header cache is in the main output path, so using\nseqlock instead of reader/writer lock should reduce overhead.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e18b890bb0881bbab6f4f1a6cd20d9c60d66b003",
      "tree": "4828be07e1c24781c264b42c5a75bcd968223c3f",
      "parents": [
        "441e143e95f5aa1e04026cb0aa71c801ba53982f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:25 2006 -0800"
      },
      "message": "[PATCH] slab: remove kmem_cache_t\n\nReplace all uses of kmem_cache_t with struct kmem_cache.\n\nThe patch was generated using the following script:\n\n\t#!/bin/sh\n\t#\n\t# Replace one string by another in all the kernel sources.\n\t#\n\n\tset -e\n\n\tfor file in `find * -name \"*.c\" -o -name \"*.h\"|xargs grep -l $1`; do\n\t\tquilt add $file\n\t\tsed -e \"1,\\$s/$1/$2/g\" $file \u003e/tmp/$$\n\t\tmv /tmp/$$ $file\n\t\tquilt refresh\n\tdone\n\nThe script was run like this\n\n\tsh replace kmem_cache_t \"struct kmem_cache\"\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "62dd93181aaa1d5a501a9cebcb254f44b8a48af7",
      "tree": "b19cc7f630d3fecccc338f1c5a75000a4485565a",
      "parents": [
        "5f3e6e9e19f50a6910aec2dbd479187aabba04b7"
      ],
      "author": {
        "name": "Ville Nuorvala",
        "email": "vnuorval@tcs.hut.fi",
        "time": "Fri Sep 22 14:43:19 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 15:20:24 2006 -0700"
      },
      "message": "[IPV6] NDISC: Set per-entry is_router flag in Proxy NA.\n\nWe have sent NA with router flag from the node-wide forwarding\nconfiguration.  This is not appropriate for proxy NA, and it should be\nset according to each proxy entry\u0027s configuration.\n\nThis is used by Mobile IPv6 home agent to support physical home link\nin acting as a proxy router for mobile node which is not a router,\nfor example.\n\nBased on MIPL2 kernel patch.\n\nSigned-off-by: Ville Nuorvala \u003cvnuorval@tcs.hut.fi\u003e\nSigned-off-by: Masahide NAKAMURA \u003cnakam@linux-ipv6.org\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "d924424aaed116b362c6d0e667d912b77e655085",
      "tree": "3e0471efbc0e5bdba5daee4238eb3996aaafb5d7",
      "parents": [
        "1e38bb3a38d08129d08c904b10ea3ba08e22d297"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Aug 10 23:03:23 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:54:23 2006 -0700"
      },
      "message": "[NEIGHBOUR]: Use ALIGN() macro.\n\nRather than opencoding the mask, it looks better to use ALIGN()\nmacro from kernel.h.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9067c722cf6930adf1df2d169de9094dd90b0c33",
      "tree": "eb2133038cbd85bbf55b5acd2d5297f03357e45b",
      "parents": [
        "8b8aec508302d4e63fd88f47894805115277f70f"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Mon Aug 07 17:57:44 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:54:01 2006 -0700"
      },
      "message": "[NEIGH]: Move netlink neighbour bits to linux/neighbour.h\n\nMoves netlink neighbour bits to linux/neighbour.h. Also\nmoves bits to be exported to userspace from net/neighbour.h\nto linux/neighbour.h and removes __KERNEL__ guards, userspace\nis not supposed to be using it.\n\nrtnetlink_rcv_msg() is not longer required to parse attributes\nfor the neighbour layer, remove dependency on obsolete and\nbuggy rta_buf.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bd89efc532fe41f867f848144cc8b42054ddf6f9",
      "tree": "fcf90049cb5a15bf6689cdbc6038c3fe22079009",
      "parents": [
        "ef34814426862c41c061520d4ac833be5914b5ba"
      ],
      "author": {
        "name": "Simon Kelley",
        "email": "simon@thekelleys.org.uk",
        "time": "Fri May 12 14:56:08 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 12 14:56:08 2006 -0700"
      },
      "message": "[NEIGH]: Fix IP-over-ATM and ARP interaction.\n\nThe classical IP over ATM code maintains its own IPv4 \u003c-\u003e \u003cATM stuff\u003e\nARP table, using the standard neighbour-table code. The\nneigh_table_init function adds this neighbour table to a linked list\nof all neighbor tables which is used by the functions neigh_delete()\nneigh_add() and neightbl_set(), all called by the netlink code.\n\nOnce the ATM neighbour table is added to the list, there are two\ntables with family \u003d\u003d AF_INET there, and ARP entries sent via netlink\ngo into the first table with matching family. This is indeterminate\nand often wrong.\n\nTo see the bug, on a kernel with CLIP enabled, create a standard IPv4\nARP entry by pinging an unused address on a local subnet. Then attempt\nto complete that entry by doing\n\nip neigh replace \u003cip address\u003e lladdr \u003csome mac address\u003e nud reachable\n\nLooking at the ARP tables by using \n\nip neigh show\n\nwill reveal two ARP entries for the same address. One of these can be\nfound in /proc/net/arp, and the other in /proc/net/atm/arp.\n\nThis patch adds a new function, neigh_table_init_no_netlink() which\ndoes everything the neigh_table_init() does, except add the table to\nthe netlink all-arp-tables chain. In addition neigh_table_init() has a\ncheck that all tables on the chain have a distinct address family.\nThe init call in clip.c is changed to call\nneigh_table_init_no_netlink().\n\nSince ATM ARP tables are rather more complicated than can currently be\nhandled by the available rtattrs in the netlink protocol, no\nfunctionality is lost by this patch, and non-ATM ARP manipulation via\nnetlink is rescued. A more complete solution would involve a rtattr\nfor ATM ARP entries and some way for the netlink code to give\nneigh_add and friends more information than just address family with\nwhich to find the correct ARP table.\n\n[ I\u0027ve changed the assertion checking in neigh_table_init() to not\n  use BUG_ON() while holding neigh_tbl_lock.  Instead we remember that\n  we found an existing tbl with the same family, and after dropping\n  the lock we\u0027ll give a diagnostic kernel log message and a stack dump.\n  -DaveM ]\n\nSigned-off-by: Simon Kelley \u003csimon@thekelleys.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c5ecd62c25400a3c6856e009f84257d5bd03f03b",
      "tree": "a0aeb88552772396bba986cce176028348ec041f",
      "parents": [
        "53dcb0e38c1786aa82ada4641b4607be315b610a"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@mellanox.co.il",
        "time": "Mon Mar 20 22:25:41 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:25:41 2006 -0800"
      },
      "message": "[NET]: Move destructor from neigh-\u003eops to neigh_params\n\nstruct neigh_ops currently has a destructor field, which no in-kernel\ndrivers outside of infiniband use.  The infiniband/ulp/ipoib in-tree\ndriver stashes some info in the neighbour structure (the results of\nthe second-stage lookup from ARP results to real link-level path), and\nit uses neigh-\u003eops-\u003edestructor to get a callback so it can clean up\nthis extra info when a neighbour is freed.  We\u0027ve run into problems\nwith this: since the destructor is in an ops field that is shared\nbetween neighbours that may belong to different net devices, there\u0027s\nno way to set/clear it safely.\n\nThe following patch moves this field to neigh_parms where it can be\nsafely set, together with its twin neigh_setup.  Two additional\npatches in the patch series update ipoib to use this new interface.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14c850212ed8f8cbb5972ad6b8812e08a0bc901c",
      "tree": "53c88f03e7bbac4064f6e80d462ad484ee038326",
      "parents": [
        "25995ff577675b58dbd848b7758e7bad87411947"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 27 02:43:12 2005 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:11:21 2006 -0800"
      },
      "message": "[INET_SOCK]: Move struct inet_sock \u0026 helper functions to net/inet_sock.h\n\nTo help in reducing the number of include dependencies, several files were\ntouched as they were getting needed headers indirectly for stuff they use.\n\nThanks also to Alan Menegotto for pointing out that net/dccp/proto.c had\nlinux/dccp.h include twice.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a61bbcf28a8cb0ba56f8193d512f7222e711a294",
      "tree": "33ae1976ab3b08aac516debb2742d2c6696d5436",
      "parents": [
        "25ed891019b84498c83903ecf53df7ce35e9cff6"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Aug 14 17:24:31 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:58:24 2005 -0700"
      },
      "message": "[NET]: Store skb-\u003etimestamp as offset to a base timestamp\n\nReduces skb size by 8 bytes on 64-bit.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "88121aea7bdb5fdc527388e262381829c4e1db16",
      "tree": "9b5a020b737a6d13c1ecd131baf08fe873fbd446",
      "parents": [
        "c7fb64db001f83ece669c76a02d8ec2fdb1dd307"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Sat Jun 18 22:51:12 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 22:51:12 2005 -0700"
      },
      "message": "[NEIGHBOUR]: Remove unused fields in struct neigh_parms and neigh_table\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c7fb64db001f83ece669c76a02d8ec2fdb1dd307",
      "tree": "f8b8375b8b619c00db3399a4ef6f67e2636dfac7",
      "parents": [
        "00768244923f66801958a8d2d103f7b65608c9b6"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Sat Jun 18 22:50:55 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 22:50:55 2005 -0700"
      },
      "message": "[NETLINK]: Neighbour table configuration and statistics via rtnetlink\n\nTo retrieve the neighbour tables send RTM_GETNEIGHTBL with the\nNLM_F_DUMP flag set. Every neighbour table configuration is\nspread over multiple messages to avoid running into message\nsize limits on systems with many interfaces. The first message\nin the sequence transports all not device specific data such as\nstatistics, configuration, and the default parameter set.\nThis message is followed by 0..n messages carrying device\nspecific parameter sets.\n\nAlthough the ordering should be sufficient, NDTA_NAME can be\nused to identify sequences. The initial message can be identified\nby checking for NDTA_CONFIG. The device specific messages do\nnot contain this TLV but have NDTPA_IFINDEX set to the\ncorresponding interface index.\n\nTo change neighbour table attributes, send RTM_SETNEIGHTBL\nwith NDTA_NAME set. Changeable attribute include NDTA_THRESH[1-3],\nNDTA_GC_INTERVAL, and all TLVs in NDTA_PARMS unless marked\notherwise. Device specific parameter sets can be changed by\nsetting NDTPA_IFINDEX to the interface index of the corresponding\ndevice.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
