)]}'
{
  "commit": "71c8202075c45099ad572f20b3075ec2af494f67",
  "tree": "aa91351e5804c701fd9ddb592539fcda8c5e3445",
  "parents": [
    "2f0dcc18ea29c589be0f08661fb2dc37339d7063"
  ],
  "author": {
    "name": "Steffen Klassert",
    "email": "steffen.klassert@secunet.com",
    "time": "Sat Jun 16 12:44:53 2018 +0200"
  },
  "committer": {
    "name": "Steffen Klassert",
    "email": "steffen.klassert@secunet.com",
    "time": "Sat Jun 16 12:44:53 2018 +0200"
  },
  "message": "xfrm: Add virtual xfrm interfaces\n\nThis patch adds support for virtual xfrm interfaces.\nPackets that are routed through such an interface\nare guaranteed to be IPsec transformed or dropped.\nIt is a generic virtual interface that ensures IPsec\ntransformation, no need to know what happens behind\nthe interface. This means that we can tunnel IPv4 and\nIPv6 through the same interface and support all xfrm\nmodes (tunnel, transport and beet) on it.\n\nCo-developed-by: Lorenzo Colitti \u003clorenzo@google.com\u003e\nCo-developed-by: Benedict Wong \u003cbenedictwong@google.com\u003e\nSigned-off-by: Lorenzo Colitti \u003clorenzo@google.com\u003e\nSigned-off-by: Benedict Wong \u003cbenedictwong@google.com\u003e\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nAcked-by: Shannon Nelson \u003cshannon.nelson@oracle.com\u003e\nTested-by: Benedict Wong \u003cbenedictwong@google.com\u003e\nTested-by: Antony Antony \u003cantony@phenome.org\u003e\nReviewed-by: Eyal Birger \u003ceyal.birger@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "26df8d6d507c578abbeaba30a4ca2d1cfd1217e1",
      "old_mode": 33188,
      "old_path": "include/net/xfrm.h",
      "new_id": "211b15c55a92d2b423893bda50c14a7d6ffedc2d",
      "new_mode": 33188,
      "new_path": "include/net/xfrm.h"
    },
    {
      "type": "modify",
      "old_id": "cf01b68242448512416c1b1aa25f0904915aad0a",
      "old_mode": 33188,
      "old_path": "include/uapi/linux/if_link.h",
      "new_id": "bff0af507b32d351c72af05725be9bc6c16a9b75",
      "new_mode": 33188,
      "new_path": "include/uapi/linux/if_link.h"
    },
    {
      "type": "modify",
      "old_id": "286ed25c1a698ae9bb2b89b110d0469475a1e2de",
      "old_mode": 33188,
      "old_path": "net/xfrm/Kconfig",
      "new_id": "53381888a7b3ccc86a5f7ef0faaa3c9e95d784ee",
      "new_mode": 33188,
      "new_path": "net/xfrm/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "0bd2465a8c5a8e095d87642f9d71a19fbd6572e1",
      "old_mode": 33188,
      "old_path": "net/xfrm/Makefile",
      "new_id": "fbc4552d17b85646d0ac934f1054604e53bce75a",
      "new_mode": 33188,
      "new_path": "net/xfrm/Makefile"
    },
    {
      "type": "modify",
      "old_id": "352abca2605f6efbb05682bc0ca5f1de1f4402a4",
      "old_mode": 33188,
      "old_path": "net/xfrm/xfrm_input.c",
      "new_id": "b104724d1caaed313ef8519209a21fd020b2769c",
      "new_mode": 33188,
      "new_path": "net/xfrm/xfrm_input.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "31cb1c7e3881ea155f1a29897fb5358638cca423",
      "new_mode": 33188,
      "new_path": "net/xfrm/xfrm_interface.c"
    },
    {
      "type": "modify",
      "old_id": "08b745aade43284f6afba236216b197b029eb04b",
      "old_mode": 33188,
      "old_path": "net/xfrm/xfrm_policy.c",
      "new_id": "47f776840df11c6c7374ac89e22a79a2d77507ae",
      "new_mode": 33188,
      "new_path": "net/xfrm/xfrm_policy.c"
    }
  ]
}
