)]}'
{
  "commit": "ea5e70558cc84a71dc9a727d63b13ce396db2a40",
  "tree": "c124cec7474cac50cc8d14ac478d2b6419d62f3f",
  "parents": [
    "84703e05fa27e12376b253a0b2f81bc46c6974a0"
  ],
  "author": {
    "name": "QUICHE team",
    "email": "quiche-dev@google.com",
    "time": "Tue May 11 12:39:24 2021 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Tue May 11 12:41:28 2021 -0700"
  },
  "message": "Automated g4 rollback of changelist 373010349.\n\n*** Reason for rollback ***\n\nThis change no longer downs the interface when taking down the qbone tunnel. Instead, we close the fd we have for interacting with the TUN -- this has the effect of removing the interface when nopersist is set on the device.\n\n*** Original change description ***\n\nAutomated g4 rollback of changelist 372620094.\n\n*** Reason for rollback ***\n\nBreaking Endor because we bring down the TUN Device when tearing down the bonnet in the init container.\n\n*** Original change description ***\n\nDefer TUN device creation until after the quic connection has been established.\n\nIOS XR\u0027s XR container takes a few seconds for networking state to be sync\u0027d from the host -- during which time any manipulations to the linux contaier\u0027s host networking stack breaks the synchronizatio...\n\n***\n\nPiperOrigin-RevId: 373210829\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d593913d3aed6e911adc08b594fc83f611aa2e6f",
      "old_mode": 33188,
      "old_path": "quic/qbone/bonnet/mock_tun_device.h",
      "new_id": "056346ca000a0cf2ec79200bbefb949113b27cf5",
      "new_mode": 33188,
      "new_path": "quic/qbone/bonnet/mock_tun_device.h"
    },
    {
      "type": "modify",
      "old_id": "3ca52e8d6d67bf433f079d667b3be20abebe905b",
      "old_mode": 33188,
      "old_path": "quic/qbone/bonnet/tun_device.cc",
      "new_id": "86e68d75d8465abec54d48a52f883d710c02a7bf",
      "new_mode": 33188,
      "new_path": "quic/qbone/bonnet/tun_device.cc"
    },
    {
      "type": "modify",
      "old_id": "bff85f5943a5a3cea5d1ad1c0ff619eec18a76e9",
      "old_mode": 33188,
      "old_path": "quic/qbone/bonnet/tun_device.h",
      "new_id": "129e1d121c6913e48cab8000fdda75a83108e2d7",
      "new_mode": 33188,
      "new_path": "quic/qbone/bonnet/tun_device.h"
    },
    {
      "type": "modify",
      "old_id": "e99c547ee7c5ca7a7ede14b28d024a99e604e8c6",
      "old_mode": 33188,
      "old_path": "quic/qbone/bonnet/tun_device_interface.h",
      "new_id": "3c6f962496024ee6bfd97c7ebe199add9d0ff1ab",
      "new_mode": 33188,
      "new_path": "quic/qbone/bonnet/tun_device_interface.h"
    },
    {
      "type": "modify",
      "old_id": "211967167604e67419f284f6a9513621c1aa215c",
      "old_mode": 33188,
      "old_path": "quic/qbone/bonnet/tun_device_packet_exchanger.cc",
      "new_id": "4783e9cc9c338ca0eb18723814e42ef299fe1432",
      "new_mode": 33188,
      "new_path": "quic/qbone/bonnet/tun_device_packet_exchanger.cc"
    },
    {
      "type": "modify",
      "old_id": "1d28fee1dbccf7c71b3d98509af67dd68e01f413",
      "old_mode": 33188,
      "old_path": "quic/qbone/bonnet/tun_device_packet_exchanger.h",
      "new_id": "115f5b580c614933cbcce1c97a81dbcc17e4106c",
      "new_mode": 33188,
      "new_path": "quic/qbone/bonnet/tun_device_packet_exchanger.h"
    },
    {
      "type": "modify",
      "old_id": "4a00c60eb78bf0cd7ade17b00ee85e231337a61c",
      "old_mode": 33188,
      "old_path": "quic/qbone/bonnet/tun_device_packet_exchanger_test.cc",
      "new_id": "c8f3ff0c861ce88aa5c0e8d2320ffe35595ef0ac",
      "new_mode": 33188,
      "new_path": "quic/qbone/bonnet/tun_device_packet_exchanger_test.cc"
    },
    {
      "type": "modify",
      "old_id": "9c216afe258ee8783d4fb4a3a6fc9ec320060777",
      "old_mode": 33188,
      "old_path": "quic/qbone/bonnet/tun_device_test.cc",
      "new_id": "6a02f07062ee31af5a55076610a7a6dba78d66f9",
      "new_mode": 33188,
      "new_path": "quic/qbone/bonnet/tun_device_test.cc"
    }
  ]
}
