)]}'
{
  "log": [
    {
      "commit": "38d408152a86598a50680a82fe3353b506630409",
      "tree": "a285e4883bdf04eb68201f379b52fa068cf4b2ed",
      "parents": [
        "abb79972b4d1dff00f79cb0d123173abac48a6ae"
      ],
      "author": {
        "name": "Eric Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Tue Mar 03 23:36:04 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 03 23:36:04 2009 -0800"
      },
      "message": "veth: Allow setting the L3 MTU\n\nThe limitation to only 1500 byte mtu\u0027s limits the utility of the veth\ndevice for testing routing.  So implement implement a configurable\nMTU.\n\nFor consistency I drop packets on the receive side when they are\nlarger than the MTU.  I count those drops.  And I allow\na little padding for vlan headers.\n\nI also test the mtu when a new device is created with netlink\nbecause that path currently bypasses the current mtu setting\ncode.\n\nSigned-off-by: Eric Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2cf48a10aa1f45c7b1f1117a829f2f8a1a1309e2",
      "tree": "4b467e81ebb7aa6c6789791115426ab5837b701f",
      "parents": [
        "cac477e8f1038c41b6f29d3161ce351462ef3df7"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Feb 25 19:47:29 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 01 20:44:21 2009 -0800"
      },
      "message": "veth: Fix carrier detect\n\nThe current implementation of carrier detect in veth is broken.\nIt reports the link is down until both sides of the veth pair\nare administatively up and then forever after it reports link up.\n\nSo fix veth so that it only reports link up when both interfaces\nof the pair are administratively up.\n\nSigned-off-by: Eric Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ee923623177249cf22c43419ad0e8ff926dd1f58",
      "tree": "e0e3db94cc118d93014fb037f85e2c92c1d10d9d",
      "parents": [
        "b956d41162b1f2c4b446107e9910e4719cbc75f4"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@free.fr",
        "time": "Sun Feb 22 00:04:45 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 22 00:04:45 2009 -0800"
      },
      "message": "veth : add the set_mac_address capability\n\nFix lost set_mac_address capability.\n\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "008298231abbeb91bc7be9e8b078607b816d1a4a",
      "tree": "8cb0c17720086ef97c614b96241f06aa63ce8511",
      "parents": [
        "6ab33d51713d6d60c7677c0d020910a8cb37e513"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Nov 20 20:14:53 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:14:53 2008 -0800"
      },
      "message": "netdev: add more functions to netdevice ops\n\nThis patch moves neigh_setup and hard_start_xmit into the network device ops\nstructure. For bisection, fix all the previously converted drivers as well.\nBonding driver took the biggest hit on this.\n\nAdded a prefetch of the hard_start_xmit in the fast path to try and reduce\nany impact this would have.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4456e7bdf74c9f27e2312a6f197b2da467541433",
      "tree": "1b06ab44cb2002b6eb5ded43d857ebf3d3f188e1",
      "parents": [
        "a2dbb88210b9877f1c53d3798fd5d717a4d45256"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Nov 19 21:50:10 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 22:42:39 2008 -0800"
      },
      "message": "veth: convert to net_device_ops\n\nConvert to net_device_ops function table.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3717746ef8b5a9279281b5d318496710984ed739",
      "tree": "e6f4b352ca06f4f917366b85bce9e2b6a82b1da2",
      "parents": [
        "bb7bba3d56963be59bc6764c8021290ed55205ad"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Tue Oct 28 22:08:46 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 28 23:02:33 2008 -0700"
      },
      "message": "veth: remove unused list\n\nThe veth network device is stored in a list in the netdev private.\nAFAICS, this list is never used so I removed this list from the code.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb7bba3d56963be59bc6764c8021290ed55205ad",
      "tree": "e9fc1c38e37f203d193d0636963ee7fc5d4ce3f8",
      "parents": [
        "fdb46ee752ed05c94bac71fe3decdb5175ec6e1f"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Tue Oct 28 22:08:19 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 28 23:02:33 2008 -0700"
      },
      "message": "veth: Remove useless veth field\n\nThe veth private structure contains a netdev pointer refering to its peer.\nThis field is never used and it is pointless because if we can access,\nthe veth_priv, that means we already have the netdev which is stored\nin veth_priv-\u003edev.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c346dca10840a874240c78efe3f39acf4312a1f2",
      "tree": "c04cff20124eba5cc337cc5ec260ad2513eeb065",
      "parents": [
        "7cbca67c073263c179f605bdbbdc565ab29d801d"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Mar 25 21:47:49 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:53 2008 +0900"
      },
      "message": "[NET] NETNS: Omit net_device-\u003end_net without CONFIG_NET_NS.\n\nIntroduce per-net_device inlines: dev_net(), dev_net_set().\nWithout CONFIG_NET_NS, no namespace other than \u0026init_net exists.\nLet\u0027s explicitly define them to help compiler optimizations.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "c15853f2c1c9baaa27bbc494cd183be96f6d9bb9",
      "tree": "0f5735eb9c3fedc715f58d4aeeeed162eabb5d3a",
      "parents": [
        "fa907895b7b776208a1406efe5ba7ffe0f49f507"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Wed Feb 20 00:21:47 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 20 00:21:47 2008 -0800"
      },
      "message": "veth: fix dev refcount race\n\nWhen deleting the veth driver, veth_close calls netif_carrier_off\nfor the two extremities of the network device. netif_carrier_off on\nthe peer device will fire an event and hold a reference on the peer\ndevice. Just after, the peer is unregistered taking the rtnl_lock while\nthe linkwatch_event is scheduled. If __linkwatch_run_queue does not\noccurs before the unregistering, unregister_netdevice will wait for\nthe dev refcount to reach zero holding the rtnl_lock and linkwatch_event\nwill wait for the rtnl_lock and hold the dev refcount.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "68365458a4252fa993b91a00f7a0b18fed399f0d",
      "tree": "824b1f32ba3b955c018626127602c365f986ccfc",
      "parents": [
        "d4782c323d10d3698b71b6a6b3c7bdad33824658"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Jan 20 17:25:14 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 20 20:31:45 2008 -0800"
      },
      "message": "[NET]: rtnl_link: fix use-after-free\n\nWhen unregistering the rtnl_link_ops, all existing devices using\nthe ops are destroyed. With nested devices this may lead to a\nuse-after-free despite the use of for_each_netdev_safe() in case\nthe upper device is next in the device list and is destroyed\nby the NETDEV_UNREGISTER notifier.\n\nThe easy fix is to restart scanning the device list after removing\na device. Alternatively we could add new devices to the front of\nthe list to avoid having dependant devices follow the device they\ndepend on. A third option would be to only restart scanning if\ndev-\u003eiflink of the next device matches dev-\u003eifindex of the current\none. For now this seems like the safest solution.\n\nWith this patch, the veth rtnl_link_ops unregistration can use\nrtnl_link_unregister() directly since it now also handles destruction\nof multiple devices at once.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ecef969e5b376f98b142e22deb1cec2f23e4f5d6",
      "tree": "d414bbb2f0c8937705256e09ab162e2ae6f46f8c",
      "parents": [
        "75ec533ec3335913009c32de878d5ed7cbe0d41c"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Dec 25 17:23:59 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 26 19:36:35 2007 -0800"
      },
      "message": "[VETH]: move veth.h to include/linux\n\nMove veth.h from net/ to linux/ since it is a user api, and add it to\nuser header processing Kbuild.\n\n[ Use header-y as suggested by Sam Ravnborg.  -DaveM ]\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b9f2c0440d806e01968c3ed4def930a43be248ad",
      "tree": "b8e4668b0a4eab842fc33402e92b15f6c63cbc18",
      "parents": [
        "753f492093da7a40141bfe083073400f518f4c68"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Oct 03 18:07:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:45 2007 -0700"
      },
      "message": "[netdrvr] Stop using legacy hooks -\u003eself_test_count, -\u003eget_stats_count\n\nThese have been superceded by the new -\u003eget_sset_count() hook.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "881d966b48b035ab3f3aeaae0f3d3f9b584f45b2",
      "tree": "c579d59a4107cbbe9e2b85939bc0d496b815c887",
      "parents": [
        "b4b510290b056b86611757ce1175a230f1080f53"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 11:56:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:10 2007 -0700"
      },
      "message": "[NET]: Make the device list and device lookups per namespace.\n\nThis patch makes most of the generic device layer network\nnamespace safe.  This patch makes dev_base_head a\nnetwork namespace variable, and then it picks up\na few associated variables.  The functions:\ndev_getbyhwaddr\ndev_getfirsthwbytype\ndev_get_by_flags\ndev_get_by_name\n__dev_get_by_name\ndev_get_by_index\n__dev_get_by_index\ndev_ioctl\ndev_ethtool\ndev_load\nwireless_process_ioctl\n\nwere modified to take a network namespace argument, and\ndeal with it.\n\nvlan_ioctl_set and brioctl_set were modified so their\nhooks will receive a network namespace argument.\n\nSo basically anthing in the core of the network stack that was\naffected to by the change of dev_base was modified to handle\nmultiple network namespaces.  The rest of the network stack was\nsimply modified to explicitly use \u0026init_net the initial network\nnamespace.  This can be fixed when those components of the network\nstack are modified to handle multiple network namespaces.\n\nFor now the ifindex generator is left global.\n\nFundametally ifindex numbers are per namespace, or else\nwe will have corner case problems with migration when\nwe get that far.\n\nAt the same time there are assumptions in the network stack\nthat the ifindex of a network device won\u0027t change.  Making\nthe ifindex number global seems a good compromise until\nthe network stack can cope with ifindex changes when\nyou change namespaces, and the like.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e314dbdc1c0dc6a548ecf0afce28ecfd538ff568",
      "tree": "f774e598ebb997c108b1d757cd4b27f7bbca9a28",
      "parents": [
        "e71992889ee289a87f6641cfa40d64a5699bcb53"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Sep 25 16:14:46 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:46 2007 -0700"
      },
      "message": "[NET]: Virtual ethernet device driver.\n\nVeth stands for Virtual ETHernet. It is a simple tunnel driver\nthat works at the link layer and looks like a pair of ethernet\ndevices interconnected with each other.\n\nMainly it allows to communicate between network namespaces but\nit can be used as is as well.\n\nThe newlink callback is organized that way to make it easy to\ncreate the peer device in the separate namespace when we have\nthem in kernel.\n\nThis implementation uses another interface - the RTM_NRELINK\nmessage introduced by Patric.\n\nBug fixes from Daniel Lezcano.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ]
}
