)]}'
{
  "commit": "ea43e987f19b981f6357b05c56f0f1d223d0ff30",
  "tree": "ebd7f75cbb41c7b709bd20fa3a64edc07bb8b057",
  "parents": [
    "65546237d0768d3ecd17c8de4ffd4447bf39ad4b"
  ],
  "author": {
    "name": "QUICHE team",
    "email": "quiche-dev@google.com",
    "time": "Tue Jun 30 11:25:23 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Tue Jun 30 11:26:03 2026 -0700"
  },
  "message": "QBONE Bonnet: use `writev` to eliminate copies when adding eth headers.\n\nIn TAP mode, Bonnet needs to take L3 packets decapped from the QUIC connection and deliver them as L2 packets to the kernel.  It does this by prepending an ethernet header to the packet write.\n\nFor bonnet, this header is a fixed dummy header with the MAC of the device as src/dest and proto IPv6 and so can be generated once.  Additionally, instead of copying the payload into a new buffer, we can use `writev` to prepend the fixed header when present.\n\nMost bonnet clients do not use TAP mode, but Borneo is using TAP mode to make passing the device into their TIVM easier.\n\nRemoval of copies from the read path occurred in cl/934614328.\n\nPiperOrigin-RevId: 940562139\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5367127e49cfd03cc982e8621dde941e97211b07",
      "old_mode": 33188,
      "old_path": "quiche/quic/qbone/bonnet/tun_device_packet_exchanger.cc",
      "new_id": "d15c38cab325fc0a3c591b70ba0345ff235636a1",
      "new_mode": 33188,
      "new_path": "quiche/quic/qbone/bonnet/tun_device_packet_exchanger.cc"
    },
    {
      "type": "modify",
      "old_id": "64672262afb3888ceb430418125fa32699461704",
      "old_mode": 33188,
      "old_path": "quiche/quic/qbone/bonnet/tun_device_packet_exchanger.h",
      "new_id": "c953444087b626683f27dc15e9201ce402ecca5c",
      "new_mode": 33188,
      "new_path": "quiche/quic/qbone/bonnet/tun_device_packet_exchanger.h"
    },
    {
      "type": "modify",
      "old_id": "b323f8e292e5a7c2ac81ed771ca6014d547af2ec",
      "old_mode": 33188,
      "old_path": "quiche/quic/qbone/bonnet/tun_device_packet_exchanger_test.cc",
      "new_id": "fd22342f6303d5d79cb0529c60f5196359517d5e",
      "new_mode": 33188,
      "new_path": "quiche/quic/qbone/bonnet/tun_device_packet_exchanger_test.cc"
    },
    {
      "type": "modify",
      "old_id": "c46d22fdaa6044af0a78d3b366d555324a8075fc",
      "old_mode": 33188,
      "old_path": "quiche/quic/qbone/platform/kernel_interface.h",
      "new_id": "9fa2a6f697df6eb609178537c4e30e1cd8ddc22b",
      "new_mode": 33188,
      "new_path": "quiche/quic/qbone/platform/kernel_interface.h"
    },
    {
      "type": "modify",
      "old_id": "612341ba84935d0f56d935da9226cb7f8700952c",
      "old_mode": 33188,
      "old_path": "quiche/quic/qbone/platform/mock_kernel.h",
      "new_id": "370fd19c1bc3fee67bfa3d817928c643ae415513",
      "new_mode": 33188,
      "new_path": "quiche/quic/qbone/platform/mock_kernel.h"
    }
  ]
}
