)]}'
{
  "commit": "c57b2e60d4bf29707c51b39ed3bacbcce2f3ba2e",
  "tree": "45a326abe9435960c33833e666b85332b5138787",
  "parents": [
    "1d6500523b8d5112afe0118173ebc8c1ca23784e"
  ],
  "author": {
    "name": "Haishuang Yan",
    "email": "yanhaishuang@cmss.chinamobile.com",
    "time": "Fri Oct 02 23:30:39 2026 +0800"
  },
  "committer": {
    "name": "Jakub Kicinski",
    "email": "kuba@kernel.org",
    "time": "Wed Oct 07 19:15:08 2026 -0700"
  },
  "message": "bareudp: set the inner protocol to the protocol of the packet\n\nbareudp_xmit_skb() sets the inner protocol of the skb to the configured\nethertype, and bareudp6_xmit_skb() does not set it at all. The inner\nprotocol is used by skb_udp_tunnel_segment() to segment the inner packet\nwhen GSO has to be done in software, for instance when the lower device\ndoes not offload the checksum.\n\nWith multiproto, an IPv4 device also carries IPv6, so the IPv6 header\nis parsed as an IPv4 one. With IPv6 underlay, the inner protocol is\nwhatever the skb had before. In both cases segmentation fails and the\npackets are dropped. With veth tx checksum offload disabled, iperf3 TCP\nover bareudp gets about 10 Mbit/s with thousands of retransmits instead\nof about 700 Mbit/s for IPv6 over IPv4 and for both families over IPv6,\nwhile IPv4 over IPv4 works.\n\nAt this point skb-\u003eprotocol is the protocol of the inner packet, which\nbareudp_xmit() has already checked against the configuration, so use it\non both paths.\n\nFixes: 571912c69f0e (\"net: UDP tunnel encapsulation module for tunnelling different protocols like MPLS, IP, NSH etc.\")\nFixes: 4b5f67232d95 (\"net: Special handling for IP \u0026 MPLS.\")\nSigned-off-by: Haishuang Yan \u003cyanhaishuang@cmss.chinamobile.com\u003e\nReviewed-by: Willem de Bruijn \u003cwillemb@google.com\u003e\nLink: https://patch.msgid.link/20261002153039.462663-1-yanhaishuang@cmss.chinamobile.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c3b5ed52d87789d8b4d1a3e2d41477cbef0d096b",
      "old_mode": 33188,
      "old_path": "drivers/net/bareudp.c",
      "new_id": "b9fe54151e1a74388ce5535cf04e08fef71d98e3",
      "new_mode": 33188,
      "new_path": "drivers/net/bareudp.c"
    }
  ]
}
