)]}'
{
  "log": [
    {
      "commit": "fc6be06cab4327eecac5885f80048e7a57dd28e8",
      "tree": "9dbc992de563019a76d611745795d57cde097af2",
      "parents": [
        "700a8991f05e6e37889101196a531cf82777bdf7",
        "8ed3d1687dc165a81d7013d3cd2cc37217308d62"
      ],
      "author": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Wed Aug 24 08:54:16 2022 -0700"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Wed Aug 24 08:54:16 2022 -0700"
      },
      "message": "Merge branch \u0027devlink-rm-dl_argv_parse_put\u0027 into next\n\nJacob Keller  says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nThis series removes the dl_argv_parse_put function which both parses the\ncommand line arguments and places them into the netlink header.\n\nThis was originally sent as an RFC at\nhttps://lore.kernel.org/netdev/20220805234155.2878160-1-jacob.e.keller@intel.com/\n\nSince there is some ongoing work around policy code being generated from\nYAML, I thought it best to wait on the devlink policy portion of this series\nfor now.\n\nJiri mentioned he wanted to base some work on top of this, so I am sending\njust the cleanup patches.\n\nThe primary motivation for this is due to the fact that dl_argv_parse_put\nrequires a netlink header, meaning a command must have already been\nprepared. This prevents addition of a different netlink command to get the\npolicy data, and thus prevents us from using this variant while checking\nnetlink policy.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "8ed3d1687dc165a81d7013d3cd2cc37217308d62",
      "tree": "9dbc992de563019a76d611745795d57cde097af2",
      "parents": [
        "0ce6ae80c38036b49caf098bd16c0413caff6a17"
      ],
      "author": {
        "name": "Jacob Keller",
        "email": "jacob.e.keller@intel.com",
        "time": "Thu Aug 18 14:15:21 2022 -0700"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Wed Aug 24 08:53:57 2022 -0700"
      },
      "message": "devlink: remove dl_argv_parse_put\n\nThe dl_argv_parse_put function is used to extract arguments from the\ncommand line and convert them to the appropriate netlink attributes. This\nfunction is a combination of calling dl_argv_parse and dl_put_opts.\n\nA future change is going to refactor dl_argv_parse to check the kernel\u0027s\nnetlink policy for the command. This requires issuing another netlink\nmessage which requires calling dl_argv_parse before\nmnlu_gen_socket_cmd_prepare. Otherwise, the get policy command issued in\ndl_argv_parse would overwrite the prepared buffer.\n\nThis conflicts with dl_argv_parse_put which requires being called after\nmnlu_gen_socket_cmd_prepare.\n\nRemove dl_argv_parse_put and replace it with appropriate calls to\ndl_argv_parse and dl_put_opts. This allows us to ensure dl_argv_parse is\ncalled before mnlu_gen_socket_cmd_prepare while dl_put_opts is called\nafterwards.\n\nSigned-off-by: Jacob Keller \u003cjacob.e.keller@intel.com\u003e\nReviewed-by: Jiri Pirko \u003cjiri@nvidia.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "0ce6ae80c38036b49caf098bd16c0413caff6a17",
      "tree": "de6c6c22baaef4ddba28121000df698519e47bf9",
      "parents": [
        "700a8991f05e6e37889101196a531cf82777bdf7"
      ],
      "author": {
        "name": "Jacob Keller",
        "email": "jacob.e.keller@intel.com",
        "time": "Thu Aug 18 14:15:20 2022 -0700"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Wed Aug 24 08:53:55 2022 -0700"
      },
      "message": "devlink: use dl_no_arg instead of checking dl_argc \u003d\u003d 0\n\nUse the helper dl_no_arg function to check for whether the command has any\narguments.\n\nSigned-off-by: Jacob Keller \u003cjacob.e.keller@intel.com\u003e\nReviewed-by: Jiri Pirko \u003cjiri@nvidia.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "700a8991f05e6e37889101196a531cf82777bdf7",
      "tree": "2692348d74cbc8acd12e29df653671c97ed8cebb",
      "parents": [
        "d9305ec5a81ebc0b092d6d985b3869a443a0d03d"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jiri@nvidia.com",
        "time": "Tue Aug 09 15:17:30 2022 +0200"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Sun Aug 14 11:32:29 2022 -0600"
      },
      "message": "devlink: expose nested devlink for a line card object\n\nIf line card object contains a nested devlink, expose it.\n\nExample:\n\n$ devlink lc show pci/0000:01:00.0 lc 1\npci/0000:01:00.0:\n  lc 1 state active type 16x100G nested_devlink auxiliary/mlxsw_core.lc.0\n    supported_types:\n      16x100G\n$ devlink dev show auxiliary/mlxsw_core.lc.0\nauxiliary/mlxsw_core.lc.0\n\nSigned-off-by: Jiri Pirko \u003cjiri@nvidia.com\u003e\nReviewed-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "d9305ec5a81ebc0b092d6d985b3869a443a0d03d",
      "tree": "c65ed436396d2c7a10d8a720686a5376fd541dd4",
      "parents": [
        "d937cb2b0c3ab863c991bf831821b15d12764675",
        "d5fe96ab70928508f072a47449e9b641e46de323"
      ],
      "author": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Sun Aug 14 11:31:10 2022 -0600"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Sun Aug 14 11:31:10 2022 -0600"
      },
      "message": "Merge branch \u0027main\u0027 into next\n\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "d5fe96ab70928508f072a47449e9b641e46de323",
      "tree": "c65ed436396d2c7a10d8a720686a5376fd541dd4",
      "parents": [
        "28c740473510cd911b97cc5d7d23bd809a0f200b"
      ],
      "author": {
        "name": "Khem Raj",
        "email": "raj.khem@gmail.com",
        "time": "Wed Aug 10 22:34:40 2022 -0700"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Fri Aug 12 08:21:09 2022 -0700"
      },
      "message": "configure: Define _GNU_SOURCE when checking for setns\n\nglibc defines this function only as gnu extention\n\nSigned-off-by: Khem Raj \u003craj.khem@gmail.com\u003e\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "28c740473510cd911b97cc5d7d23bd809a0f200b",
      "tree": "3aaa0bc0ff609f60000e06082ac2072c6f0a03e4",
      "parents": [
        "cf6b60c504d4be5e1df2b2745e55d677967831d0"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Tue Aug 09 13:27:33 2022 -0700"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Tue Aug 09 13:27:33 2022 -0700"
      },
      "message": "ipstats: add missing headers\n\nIWYU reports several headers are not explicitly\nincluded by ipstats.\n\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "cf6b60c504d4be5e1df2b2745e55d677967831d0",
      "tree": "ed2af7fa3fba420533d6e7369746f84f8aab57d1",
      "parents": [
        "d937cb2b0c3ab863c991bf831821b15d12764675"
      ],
      "author": {
        "name": "Changhyeok Bae",
        "email": "changhyeok.bae@gmail.com",
        "time": "Tue Aug 09 04:01:05 2022 +0000"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Tue Aug 09 13:26:35 2022 -0700"
      },
      "message": "ipstats: Add param.h for musl\n\nFix build error for musl\n| /usr/src/debug/iproute2/5.19.0-r0/iproute2-5.19.0/ip/ipstats.c:231: undefined reference to `MIN\u0027\n\nSigned-off-by: Changhyeok Bae \u003cchanghyeok.bae@gmail.com\u003e\n"
    },
    {
      "commit": "d937cb2b0c3ab863c991bf831821b15d12764675",
      "tree": "1052437bf4dea6d5aad423beee223ef78a30d75d",
      "parents": [
        "06cb288d63f517e2e11453683fc998321af084df",
        "deb485541f34cc77e5228ab6ba6e1af58014727b"
      ],
      "author": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Thu Aug 04 12:38:31 2022 -0600"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Thu Aug 04 12:38:41 2022 -0600"
      },
      "message": "Merge branch \u0027main\u0027 into next\n\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "06cb288d63f517e2e11453683fc998321af084df",
      "tree": "0720cc3aee08807b82a32e055f5db5cd30aa97ed",
      "parents": [
        "3bb2c10c649d9e2bbc62b5cf637fbc47a98dfdc2"
      ],
      "author": {
        "name": "Vikas Gupta",
        "email": "vikas.gupta@broadcom.com",
        "time": "Thu Aug 04 14:48:02 2022 +0530"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Thu Aug 04 12:34:28 2022 -0600"
      },
      "message": "devlink: add support for running selftests\n\nAdd commands and helper APIs to run selftests.\nInclude a selftest id for a non volatile memory i.e. flash.\nAlso, update the man page and bash-completion for selftests\ncommands.\n\nExamples:\n$ devlink dev selftests run pci/0000:03:00.0 id flash\npci/0000:03:00.0:\n    flash:\n      status passed\n\n$ devlink dev selftests show pci/0000:03:00.0\npci/0000:03:00.0\n      flash\n\n$ devlink dev selftests show pci/0000:03:00.0 -j\n{\"selftests\":{\"pci/0000:03:00.0\":[\"flash\"]}}\n\n$ devlink dev selftests run pci/0000:03:00.0 id flash -j\n{\"selftests\":{\"pci/0000:03:00.0\":{\"flash\":{\"status\":\"passed\"}}}}\n\nSigned-off-by: Vikas Gupta \u003cvikas.gupta@broadcom.com\u003e\nReviewed-by: Jiri Pirko \u003cjiri@nvidia.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "deb485541f34cc77e5228ab6ba6e1af58014727b",
      "tree": "ec64ad37d0f8e117906466412f201ff170b76246",
      "parents": [
        "f8decf82af07591833f89004e9b72cc39c1b5c52"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Tue Aug 02 11:36:33 2022 -0700"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Tue Aug 02 11:36:33 2022 -0700"
      },
      "message": "v5.19.0\n"
    },
    {
      "commit": "3bb2c10c649d9e2bbc62b5cf637fbc47a98dfdc2",
      "tree": "e86b9780c4db3036a8654bb2f38c5f0983bbb15a",
      "parents": [
        "f1d037ab4ad3d4af7b77ae4f8969d658e04b5d3f",
        "f8decf82af07591833f89004e9b72cc39c1b5c52"
      ],
      "author": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Mon Aug 01 09:42:31 2022 -0600"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Mon Aug 01 09:42:31 2022 -0600"
      },
      "message": "Merge branch \u0027main\u0027 into next\n\nConflicts:\n\tvdpa/include/uapi/linux/vdpa.h\n\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "f1d037ab4ad3d4af7b77ae4f8969d658e04b5d3f",
      "tree": "96983040be869d700cb3d5fe4622161071ddc7dd",
      "parents": [
        "3f980c65d231c563533382a379bb961b6c40a54c"
      ],
      "author": {
        "name": "Paolo Lungaroni",
        "email": "paolo.lungaroni@uniroma2.it",
        "time": "Wed Jul 27 20:59:15 2022 +0200"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Mon Aug 01 09:15:07 2022 -0600"
      },
      "message": "seg6: add support for SRv6 Headend Reduced Encapsulation\n\nThis patch adds the support for the reduced version of the H.Encaps and\nH.L2Encaps behaviors as defined in RFC 8986 [1].\n\nH.Encaps.Red and H.L2Encaps.Red SRv6 behaviors are an optimization of the\nH.Encaps and H.L2Encaps aiming to reduce the length of the SID List carried\nin the pushed SRH. Specifically, the reduced version of the behaviors\nremoves the first SID contained in the SID List (i.e. SRv6 Policy) by\nstoring it into the IPv6 Destination Address. When SRv6 Policy is made of\nonly one SID, the reduced version of the behaviors omits the SRH at all and\npushes that SID directly into the IPv6 DA.\n\nSome examples:\nip -6 route add 2001:db8::1 encap seg6 mode encap.red segs fcf0:1::e,fcf0:2::d6 dev eth0\nip -6 route add 2001:db8::2 encap seg6 mode l2encap.red segs fcf0:1::d2 dev eth0\n\nStandard Output:\nip -6 route show 2001:db8::1\n2001:db8::1  encap seg6 mode encap.red segs 2 [ fcf0:1::e fcf0:2::d6 ] dev eth0 metric 1024 pref medium\n\nJSON Output:\nip -6 -j -p route show 2001:db8::1\n[ {\n        \"dst\": \"2001:db8::1\",\n        \"encap\": \"seg6\",\n        \"mode\": \"encap.red\",\n        \"segs\": [ \"fcf0:1::e\",\"fcf0:2::d6\" ],\n        \"dev\": \"eth0\",\n        \"metric\": 1024,\n        \"flags\": [ ],\n        \"pref\": \"medium\"\n    } ]\n\n[1] - https://datatracker.ietf.org/doc/html/rfc8986\n\nSigned-off-by: Paolo Lungaroni \u003cpaolo.lungaroni@uniroma2.it\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "3f980c65d231c563533382a379bb961b6c40a54c",
      "tree": "2d5c10b21168f4ddc547bec9e1ea483e8c9f18cf",
      "parents": [
        "66aed67f96b9f18fd5d38cceed5c3ecf798588a7"
      ],
      "author": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Sat Jul 30 10:29:01 2022 -0600"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Sat Jul 30 10:29:01 2022 -0600"
      },
      "message": "Update kernel headers\n\nUpdate kernel headers to commit\n63757225a933 (\"Merge tag \u0027mlx5-updates-2022-07-28\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux\")\n\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "66aed67f96b9f18fd5d38cceed5c3ecf798588a7",
      "tree": "adbb0740e2d39c9a13a45ce600cf91e33ed6bbca",
      "parents": [
        "876e792412fd3e8e2d3338a5d36cbb1e4f2b5a4e",
        "e3e17c25f6291a03714f921ad9e9a4615246bf91"
      ],
      "author": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Fri Jul 29 11:25:14 2022 -0600"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Fri Jul 29 11:25:14 2022 -0600"
      },
      "message": "Merge branch \u0027pppoe-in-flower\u0027 into next\n\nWojciech Drewek  says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nThis patchset implements support for matching\non PPPoE specific fields using tc-flower.\nFirst patch introduces small refactor which allows\nto use same mechanism of finding protocol for\nboth ppp and ether protocols. Second patch\nadds support for parsing ppp protocols.\nLast patch is about parsing PPPoE fields.\n\nKernel changes (merged):\nhttps://lore.kernel.org/netdev/20220726203133.2171332-1-anthony.l.nguyen@intel.com/T/#t\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "e3e17c25f6291a03714f921ad9e9a4615246bf91",
      "tree": "adbb0740e2d39c9a13a45ce600cf91e33ed6bbca",
      "parents": [
        "5a56804ce1d4539d14f8fb44178e499a7ae2aa74"
      ],
      "author": {
        "name": "Wojciech Drewek",
        "email": "wojciech.drewek@intel.com",
        "time": "Fri Jul 29 10:50:35 2022 +0200"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Fri Jul 29 11:23:22 2022 -0600"
      },
      "message": "f_flower: Introduce PPPoE support\n\nIntroduce PPPoE specific fields in tc-flower:\n- session id (16 bits)\n- ppp protocol (16 bits)\nThose fields can be provided only when protocol was set to\nETH_P_PPP_SES. ppp_proto works similar to vlan_ethtype, i.e.\nppp_proto overwrites eth_type. Thanks to that, fields from\nencapsulated protocols (such as src_ip) can be specified.\n\ne.g.\n  # tc filter add dev ens6f0 ingress prio 1 protocol ppp_ses \\\n      flower \\\n        pppoe_sid 1234 \\\n        ppp_proto ip \\\n        dst_ip 127.0.0.1 \\\n        src_ip 127.0.0.2 \\\n      action drop\n\nVlan and cvlan is also supported, in this case cvlan_ethtype\nor vlan_ethtype has to be set to ETH_P_PPP_SES.\n\ne.g.\n  # tc filter add dev ens6f0 ingress prio 1 protocol 802.1Q \\\n      flower \\\n        vlan_id 2 \\\n        vlan_ethtype ppp_ses \\\n        pppoe_sid 1234 \\\n        ppp_proto ip \\\n        dst_ip 127.0.0.1 \\\n        src_ip 127.0.0.2 \\\n      action drop\n\nSigned-off-by: Wojciech Drewek \u003cwojciech.drewek@intel.com\u003e\nAcked-by: Guillaume Nault \u003cgnault@redhat.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "5a56804ce1d4539d14f8fb44178e499a7ae2aa74",
      "tree": "e7e01d6befffb62968d41bfaa1858cd240ae4f52",
      "parents": [
        "653c7517fd0853870eef78bec43f87b75771f4b7"
      ],
      "author": {
        "name": "Wojciech Drewek",
        "email": "wojciech.drewek@intel.com",
        "time": "Fri Jul 29 10:50:34 2022 +0200"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Fri Jul 29 11:22:42 2022 -0600"
      },
      "message": "lib: Introduce ppp protocols\n\nPPP protocol field uses different values than ethertype. Introduce\nutilities for translating PPP protocols from strings to values\nand vice versa. Use generic API from utils in order to get\nproto id and name.\n\nSigned-off-by: Wojciech Drewek \u003cwojciech.drewek@intel.com\u003e\nAcked-by: Guillaume Nault \u003cgnault@redhat.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "653c7517fd0853870eef78bec43f87b75771f4b7",
      "tree": "a05dd69bff08c35b9af65809d2be5c9f722e5c5f",
      "parents": [
        "876e792412fd3e8e2d3338a5d36cbb1e4f2b5a4e"
      ],
      "author": {
        "name": "Wojciech Drewek",
        "email": "wojciech.drewek@intel.com",
        "time": "Fri Jul 29 10:50:33 2022 +0200"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Fri Jul 29 11:22:42 2022 -0600"
      },
      "message": "lib: refactor ll_proto functions\n\nMove core logic of ll_proto_n2a and ll_proto_a2n\nto utils.c and make it more generic by allowing to\npass table of protocols as argument (proto_tb).\nIntroduce struct proto with protocol ID and name to\nallow this. This wil allow to use those functions by\nother use cases.\n\nSigned-off-by: Wojciech Drewek \u003cwojciech.drewek@intel.com\u003e\nAcked-by: Guillaume Nault \u003cgnault@redhat.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "876e792412fd3e8e2d3338a5d36cbb1e4f2b5a4e",
      "tree": "7b543da3180fdf97ee1813896cb6a99934593b5e",
      "parents": [
        "48803fded26ce7fdc4beae469a5e278122fc3356"
      ],
      "author": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Fri Jul 29 11:21:52 2022 -0600"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Fri Jul 29 11:21:52 2022 -0600"
      },
      "message": "Import posix_types.h uapi file from point of last kernel headers sync\n\n__kernel_old_time_t definition is needed for pppoe-in-flower patches.\n\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "48803fded26ce7fdc4beae469a5e278122fc3356",
      "tree": "8392c8cc673355d403503df5a91dba206e187773",
      "parents": [
        "4cb0bec3744ac4f8d21de0e769f170e4059c6b9e"
      ],
      "author": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Thu Jul 28 16:15:24 2022 -0600"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Thu Jul 28 16:20:46 2022 -0600"
      },
      "message": "Import ppp_defs.h uapi file from point of last kernel headers sync\n\nppp_defs header file is needed by PPPoE in flower support.\n\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "f8decf82af07591833f89004e9b72cc39c1b5c52",
      "tree": "7ad6aee9fadf50da6be0f6ea6aea1be0f8f0056b",
      "parents": [
        "71178ae0ff0bbb898aed7d89c1c14e8de8315304"
      ],
      "author": {
        "name": "Juhee Kang",
        "email": "claudiajkang@gmail.com",
        "time": "Tue Jul 19 00:58:27 2022 +0900"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Mon Jul 25 12:07:16 2022 -0700"
      },
      "message": "bpf_glue: include errno.h\n\nIf __NR_bpf is not enabled, bpf() function set errno and return -1. Thus,\nthis patch includes the header.\n\nFixes: ac4e0913beb1 (\"bpf: Export bpf syscall wrapper\")\nSigned-off-by: Juhee Kang \u003cclaudiajkang@gmail.com\u003e\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "4cb0bec3744ac4f8d21de0e769f170e4059c6b9e",
      "tree": "642ff9f38a607c195f980b48849549e4ad516cc8",
      "parents": [
        "63394af8b1ccd57a38fa22dffee97b2c560c335f"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jiri@nvidia.com",
        "time": "Sat Jul 16 13:24:51 2022 +0200"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Thu Jul 21 09:19:40 2022 -0600"
      },
      "message": "devlink: add support for linecard show and type set\n\nIntroduce a new object \"lc\" to add devlink support for line cards with\ntwo commands:\nshow - to get the info about the line card state, list of supported\n       types as reported by kernel/driver.\nset - to set/clear the line card type.\n\nExample:\n$ devlink lc\npci/0000:01:00.0:\n  lc 1 state unprovisioned\n    supported_types:\n       16x100G\n  lc 2 state unprovisioned\n    supported_types:\n       16x100G\n  lc 3 state unprovisioned\n    supported_types:\n       16x100G\n  lc 4 state unprovisioned\n    supported_types:\n       16x100G\n  lc 5 state unprovisioned\n    supported_types:\n       16x100G\n  lc 6 state unprovisioned\n    supported_types:\n       16x100G\n  lc 7 state unprovisioned\n    supported_types:\n       16x100G\n  lc 8 state unprovisioned\n    supported_types:\n       16x100G\n\nTo provision the slot #8:\n\n$ devlink lc set pci/0000:01:00.0 lc 8 type 16x100G\n$ devlink lc show pci/0000:01:00.0 lc 8\npci/0000:01:00.0:\n  lc 8 state active type 16x100G\n    supported_types:\n       16x100G\n\nTo uprovision the slot #8:\n\n$ devlink lc set pci/0000:01:00.0 lc 8 notype\n\nSigned-off-by: Jiri Pirko \u003cjiri@nvidia.com\u003e\nReviewed-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "63394af8b1ccd57a38fa22dffee97b2c560c335f",
      "tree": "c45c170b61eb3af396e13c727ca0823777ae0df1",
      "parents": [
        "50ec8f05f8cbbf9b1133a752b03108334aa43aaa"
      ],
      "author": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Thu Jul 21 09:16:51 2022 -0600"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Thu Jul 21 09:16:51 2022 -0600"
      },
      "message": "Update kernel headers\n\nUpdate kernel headers to commit:\n    5588d6280270 (\"net/cdc_ncm: Increase NTB max RX/TX values to 64kb\")\n\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "50ec8f05f8cbbf9b1133a752b03108334aa43aaa",
      "tree": "4ccf73536bc65b7117c2afe27f064abfc5de5a35",
      "parents": [
        "77b3a84e8fbeaf3a4fde8011ff761c1fe8ac0f31"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "elic@nvidia.com",
        "time": "Thu Jul 21 09:00:07 2022 +0300"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Thu Jul 21 09:09:07 2022 -0600"
      },
      "message": "vdpa: Update man page to include vdpa statistics\n\nUpdate the man page to include vdpa statistics information inroduce in\n6f97e9c9337b (\"vdpa: Add support for reading vdpa device statistics\")\n\nSigned-off-by: Eli Cohen \u003celic@nvidia.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "71178ae0ff0bbb898aed7d89c1c14e8de8315304",
      "tree": "b57919cf2dd9aaf60ccb0388863c6f207a0bb0d6",
      "parents": [
        "96594fd2364a61604cc9cbf42a12be6a492be0cb"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Mon Jul 18 09:58:28 2022 -0700"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Mon Jul 18 09:58:28 2022 -0700"
      },
      "message": "rdma: update uapi/ib_user_verbs.h\n\nUpdate from 5.19-rc7\n\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "96594fd2364a61604cc9cbf42a12be6a492be0cb",
      "tree": "de9c33cb31780693da34e166256d0f92e528059f",
      "parents": [
        "30c7b77f504ca64ad06818a5c6090aa1314bf5cc"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Mon Jul 18 09:56:57 2022 -0700"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Mon Jul 18 09:56:57 2022 -0700"
      },
      "message": "vdpa: update uapi headers from 5.19-rc7\n\nKeep VDPA sanitized headers up to current kernel.\n\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "30c7b77f504ca64ad06818a5c6090aa1314bf5cc",
      "tree": "a015706c5f864ad1fe68c856b1e77a348e112328",
      "parents": [
        "c5433c4b7a57d380f4cb351316f5ba5ebae9538e"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Mon Jul 18 09:50:58 2022 -0700"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Mon Jul 18 09:50:58 2022 -0700"
      },
      "message": "Revert \"uapi: add vdpa.h\"\n\nThis reverts commit 291898c5ff881d0dc5d947031def0528101476cb.\n"
    },
    {
      "commit": "c5433c4b7a57d380f4cb351316f5ba5ebae9538e",
      "tree": "e1d8245f8726f6507d0276258fc2aab0333c030a",
      "parents": [
        "2cb76253ed852559a4f2b315f5e23457a15d71e5"
      ],
      "author": {
        "name": "Benjamin Poirier",
        "email": "bpoirier@nvidia.com",
        "time": "Mon Jul 11 08:52:54 2022 +0900"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Mon Jul 18 09:46:24 2022 -0700"
      },
      "message": "ip neigh: Fix memory leak when doing \u0027get\u0027\n\nWith the following command sequence:\n\nip link add dummy0 type dummy\nip neigh add 192.168.0.1 dev dummy0\nip neigh get 192.168.0.1 dev dummy0\n\nwhen running the last command under valgrind, it reports\n\n32,768 bytes in 1 blocks are definitely lost in loss record 2 of 2\n   at 0x483F7B5: malloc (vg_replace_malloc.c:381)\n   by 0x17A0EC: rtnl_recvmsg (libnetlink.c:838)\n   by 0x17A3D1: __rtnl_talk_iov.constprop.0 (libnetlink.c:1040)\n   by 0x17B894: __rtnl_talk (libnetlink.c:1141)\n   by 0x17B894: rtnl_talk (libnetlink.c:1147)\n   by 0x12E49B: ipneigh_get (ipneigh.c:728)\n   by 0x1174CB: do_cmd (ip.c:136)\n   by 0x116F7C: main (ip.c:324)\n\nFree the answer obtained from rtnl_talk().\n\nFixes: 62842362370b (\"ipneigh: neigh get support\")\nSuggested-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nReviewed-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nSigned-off-by: Benjamin Poirier \u003cbpoirier@nvidia.com\u003e\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "2cb76253ed852559a4f2b315f5e23457a15d71e5",
      "tree": "28202d651872a119327aeb91ce314bd122aff63c",
      "parents": [
        "afdbb0204a5872f1f76058a0db5a529b1f0c8de7"
      ],
      "author": {
        "name": "Benjamin Poirier",
        "email": "bpoirier@nvidia.com",
        "time": "Mon Jul 11 08:52:53 2022 +0900"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Mon Jul 18 09:46:24 2022 -0700"
      },
      "message": "mptcp: Fix memory leak when getting limits\n\nWhen running the command `ip mptcp limits` under valgrind, it reports\n\n32,768 bytes in 1 blocks are definitely lost in loss record 1 of 1\n   at 0x483F7B5: malloc (vg_replace_malloc.c:381)\n   by 0x17A0BC: rtnl_recvmsg (libnetlink.c:838)\n   by 0x17A3A1: __rtnl_talk_iov.constprop.0 (libnetlink.c:1040)\n   by 0x17B864: __rtnl_talk (libnetlink.c:1141)\n   by 0x17B864: rtnl_talk (libnetlink.c:1147)\n   by 0x16837D: mptcp_limit_get_set (ipmptcp.c:436)\n   by 0x1174CB: do_cmd (ip.c:136)\n   by 0x116F7C: main (ip.c:324)\n\nFree the answer obtained from rtnl_talk().\n\nFixes: 7e0767cd862b (\"add support for mptcp netlink interface\")\nSuggested-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nReviewed-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nSigned-off-by: Benjamin Poirier \u003cbpoirier@nvidia.com\u003e\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "afdbb0204a5872f1f76058a0db5a529b1f0c8de7",
      "tree": "16f0e409ffc46e39705b99202308ec0a8b4d70b2",
      "parents": [
        "6db01afd60748afbba114be2773be338c5be28ff"
      ],
      "author": {
        "name": "Benjamin Poirier",
        "email": "bpoirier@nvidia.com",
        "time": "Mon Jul 11 08:52:52 2022 +0900"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Mon Jul 18 09:46:24 2022 -0700"
      },
      "message": "mptcp: Fix memory leak when doing \u0027endpoint show\u0027\n\nWith the following command sequence:\n\nip mptcp endpoint add 127.0.0.1 id 1\nip mptcp endpoint show id 1\n\nwhen running the last command under valgrind, it reports\n\n32,768 bytes in 1 blocks are definitely lost in loss record 2 of 2\n   at 0x483F7B5: malloc (vg_replace_malloc.c:381)\n   by 0x17A0AC: rtnl_recvmsg (libnetlink.c:838)\n   by 0x17A391: __rtnl_talk_iov.constprop.0 (libnetlink.c:1040)\n   by 0x17B854: __rtnl_talk (libnetlink.c:1141)\n   by 0x17B854: rtnl_talk (libnetlink.c:1147)\n   by 0x168A56: mptcp_addr_show (ipmptcp.c:334)\n   by 0x1174CB: do_cmd (ip.c:136)\n   by 0x116F7C: main (ip.c:324)\n\nFree the answer obtained from rtnl_talk().\n\nFixes: 7e0767cd862b (\"add support for mptcp netlink interface\")\nSuggested-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nReviewed-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nSigned-off-by: Benjamin Poirier \u003cbpoirier@nvidia.com\u003e\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "6db01afd60748afbba114be2773be338c5be28ff",
      "tree": "79aacd29306e02f6ca403964a75a026ae8188337",
      "parents": [
        "1d540336b026ed5bfe10eefac383db7f434d842f"
      ],
      "author": {
        "name": "Benjamin Poirier",
        "email": "bpoirier@nvidia.com",
        "time": "Mon Jul 11 08:52:51 2022 +0900"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Mon Jul 18 09:46:24 2022 -0700"
      },
      "message": "bridge: Fix memory leak when doing \u0027fdb get\u0027\n\nWith the following command sequence:\n\nip link add br0 up type bridge\nip link add dummy0 up address 02:00:00:00:00:01 master br0 type dummy\nbridge fdb get 02:00:00:00:00:01 br br0\n\nwhen running the last command under valgrind, it reports\n\n32,768 bytes in 1 blocks are definitely lost in loss record 2 of 2\n   at 0x483F7B5: malloc (vg_replace_malloc.c:381)\n   by 0x11C1EC: rtnl_recvmsg (libnetlink.c:838)\n   by 0x11C4D1: __rtnl_talk_iov.constprop.0 (libnetlink.c:1040)\n   by 0x11D994: __rtnl_talk (libnetlink.c:1141)\n   by 0x11D994: rtnl_talk (libnetlink.c:1147)\n   by 0x10D336: fdb_get (fdb.c:652)\n   by 0x48907FC: (below main) (libc-start.c:332)\n\nFree the answer obtained from rtnl_talk().\n\nFixes: 4ed5ad7bd3c6 (\"bridge: fdb get support\")\nReported-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nReviewed-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nSigned-off-by: Benjamin Poirier \u003cbpoirier@nvidia.com\u003e\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "1d540336b026ed5bfe10eefac383db7f434d842f",
      "tree": "80fa63d9526cce5637d2cea145c51470b1eba959",
      "parents": [
        "325f706ba7087b0aee6d66160fc1305d172e1e83"
      ],
      "author": {
        "name": "Benjamin Poirier",
        "email": "bpoirier@nvidia.com",
        "time": "Mon Jul 11 08:52:50 2022 +0900"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Mon Jul 18 09:46:24 2022 -0700"
      },
      "message": "ip address: Fix memory leak when specifying device\n\nRunning a command like `ip addr show dev lo` under valgrind informs us that\n\n32,768 bytes in 1 blocks are definitely lost in loss record 4 of 4\n   at 0x483577F: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)\n   by 0x16CBE2: rtnl_recvmsg (libnetlink.c:775)\n   by 0x16CF04: __rtnl_talk_iov (libnetlink.c:954)\n   by 0x16E257: __rtnl_talk (libnetlink.c:1059)\n   by 0x16E257: rtnl_talk (libnetlink.c:1065)\n   by 0x115CB1: ipaddr_link_get (ipaddress.c:1833)\n   by 0x11A0D1: ipaddr_list_flush_or_save (ipaddress.c:2030)\n   by 0x1152EB: do_cmd (ip.c:115)\n   by 0x114D6F: main (ip.c:321)\n\nAfter calling store_nlmsg(), the original buffer should be freed. That is\nthe pattern used elsewhere through the rtnl_dump_filter() call chain.\n\nFixes: 884709785057 (\"ip address: Set device index in dump request\")\nReported-by: Binu Gopalakrishnapillai \u003cbinug@nvidia.com\u003e\nReviewed-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nSigned-off-by: Benjamin Poirier \u003cbpoirier@nvidia.com\u003e\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "325f706ba7087b0aee6d66160fc1305d172e1e83",
      "tree": "8e64a57e3e436be9115983fa2e71dca68ecf6be1",
      "parents": [
        "291898c5ff881d0dc5d947031def0528101476cb"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Mon Jul 18 09:33:52 2022 -0700"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Mon Jul 18 09:33:52 2022 -0700"
      },
      "message": "uapi: add virtio_ring.h\n\nWhen vdpa was updated, it included linux/virtio_ring.h but that\nsanitized header file was not added.\n\nFixes: bd91c7647189 (\"vdpa: Allow for printing negotiated features of a device\")\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "291898c5ff881d0dc5d947031def0528101476cb",
      "tree": "d0483a1bfb0323e7ab10a531a7fc8c50c446168b",
      "parents": [
        "6e2fb80439d522aa2cf39d306f4051a578bbd722"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Mon Jul 18 09:29:45 2022 -0700"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Mon Jul 18 09:29:45 2022 -0700"
      },
      "message": "uapi: add vdpa.h\n\nIproute2 depends on kernel headers and all necessary kernel headers\nshould be in iproute tree.\n\nFixes: c2ecc82b9d4c (\"vdpa: Add vdpa tool\")\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "6e2fb80439d522aa2cf39d306f4051a578bbd722",
      "tree": "69f965c8622c7ea36d77deeb9bb624f305d1a2ff",
      "parents": [
        "329fda1861560b06e60a7bd1004647bb65708295"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Sat Jul 16 09:55:07 2022 -0700"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Sat Jul 16 09:55:07 2022 -0700"
      },
      "message": "uapi: update bpf.h\n\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "77b3a84e8fbeaf3a4fde8011ff761c1fe8ac0f31",
      "tree": "19ae00e18265c736e2b2e56eacf5cac092cfdce6",
      "parents": [
        "ce4807f4437a95ed38290e465148a28e28e914b0"
      ],
      "author": {
        "name": "Hangbin Liu",
        "email": "liuhangbin@gmail.com",
        "time": "Tue Jul 05 12:25:01 2022 +0800"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Fri Jul 08 09:09:13 2022 -0600"
      },
      "message": "libbpf: add xdp program name support\n\nIn bpf program, only the program name is unique. Before this patch, if there\nare multiple programs with the same section name, only the first program\nwill be attached. With program name support, users could specify the exact\nprogram they want to attach.\n\nNote this feature is only supported when iproute2 build with libbpf.\n\nSigned-off-by: Hangbin Liu \u003cliuhangbin@gmail.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "ce4807f4437a95ed38290e465148a28e28e914b0",
      "tree": "67cc7f5157f5f63d4231080c17c88b342eef7e98",
      "parents": [
        "e903fdfb560ec3ae44df788f1878d0c81b2d5327"
      ],
      "author": {
        "name": "Petr Machata",
        "email": "petrm@nvidia.com",
        "time": "Tue Jun 28 12:19:11 2022 +0200"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Wed Jul 06 08:47:58 2022 -0600"
      },
      "message": "ip: Fix rx_otherhost_dropped support\n\nThe commit cited below added a new column to print_stats64(). However it\nthen updated only one size_columns() call site, neglecting to update the\nremaining three. As a result, in those not-updated invocations,\nsize_columns() now accesses a vararg argument that is not being passed,\nwhich is undefined behavior.\n\nFixes: cebf67a35d8a (\"show rx_otherehost_dropped stat in ip link show\")\nCC: Tariq Toukan \u003ctariqt@nvidia.com\u003e\nCC: Itay Aveksis \u003citayav@nvidia.com\u003e\nSigned-off-by: Petr Machata \u003cpetrm@nvidia.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "e903fdfb560ec3ae44df788f1878d0c81b2d5327",
      "tree": "39467aa071c7be38a649d11ce4a19961adc6aa34",
      "parents": [
        "37f3cb9be0617756699563a434465101f7b69285",
        "329fda1861560b06e60a7bd1004647bb65708295"
      ],
      "author": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Wed Jul 06 08:46:12 2022 -0600"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Wed Jul 06 08:46:12 2022 -0600"
      },
      "message": "Merge branch \u0027main\u0027 into next\n\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "329fda1861560b06e60a7bd1004647bb65708295",
      "tree": "8ea593c28e521f0065ff0303f98627616d69ffab",
      "parents": [
        "2a00a4b1e9d8341cc8e5b66131a7632587baa825"
      ],
      "author": {
        "name": "Petr Machata",
        "email": "petrm@nvidia.com",
        "time": "Tue Jun 28 12:17:31 2022 +0200"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Tue Jul 05 09:09:43 2022 -0700"
      },
      "message": "ip: Fix size_columns() invocation that passes a 32-bit quantity\n\nIn print_stats64(), the last size_columns() invocation passes number of\ncarrier changes as one of the arguments. The value is decoded as a 32-bit\nquantity, but size_columns() expects a 64-bit one. This is undefined\nbehavior.\n\nThe reason valgrind does not cite this is that the previous size_columns()\ninvocations prime the ABI area used for the value transfer. When these\nother invocations are commented away, valgrind does complain that\n\"conditional jump or move depends on uninitialised value\", as would be\nexpected.\n\nFixes: 49437375b6c1 (\"ip: dynamically size columns when printing stats\")\nSigned-off-by: Petr Machata \u003cpetrm@nvidia.com\u003e\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "2a00a4b1e9d8341cc8e5b66131a7632587baa825",
      "tree": "afc0b35bf4c242617fcbaa787d31167160da8541",
      "parents": [
        "6bf5abef42b2a8040cd935aa701d1ffb83f889a2"
      ],
      "author": {
        "name": "Yuki Inoguchi",
        "email": "inoguchi.yuki@fujitsu.com",
        "time": "Tue Jun 28 19:12:51 2022 +0900"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Tue Jul 05 09:09:25 2022 -0700"
      },
      "message": "man: tc-fq_codel: add drop_batch\n\nLet\u0027s describe the drop_batch parameter added to tc command\nby Commit 7868f802e2d9 (\"tc: fq_codel: add drop_batch parameter\")\n\nSigned-off-by: Yuki Inoguchi \u003cinoguchi.yuki@fujitsu.com\u003e\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "6bf5abef42b2a8040cd935aa701d1ffb83f889a2",
      "tree": "b257285cefb64631295d9e345f1b18a7832f9110",
      "parents": [
        "024103923a5c826e40c993be4ee2ada5536cb66a"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Fri Jul 01 16:46:13 2022 -0700"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Fri Jul 01 16:46:13 2022 -0700"
      },
      "message": "uapi: update mptcp.h\n\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "37f3cb9be0617756699563a434465101f7b69285",
      "tree": "ebdeec162a6abc97c155c7767b74be91bbb1efb5",
      "parents": [
        "a10a197d715d9a9671b3c6ea0d26471875754fd7",
        "024103923a5c826e40c993be4ee2ada5536cb66a"
      ],
      "author": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Fri Jul 01 08:39:43 2022 -0600"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Fri Jul 01 08:39:43 2022 -0600"
      },
      "message": "Merge branch \u0027main\u0027 into next\n\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "024103923a5c826e40c993be4ee2ada5536cb66a",
      "tree": "810a50065320dfc66311d523bf5d566cf7d98cfd",
      "parents": [
        "ed243312e4068442427ad3ba9e13f70196657f1a"
      ],
      "author": {
        "name": "Petr Machata",
        "email": "petrm@nvidia.com",
        "time": "Mon Jun 27 15:18:21 2022 +0200"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Mon Jun 27 12:42:11 2022 -0700"
      },
      "message": "ip: Fix size_columns() for very large values\n\nFor values near the 64-bit boundary, the iterative application of\npowi *\u003d 10 causes powi to overflow without the termination condition of\npowi \u003e\u003d val having ever been satisfied. Instead, when determining the\nlength of the number, iterate val /\u003d 10 and terminate when it\u0027s a single\ndigit.\n\nFixes: 49437375b6c1 (\"ip: dynamically size columns when printing stats\")\nCC: Tariq Toukan \u003ctariqt@nvidia.com\u003e\nCC: Itay Aveksis \u003citayav@nvidia.com\u003e\nSigned-off-by: Petr Machata \u003cpetrm@nvidia.com\u003e\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "a10a197d715d9a9671b3c6ea0d26471875754fd7",
      "tree": "0dec4fc05540a34b6e807daf0a1074f97a1babff",
      "parents": [
        "3a2e127fcc1105be7789c0da74c5b16feeedbdda"
      ],
      "author": {
        "name": "Hangbin Liu",
        "email": "liuhangbin@gmail.com",
        "time": "Tue Jun 21 15:51:05 2022 +0800"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Sun Jun 26 11:23:19 2022 -0600"
      },
      "message": "iplink: bond_slave: add per port prio support\n\nAdd per port priority support for active slave re-selection during\nbonding failover. A higher number means higher priority.\n\nThis option is only valid for active-backup(1), balance-tlb (5) and\nbalance-alb (6) mode.\n\nSigned-off-by: Hangbin Liu \u003cliuhangbin@gmail.com\u003e\nAcked-by: Jonathan Toppins \u003cjtoppins@redhat.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "3a2e127fcc1105be7789c0da74c5b16feeedbdda",
      "tree": "7bbe6a11409706da4d9603fb5f864ff5a0ae842d",
      "parents": [
        "6f97e9c9337b9c083ea0719b633622bcfef5d77b"
      ],
      "author": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Sun Jun 26 11:13:08 2022 -0600"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Sun Jun 26 11:13:08 2022 -0600"
      },
      "message": "Update kernel headers\n\nUpdate kernel headers to commit:\n    ebeae54d3a77 (\"net: pcs: xpcs: depends on PHYLINK in Kconfig\")\n\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "ed243312e4068442427ad3ba9e13f70196657f1a",
      "tree": "5a54bbd08c21775172302c0872bc76e68164f450",
      "parents": [
        "2bb37e90177cae1b92284a943123b0575505141f"
      ],
      "author": {
        "name": "Andrea Claudi",
        "email": "aclaudi@redhat.com",
        "time": "Tue Jun 21 18:59:06 2022 +0200"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Tue Jun 21 15:35:58 2022 -0700"
      },
      "message": "man: tc-ct.8: fix example\n\ntc-ct manpage provides a wrong command to add an ingress qdisc to an\ninterface:\n\n$ tc qdisc add dev eth0 handle ingress\nError: argument \"ingress\" is wrong: invalid qdisc ID\n\nFix it removing the useless \"handle\" keyword.\n\nFixes: 924c43778a84 (\"man: tc-ct.8: Add manual page for ct tc action\")\nSigned-off-by: Andrea Claudi \u003caclaudi@redhat.com\u003e\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "2bb37e90177cae1b92284a943123b0575505141f",
      "tree": "1bae2e418271ac298172f2f19fb7afac69fb43ff",
      "parents": [
        "710d3ab2ceb07ffa27b9c52f7a5dac0460269686"
      ],
      "author": {
        "name": "Andrea Claudi",
        "email": "aclaudi@redhat.com",
        "time": "Tue Jun 21 18:53:08 2022 +0200"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Tue Jun 21 15:35:29 2022 -0700"
      },
      "message": "l2tp: fix typo in AF_INET6 checksum JSON print\n\nIn print_tunnel json output, a typo makes it impossible to know the\nvalue of udp6_csum_rx, printing instead udp6_csum_tx two times.\n\nFixed getting rid of the typo.\n\nFixes: 98453b65800f (\"ip/l2tp: add JSON support\")\nSigned-off-by: Andrea Claudi \u003caclaudi@redhat.com\u003e\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "710d3ab2ceb07ffa27b9c52f7a5dac0460269686",
      "tree": "57a6a6c41d7f949f6672c65e7b8ef6b7c24c6d68",
      "parents": [
        "855edb3dab17e0484099bf969b6609c38d1e1a52",
        "4044a4539e2b9c1547bf007a71782c30526e0246"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Tue Jun 21 15:35:03 2022 -0700"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Tue Jun 21 15:35:03 2022 -0700"
      },
      "message": "Merge branch \u0027lgtm\u0027\n"
    },
    {
      "commit": "855edb3dab17e0484099bf969b6609c38d1e1a52",
      "tree": "b5d0f7012dc37bd25e2915d83e0ffb2c3e2b6405",
      "parents": [
        "703f2de6f59f97d40a7028350061c72d36d9d5bd"
      ],
      "author": {
        "name": "Yuki Inoguchi",
        "email": "inoguchi.yuki@fujitsu.com",
        "time": "Fri Jun 17 18:28:12 2022 +0900"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Tue Jun 21 15:34:18 2022 -0700"
      },
      "message": "man: tc-fq_codel: Fix a typo.\n\nIn tc-fq_codel man page, \"length .B interval\" should be \"length interval.\"\n\nSigned-off-by: Yuki Inoguchi \u003cinoguchi.yuki@fujitsu.com\u003e\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "6f97e9c9337b9c083ea0719b633622bcfef5d77b",
      "tree": "9eb18f1687e661f5c3ce0f70cc929e9907b5c9a4",
      "parents": [
        "bfffaf1360916a5acc80c96008cb70b038476e00"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "elic@nvidia.com",
        "time": "Wed Jun 15 06:46:16 2022 +0300"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Sun Jun 19 10:09:32 2022 -0600"
      },
      "message": "vdpa: Add support for reading vdpa device statistics\n\nRead statistics of a vdpa device. The specific data is a received as a\npair of attribute name and attribute value.\n\nExamples:\n1. Read statistics for the virtqueue at index 1\n\n$ vdpa dev vstats show vdpa-a qidx 1\nvdpa-a:\nvdpa-a: queue_type tx received_desc 321812 completed_desc 321812\n\n2. Read statistics for the virtqueue at index 16\n$ vdpa dev vstats show vdpa-a qidx 16\nvdpa-a: queue_type control_vq received_desc 17 completed_desc 17\n\n3. Read statisitics for the virtqueue at index 0 with json output\n$ vdpa -j dev vstats show vdpa-a qidx 0\n{\"vstats\":{\"vdpa-a\":{\"queue_type\":\"rx\",\"received_desc\":114855,\"completed_desc\":114617}}}\n\n4. Read statistics for the virtqueue at index 0 with preety json\n   output\n$ vdpa -jp dev vstats show vdpa-a qidx 0\nvdpa -jp dev vstats show vdpa-a qidx 0\n{\n    \"vstats\": {\n        \"vdpa-a\": {\n            \"queue_type\": \"rx\",\n            \"received_desc\": 114855,\n            \"completed_desc\": 114617\n        }\n    }\n}\n\nSigned-off-by: Eli Cohen \u003celic@nvidia.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "4044a4539e2b9c1547bf007a71782c30526e0246",
      "tree": "83f0c71630460c9c25a9f29e3c97eaa917a0a609",
      "parents": [
        "a44a791860f135d654a57797e36c31051d549a06"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Thu Jun 02 14:38:52 2022 -0700"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Fri Jun 17 10:14:40 2022 -0700"
      },
      "message": "tc: declaration hides parameter\n\nIn several places (code reuse?), the variable handle\nis a parameter to the function, but then\nis defined inside basic block for classid.\n\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "a44a791860f135d654a57797e36c31051d549a06",
      "tree": "4962a505345066822f0bd4a7c1660c897abd5726",
      "parents": [
        "703f2de6f59f97d40a7028350061c72d36d9d5bd"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Thu Jun 02 14:38:06 2022 -0700"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Fri Jun 17 10:08:19 2022 -0700"
      },
      "message": "genl: fix duplicate include guard\n\nFound by LGTM.\n\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "703f2de6f59f97d40a7028350061c72d36d9d5bd",
      "tree": "e194323d64e4d258e4b9e11ffe07f0a19b178269",
      "parents": [
        "248ad98e5c5ee676470ea5d33ab48ce30531aea7"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Thu Jun 16 20:14:23 2022 -0700"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Fri Jun 17 09:34:26 2022 -0700"
      },
      "message": "uapi: change name for zerocopy sendfile in tls\n\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "248ad98e5c5ee676470ea5d33ab48ce30531aea7",
      "tree": "9b7ab0ba6eac0d905de5baaf80e7a22e42a1ba53",
      "parents": [
        "11e41a635cfab54e8e02fbff2a03715467e77ae9"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Sun Jun 05 10:43:00 2022 -0700"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Fri Jun 17 09:34:14 2022 -0700"
      },
      "message": "uapi: update socket.h\n\nFrom 5.19-rc0\n\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "bfffaf1360916a5acc80c96008cb70b038476e00",
      "tree": "600da9258d203a880317f650c3f6f93744741a96",
      "parents": [
        "cebf67a35d8aa8945e5aaa409220e1b3c612969c"
      ],
      "author": {
        "name": "Ido Schimmel",
        "email": "idosch@nvidia.com",
        "time": "Tue Jun 14 17:26:57 2022 +0300"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Thu Jun 16 12:57:23 2022 -0600"
      },
      "message": "man: tc-fw: Document masked handle usage\n\nThe tc-fw filter can be used to match on the packet\u0027s fwmark by adding a\nfilter with a matching handle. It also supports matching on specific\nbits of the fwmark by specifying the handle together with a mask. This\nis documented in the usage message below, but not in the man page.\n\nDocument it in the man page together with an example.\n\n $ tc filter add fw help\n Usage: ... fw [ classid CLASSID ] [ indev DEV ] [ action ACTION_SPEC ]\n         CLASSID :\u003d Push matching packets to the class identified by CLASSID with format X:Y\n                 CLASSID is parsed as hexadecimal input.\n         DEV :\u003d specify device for incoming device classification.\n         ACTION_SPEC :\u003d Apply an action on matching packets.\n         NOTE: handle is represented as HANDLE[/FWMASK].\n                 FWMASK is 0xffffffff by default.\n\nSigned-off-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "cebf67a35d8aa8945e5aaa409220e1b3c612969c",
      "tree": "167d783dcc83e327061a245bf2759f68320acb45",
      "parents": [
        "b112043ea8f26ab61e932f3b25c670eeaa620b73"
      ],
      "author": {
        "name": "Jeffrey Ji",
        "email": "jeffreyji@google.com",
        "time": "Thu Jun 09 21:05:16 2022 +0000"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Sun Jun 12 09:52:24 2022 -0600"
      },
      "message": "show rx_otherehost_dropped stat in ip link show\n\nThis stat was added in commit 794c24e9921f (\"net-core: rx_otherhost_dropped to core_stats\")\n\nTested: sent packet with wrong MAC address from 1\nnetwork namespace to another, verified that counter showed \"1\" in\n`ip -s -s link sh` and `ip -s -s -j link sh`\n\nSigned-off-by: Jeffrey Ji \u003cjeffreyji@google.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "b112043ea8f26ab61e932f3b25c670eeaa620b73",
      "tree": "6607332897ca0d764a61d9bfe383b3e05405a9d0",
      "parents": [
        "266d0f854a50d31e188752965ec7c767818f55c4"
      ],
      "author": {
        "name": "Maxim Mikityanskiy",
        "email": "maximmi@nvidia.com",
        "time": "Wed Jun 08 18:34:45 2022 +0300"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Sun Jun 12 09:51:34 2022 -0600"
      },
      "message": "ss: Shorter display format for TLS zerocopy sendfile\n\nCommit 21c07b45688f (\"ss: Show zerocopy sendfile status of TLS\nsockets\") started displaying the activation status of zerocopy sendfile\non TLS sockets, exposed via sock_diag. This commit makes the format more\ncompact: the flag\u0027s name is shorter and is printed only when the feature\nis active, similar to other flag options.\n\nThe flag\u0027s name is also generalized (\"sendfile\" -\u003e \"tx\") to embrace\npossible future optimizations, and includes an explicit indication that\nthe underlying data must not be modified during transfer (\"ro\").\n\nSigned-off-by: Maxim Mikityanskiy \u003cmaximmi@nvidia.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "266d0f854a50d31e188752965ec7c767818f55c4",
      "tree": "cb87db3f384e6ff55240c78dbe130dd407c9945e",
      "parents": [
        "f84e3f8cced949e7d81cba1e67e1a6d3ec92d317"
      ],
      "author": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Sun Jun 12 09:43:54 2022 -0600"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Sun Jun 12 09:43:54 2022 -0600"
      },
      "message": "Update kernel headers\n\nUpdate kernel headers to commit:\n    27f2533bcc6e (\"nfp: flower: support to offload pedit of IPv6 flowinto fields\")\n\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "f84e3f8cced949e7d81cba1e67e1a6d3ec92d317",
      "tree": "229683c0b9bd605415b704a193ee03af3024b49a",
      "parents": [
        "cef46213d5ddbaa507b277878394d6a535dc22cc",
        "4a4e32a92b56a94c9192dbdcb6e504edf58d11d6"
      ],
      "author": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Fri Jun 10 09:02:29 2022 -0600"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Fri Jun 10 09:02:29 2022 -0600"
      },
      "message": "Merge branch \u0027bridge-fdb-flush\u0027 into next\n\nNikolay Aleksandrov  says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nHi,\nThis set adds support for the new bulk delete flag to allow fdb flushing\nfor specific entries which are matched based on the supplied options.\nThe new bridge fdb subcommand is \"flush\", and as can be seen from the\ncommits it allows to delete entries based on many different criteria:\n - matching vlan\n - matching port\n - matching all sorts of flags (combinations are allowed)\n\nThere are also examples for each option in the respective commit messages.\n\nExamples:\n$ bridge fdb flush dev swp2 master vlan 100 dynamic\n [ delete all dynamic entries with port swp2 and vlan 100 ]\n$ bridge fdb flush dev br0 vlan 1 static\n [ delete all static entries in br0\u0027s fdb table ]\n$ bridge fdb flush dev swp2 master extern_learn nosticky\n [ delete all entries with port swp2 which have extern_learn set and\n   don\u0027t have the sticky flag set ]\n$ bridge fdb flush dev br0 brport br0 vlan 100 permanent\n [ delete all entries pointing to the bridge itself with vlan 100 ]\n$ bridge fdb flush dev swp2 master nostatic nooffloaded\n [ delete all entries with port swp2 which are not static and not\n   offloaded ]\n\nIf keyword is specified and after that nokeyword is specified obviously\nthe nokeyword would override keyword.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "4a4e32a92b56a94c9192dbdcb6e504edf58d11d6",
      "tree": "229683c0b9bd605415b704a193ee03af3024b49a",
      "parents": [
        "259795676e90eef678e353cc4732bf1adfaad803"
      ],
      "author": {
        "name": "Nikolay Aleksandrov",
        "email": "razor@blackwall.org",
        "time": "Wed Jun 08 15:29:21 2022 +0300"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Fri Jun 10 09:02:00 2022 -0600"
      },
      "message": "bridge: fdb: add flush [no]offloaded entry matching\n\nAdd flush support to match entries with or without (if \"no\" is\nprepended) offloaded flag.\n\nExamples:\n$ bridge fdb flush dev br0 offloaded\nThis will delete all offloaded entries in br0\u0027s fdb table.\n\n$ bridge fdb flush dev br0 nooffloaded\nThis will delete all entries except the ones with offloaded flag in\nbr0\u0027s fdb table.\n\nSigned-off-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "259795676e90eef678e353cc4732bf1adfaad803",
      "tree": "d9f74fbe20397a140a33b249bcbc7c8e22477161",
      "parents": [
        "b78036468886ffac84c5c783c98b63f9d06a86c8"
      ],
      "author": {
        "name": "Nikolay Aleksandrov",
        "email": "razor@blackwall.org",
        "time": "Wed Jun 08 15:29:20 2022 +0300"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Fri Jun 10 09:01:52 2022 -0600"
      },
      "message": "bridge: fdb: add flush [no]sticky entry matching\n\nAdd flush support to match entries with or without (if \"no\" is\nprepended) sticky flag.\n\nExamples:\n$ bridge fdb flush dev br0 sticky\nThis will delete all sticky entries in br0\u0027s fdb table.\n\n$ bridge fdb flush dev br0 nosticky\nThis will delete all entries except the ones with sticky flag in\nbr0\u0027s fdb table.\n\nSigned-off-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "b78036468886ffac84c5c783c98b63f9d06a86c8",
      "tree": "e1c60b13457d06bffff656115433ce83c1721563",
      "parents": [
        "ef5425739fb817207a99e87f8ddf9f029a3a88c6"
      ],
      "author": {
        "name": "Nikolay Aleksandrov",
        "email": "razor@blackwall.org",
        "time": "Wed Jun 08 15:29:19 2022 +0300"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Fri Jun 10 09:01:48 2022 -0600"
      },
      "message": "bridge: fdb: add flush [no]extern_learn entry matching\n\nAdd flush support to match entries with or without (if \"no\" is\nprepended) extern_learn flag.\n\nExamples:\n$ bridge fdb flush dev br0 extern_learn\nThis will delete all extern_learn entries in br0\u0027s fdb table.\n\n$ bridge fdb flush dev br0 noextern_learn\nThis will delete all entries except the ones with extern_learn flag in\nbr0\u0027s fdb table.\n\nSigned-off-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "ef5425739fb817207a99e87f8ddf9f029a3a88c6",
      "tree": "8dd85c8777fe6f897aac6bf2624453d7b9fb5d82",
      "parents": [
        "8198f75073ede4e486ed9496e195fc065f8af486"
      ],
      "author": {
        "name": "Nikolay Aleksandrov",
        "email": "razor@blackwall.org",
        "time": "Wed Jun 08 15:29:18 2022 +0300"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Fri Jun 10 09:01:44 2022 -0600"
      },
      "message": "bridge: fdb: add flush [no]added_by_user entry matching\n\nAdd flush support to match entries with or without (if \"no\" is\nprepended) added_by_user flag. Note that NTF_USE is used internally\nbecause there is no NTF_ flag that describes such entries.\n\nExamples:\n$ bridge fdb flush dev br0 added_by_user\nThis will delete all added_by_user entries in br0\u0027s fdb table.\n\n$ bridge fdb flush dev br0 noadded_by_user\nThis will delete all entries except the ones with added_by_user flag in\nbr0\u0027s fdb table.\n\nSigned-off-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "8198f75073ede4e486ed9496e195fc065f8af486",
      "tree": "991b839805cfa91a2361f31fa4ca9e44545b199d",
      "parents": [
        "0f6c81a63c501cc9f32a244782d02bcdf876eed9"
      ],
      "author": {
        "name": "Nikolay Aleksandrov",
        "email": "razor@blackwall.org",
        "time": "Wed Jun 08 15:29:17 2022 +0300"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Fri Jun 10 09:01:40 2022 -0600"
      },
      "message": "bridge: fdb: add flush [no]dynamic entry matching\n\nAdd flush support to match dynamic or non-dynamic (static or permanent)\nentries if \"no\" is prepended respectively. Note that dynamic entries are\ndefined as fdbs without NUD_NOARP and NUD_PERMANENT set, and non-dynamic\nentries are fdbs with NUD_NOARP set (that matches both static and\npermanent entries).\n\nExamples:\n$ bridge fdb flush dev br0 dynamic\nThis will delete all dynamic entries in br0\u0027s fdb table.\n\n$ bridge fdb flush dev br0 nodynamic\nThis will delete all entries except the dynamic ones in br0\u0027s fdb\ntable.\n\nSigned-off-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "0f6c81a63c501cc9f32a244782d02bcdf876eed9",
      "tree": "35ba4f73cf5173eca2754132efe976599738cfcb",
      "parents": [
        "988c319807508ba6de79f22e859edc50aaaad171"
      ],
      "author": {
        "name": "Nikolay Aleksandrov",
        "email": "razor@blackwall.org",
        "time": "Wed Jun 08 15:29:16 2022 +0300"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Fri Jun 10 09:01:37 2022 -0600"
      },
      "message": "bridge: fdb: add flush [no]static entry matching\n\nAdd flush support to match static or non-static entries if \"no\" is\nprepended respectively. Note that static entries are only NUD_NOARP ones\nwithout NUD_PERMANENT, also when matching non-static entries exclude\npermanent entries as well (permanent entries by definition are also\nstatic).\n\nExamples:\n$ bridge fdb flush dev br0 static\nThis will delete all static entries in br0\u0027s fdb table.\n\n$ bridge fdb flush dev br0 nostatic\nThis will delete all entries except the static ones in br0\u0027s fdb\ntable.\n\nSigned-off-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "988c319807508ba6de79f22e859edc50aaaad171",
      "tree": "8ee1ecd66484ec0463198abedb1cf2b1f0328882",
      "parents": [
        "bb9e453c14068c308f000cdcff98a4dd468358d5"
      ],
      "author": {
        "name": "Nikolay Aleksandrov",
        "email": "razor@blackwall.org",
        "time": "Wed Jun 08 15:29:15 2022 +0300"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Fri Jun 10 09:01:33 2022 -0600"
      },
      "message": "bridge: fdb: add flush [no]permanent entry matching\n\nAdd flush support to match permanent or non-permanent entries if \"no\" is\nprepended respectively.\n\nExamples:\n$ bridge fdb flush dev br0 permanent\nThis will delete all permanent entries in br0\u0027s fdb table.\n\n$ bridge fdb flush dev br0 nopermanent\nThis will delete all entries except the permanent ones in br0\u0027s fdb\ntable.\n\nSigned-off-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "bb9e453c14068c308f000cdcff98a4dd468358d5",
      "tree": "6e8a73eb73f774f75b1b5bd0192df194ee65035b",
      "parents": [
        "d9c15896f1d3bbe768180f8b6abd0ec0ea89dcb1"
      ],
      "author": {
        "name": "Nikolay Aleksandrov",
        "email": "razor@blackwall.org",
        "time": "Wed Jun 08 15:29:14 2022 +0300"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Fri Jun 10 09:01:29 2022 -0600"
      },
      "message": "bridge: fdb: add flush port matching\n\nUsually we match on the device specified after \"dev\" but there are\nspecial cases where we need an additional device attribute for matching\nsuch as when matching entries specifically pointing to the bridge device\nitself. We use NDA_IFINDEX for that purpose.\n\nExample:\n$ bridge fdb flush dev br0 brport br0\nThis will flush only entries pointing to the bridge itself.\n\n$ bridge fdb flush dev swp1 brport swp2 master\nNote this will flush entries pointing to swp2 only. The NDA_IFINDEX\nattribute overrides the dev argument. This is documented in the man\npage.\n\nSigned-off-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "d9c15896f1d3bbe768180f8b6abd0ec0ea89dcb1",
      "tree": "f08d46404a3157a0454a930271dd7d4d187fe768",
      "parents": [
        "6e1ca489c5a29826f2a2f1edab01f753650c9cec"
      ],
      "author": {
        "name": "Nikolay Aleksandrov",
        "email": "razor@blackwall.org",
        "time": "Wed Jun 08 15:29:13 2022 +0300"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Fri Jun 10 09:00:41 2022 -0600"
      },
      "message": "bridge: fdb: add flush vlan matching\n\nAdd flush support to match fdb entries in a specific vlan.\nExample:\n$ bridge fdb flush dev swp1 vlan 10 master\nThis will flush all fdb entries with port swp1 and vlan 10.\n\nSigned-off-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "6e1ca489c5a29826f2a2f1edab01f753650c9cec",
      "tree": "46735b05297575461fda2c77cb2d28a4773bc848",
      "parents": [
        "cef46213d5ddbaa507b277878394d6a535dc22cc"
      ],
      "author": {
        "name": "Nikolay Aleksandrov",
        "email": "razor@blackwall.org",
        "time": "Wed Jun 08 15:29:12 2022 +0300"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Fri Jun 10 09:00:31 2022 -0600"
      },
      "message": "bridge: fdb: add new flush command\n\nAdd support for fdb bulk delete (aka flush) command. Currently it only\nsupports the self and master flags with the same semantics as fdb\nadd/del. The device is a mandatory argument.\n\nExample:\n$ bridge fdb flush dev br0\nThis will delete *all* fdb entries in br0\u0027s fdb table.\n\n$ bridge fdb flush dev swp1 master\nThis will delete all fdb entries pointing to swp1.\n\nSigned-off-by: Nikolay Aleksandrov \u003crazor@blackwall.org\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "cef46213d5ddbaa507b277878394d6a535dc22cc",
      "tree": "d11f4ddf1a63d2269e2c40f3d9cc024024b26014",
      "parents": [
        "d889b151f958a115b8b7e71e5f79aa4e1a2cbe13",
        "11e41a635cfab54e8e02fbff2a03715467e77ae9"
      ],
      "author": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Thu Jun 09 09:12:36 2022 -0600"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Thu Jun 09 09:12:36 2022 -0600"
      },
      "message": "Merge branch \u0027main\u0027 into next\n\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "11e41a635cfab54e8e02fbff2a03715467e77ae9",
      "tree": "59eb2f25124e8f96dd399d5730b798ca194c1682",
      "parents": [
        "b1521ec002e1d2c72404aa9e4d7734c541260a7c"
      ],
      "author": {
        "name": "Petr Machata",
        "email": "petrm@nvidia.com",
        "time": "Tue May 31 13:35:48 2022 +0200"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Wed Jun 01 16:01:14 2022 -0700"
      },
      "message": "ip: Convert non-constant initializers to macros\n\nAs per the C standard, \"expressions in an initializer for an object that\nhas static or thread storage duration shall be constant expressions\".\nAggregate objects are not constant expressions. Newer GCC doesn\u0027t mind, but\nolder GCC and LLVM do.\n\nTherefore convert to a macro. And since all these macros will look very\nsimilar, extract a generic helper, IPSTATS_STAT_DESC_XSTATS_LEAF, which\ntakes the leaf name as an argument and initializes the rest as appropriate\nfor an xstats descriptor.\n\nReported-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\nSigned-off-by: Petr Machata \u003cpetrm@nvidia.com\u003e\nReviewed-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "d889b151f958a115b8b7e71e5f79aa4e1a2cbe13",
      "tree": "cfd8857fbb2dc437e9ec779d07b4ea036236d072",
      "parents": [
        "21c07b45688fee4e3b690816ecc4d5206d15a135",
        "e2267e68b9b56d29e381be1bfff465340c67992c"
      ],
      "author": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Mon May 30 09:54:59 2022 -0600"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Mon May 30 09:54:59 2022 -0600"
      },
      "message": "Merge branch \u0027ss-threads\u0027 into next\n\nPeilin Ye  says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nFrom: Peilin Ye \u003cpeilin.ye@bytedance.com\u003e\n\nThis patchset adds a new ss option, -T (--threads), to show thread\ninformation.  It extends the -p (--processes) option, and should be useful\nfor debugging, monitoring multi-threaded applications.  Example output:\n\n  $ ss -ltT \"sport \u003d 1234\"\n  State   Recv-Q  Send-Q  Local Address:Port      Peer Address:Port       Process\n  LISTEN  0       100           0.0.0.0:1234           0.0.0.0:*           users:((\"test\",pid\u003d2932547,tid\u003d2932548,fd\u003d3),(\"test\",pid\u003d2932547,tid\u003d2932547,fd\u003d3))\n\nIt implies -p i.e. it outputs all threads in the thread group, including\nthe thread group leader.  When -T is used, -Z and -z also show SELinux\ncontexts for threads.\n\n[1-5/7] are small clean-ups for the user_ent_hash_build() function.  [6/7]\nfactors out logic iterating $PROC_ROOT/$PID/fd/ from user_ent_hash_build()\nto make [7/7] easier.  [7/7] actually implements the feature.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "e2267e68b9b56d29e381be1bfff465340c67992c",
      "tree": "cfd8857fbb2dc437e9ec779d07b4ea036236d072",
      "parents": [
        "12d491e58ff574219f1c01f844c0c76e4f4e5eef"
      ],
      "author": {
        "name": "Peilin Ye",
        "email": "peilin.ye@bytedance.com",
        "time": "Tue May 24 19:53:41 2022 -0700"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Mon May 30 09:54:28 2022 -0600"
      },
      "message": "ss: Introduce -T, --threads option\n\nThe -p, -Z and -z options only show process (thread group leader)\ninformation.  For example, if the thread group leader has exited, but\nanother thread in the group is still using a socket, ss -[pZz] does not\nshow it.\n\nAdd a new option, -T (--threads), to show thread information.  It implies\nthe -p option.  For example, imagine process A and thread B (in the same\ngroup) using the same socket.  ss -p only shows A:\n\n  $ ss -ltp \"sport \u003d 1234\"\n  State   Recv-Q  Send-Q  Local Address:Port      Peer Address:Port       Process\n  LISTEN  0       100           0.0.0.0:1234           0.0.0.0:*           users:((\"test\",pid\u003d2932547,fd\u003d3))\n\nss -T shows A and B:\n\n  $ ss -ltT \"sport \u003d 1234\"\n  State   Recv-Q  Send-Q  Local Address:Port      Peer Address:Port       Process\n  LISTEN  0       100           0.0.0.0:1234           0.0.0.0:*           users:((\"test\",pid\u003d2932547,tid\u003d2932548,fd\u003d3),(\"test\",pid\u003d2932547,tid\u003d2932547,fd\u003d3))\n\nIf -T is used, -Z and -z also show SELinux contexts for threads.\n\nRename some variables (from \"process\" to \"task\", for example) since we\nuse them for both processes and threads.\n\nSigned-off-by: Peilin Ye \u003cpeilin.ye@bytedance.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "12d491e58ff574219f1c01f844c0c76e4f4e5eef",
      "tree": "b432108ff4192b40592fbcd07a8e82e1fdeab900",
      "parents": [
        "210018bfe99b21effd3f6f2f67dec7dcba49decc"
      ],
      "author": {
        "name": "Peilin Ye",
        "email": "peilin.ye@bytedance.com",
        "time": "Tue May 24 19:53:21 2022 -0700"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Mon May 30 09:54:23 2022 -0600"
      },
      "message": "ss: Factor out fd iterating logic from user_ent_hash_build()\n\nWe are planning to add a thread version of the -p, --process option.\nMove the logic iterating $PROC_ROOT/$PID/fd/ into a new function,\nuser_ent_hash_build_task(), to make it easier.\n\nSince we will use this function for both processes and threads, rename\nlocal variables as such (e.g. from \"process\" to \"task\").\n\nSigned-off-by: Peilin Ye \u003cpeilin.ye@bytedance.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "210018bfe99b21effd3f6f2f67dec7dcba49decc",
      "tree": "63496ae0c2754e8058b5803a6d0818c5d762a151",
      "parents": [
        "ea3b57ec3991a576a6aa7276979db518fd5488ce"
      ],
      "author": {
        "name": "Peilin Ye",
        "email": "peilin.ye@bytedance.com",
        "time": "Tue May 24 19:53:05 2022 -0700"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Mon May 30 09:54:18 2022 -0600"
      },
      "message": "ss: Fix coding style issues in user_ent_hash_build()\n\nMake checkpatch.pl --strict happy about user_ent_hash_build().\n\nSigned-off-by: Peilin Ye \u003cpeilin.ye@bytedance.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "ea3b57ec3991a576a6aa7276979db518fd5488ce",
      "tree": "4515191bdf3443b991390ff750f86631080765fe",
      "parents": [
        "cd845a85681bf2851b38041587fa75605beebbe9"
      ],
      "author": {
        "name": "Peilin Ye",
        "email": "peilin.ye@bytedance.com",
        "time": "Tue May 24 19:52:36 2022 -0700"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Mon May 30 09:54:12 2022 -0600"
      },
      "message": "ss: Delete unnecessary call to snprintf() in user_ent_hash_build()\n\n\u0027name\u0027 is already $PROC_ROOT/$PID/fd/$FD there, no need to rebuild the\nstring.\n\nSigned-off-by: Peilin Ye \u003cpeilin.ye@bytedance.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "cd845a85681bf2851b38041587fa75605beebbe9",
      "tree": "8ed598adc8a74fb96459d8e8264dfe7ce89552e9",
      "parents": [
        "b38831bc23c40b3fa8ad518478173fa007d0cbbf"
      ],
      "author": {
        "name": "Peilin Ye",
        "email": "peilin.ye@bytedance.com",
        "time": "Tue May 24 19:52:21 2022 -0700"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Mon May 30 09:54:01 2022 -0600"
      },
      "message": "ss: Do not call user_ent_hash_build() more than once\n\nCall user_ent_hash_build() once after the getopt_long() loop if -p, -z\nor -Z is used.\n\nSigned-off-by: Peilin Ye \u003cpeilin.ye@bytedance.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "b38831bc23c40b3fa8ad518478173fa007d0cbbf",
      "tree": "c072ac180d5cd12507f1ee05a62f9f0760903272",
      "parents": [
        "2d866c6d93dbf4fe8169dda4a3a8f4a67fa0a5b9"
      ],
      "author": {
        "name": "Peilin Ye",
        "email": "peilin.ye@bytedance.com",
        "time": "Tue May 24 19:52:09 2022 -0700"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Mon May 30 09:53:55 2022 -0600"
      },
      "message": "ss: Remove unnecessary stack variable \u0027p\u0027 in user_ent_hash_build()\n\nCommit 116ac9270b6d (\"ss: Add support for retrieving SELinux contexts\")\nadded an unnecessary stack variable, \u0027char *p\u0027, in\nuser_ent_hash_build().  Delete it for readability.\n\nSigned-off-by: Peilin Ye \u003cpeilin.ye@bytedance.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "2d866c6d93dbf4fe8169dda4a3a8f4a67fa0a5b9",
      "tree": "80d60c494f904b72a6ef7e7e218568fde7ad3146",
      "parents": [
        "21c07b45688fee4e3b690816ecc4d5206d15a135"
      ],
      "author": {
        "name": "Peilin Ye",
        "email": "peilin.ye@bytedance.com",
        "time": "Tue May 24 19:51:48 2022 -0700"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Mon May 30 09:53:50 2022 -0600"
      },
      "message": "ss: Use assignment-suppression character in sscanf()\n\nUse the \u0027*\u0027 assignment-suppression character, instead of an\ninappropriately named temporary variable.\n\nSigned-off-by: Peilin Ye \u003cpeilin.ye@bytedance.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "21c07b45688fee4e3b690816ecc4d5206d15a135",
      "tree": "4e273f306b80a12662a56a13e79e045e701187a6",
      "parents": [
        "2a0541810c85bc948de183ca62e931a3d6fd9a16"
      ],
      "author": {
        "name": "Maxim Mikityanskiy",
        "email": "maximmi@nvidia.com",
        "time": "Mon May 30 17:14:38 2022 +0300"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Mon May 30 09:52:55 2022 -0600"
      },
      "message": "ss: Show zerocopy sendfile status of TLS sockets\n\nPrint the activation status of zerocopy sendfile on TLS sockets.\nZerocopy sendfile was recently added to Linux and exposed via sock_diag.\n\nSigned-off-by: Maxim Mikityanskiy \u003cmaximmi@nvidia.com\u003e\nReviewed-by: Tariq Toukan \u003ctariqt@nvidia.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "2a0541810c85bc948de183ca62e931a3d6fd9a16",
      "tree": "a3d3d23cd65523794d3c6ac28ec398df89e037f9",
      "parents": [
        "555a7750128a2c618587715fbad141f6750a4d06"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Wed May 25 08:36:24 2022 -0700"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Mon May 30 09:51:53 2022 -0600"
      },
      "message": "iplink: report tso_max_size and tso_max_segs\n\nNew netlink attributes IFLA_TSO_MAX_SIZE and IFLA_TSO_MAX_SEGS\nare used to report device TSO limits to user-space.\n\nip -d link sh dev eth0\n...\n   tso_max_size 65536 tso_max_segs 65535\n\nip -d link sh dev lo\n...\n   tso_max_size 524280 tso_max_segs 65535\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "555a7750128a2c618587715fbad141f6750a4d06",
      "tree": "5174bcbb5f5a80f19328ae69ebae412e8a4c2978",
      "parents": [
        "8d3977ef8193f976a0905d5ff054869f0d5ebc11",
        "b1521ec002e1d2c72404aa9e4d7734c541260a7c"
      ],
      "author": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Mon May 30 09:51:08 2022 -0600"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Mon May 30 09:51:08 2022 -0600"
      },
      "message": "Merge branch \u0027main\u0027 into next\n\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "b1521ec002e1d2c72404aa9e4d7734c541260a7c",
      "tree": "5174bcbb5f5a80f19328ae69ebae412e8a4c2978",
      "parents": [
        "6474b7c8651368d63968671d75e34e4c7d6c9a20",
        "8d3977ef8193f976a0905d5ff054869f0d5ebc11"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Thu May 26 17:09:59 2022 -0700"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Thu May 26 17:09:59 2022 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/network/iproute2/iproute2-next\n"
    },
    {
      "commit": "6474b7c8651368d63968671d75e34e4c7d6c9a20",
      "tree": "ad3d8bea7f7792f590c3176038bc67c817a7f7da",
      "parents": [
        "4429a6c9b484bc02dfab1e020a9b6f9f77370331"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Thu May 26 15:51:48 2022 -0700"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Thu May 26 15:51:48 2022 -0700"
      },
      "message": "v5.18.0\n"
    },
    {
      "commit": "4429a6c9b484bc02dfab1e020a9b6f9f77370331",
      "tree": "eb75a4b780c9ae8d6f89addab8ad589ce667625b",
      "parents": [
        "6b6979b9d443d5008e9db5dbf2849de619a8fa67"
      ],
      "author": {
        "name": "Andrea Claudi",
        "email": "aclaudi@redhat.com",
        "time": "Fri May 13 11:52:30 2022 +0200"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Tue May 17 12:57:45 2022 -0700"
      },
      "message": "tipc: fix keylen check\n\nKey length check in str2key() is wrong for hex. Fix this using the\nproper hex key length.\n\nFixes: 28ee49e5153b (\"tipc: bail out if key is abnormally long\")\nSuggested-by: Xin Long \u003clucien.xin@gmail.com\u003e\nSigned-off-by: Andrea Claudi \u003caclaudi@redhat.com\u003e\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "6b6979b9d443d5008e9db5dbf2849de619a8fa67",
      "tree": "b8eed36eb8dfdc00ffa5261e0880c071ada496b1",
      "parents": [
        "19c3e009e3cb70e0e5504f5e8c3e918ec943514c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Mon May 16 08:34:57 2022 -0700"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Mon May 16 10:21:03 2022 -0700"
      },
      "message": "iplink: remove GSO_MAX_SIZE definition\n\nDavid removed the check using GSO_MAX_SIZE\nin commit f1d18e2e6ec5 (\"Update kernel headers\").\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "19c3e009e3cb70e0e5504f5e8c3e918ec943514c",
      "tree": "c897fa06a24a9abda18359ccfeff8bf629886993",
      "parents": [
        "ed706c78ca90bfcaac2a9ffe70deb0030263568b"
      ],
      "author": {
        "name": "Andrea Claudi",
        "email": "aclaudi@redhat.com",
        "time": "Thu May 12 16:18:48 2022 +0200"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Fri May 13 16:34:09 2022 -0700"
      },
      "message": "doc: fix \u0027infact\u0027 --\u003e \u0027in fact\u0027 typo\n\nSigned-off-by: Andrea Claudi \u003caclaudi@redhat.com\u003e\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "ed706c78ca90bfcaac2a9ffe70deb0030263568b",
      "tree": "79f24a6b9d7c31dcdfa6c517037f8eb320eaca1f",
      "parents": [
        "03589beb45006ddf4b2a435f73651ff90ac51c85"
      ],
      "author": {
        "name": "Andrea Claudi",
        "email": "aclaudi@redhat.com",
        "time": "Thu May 12 16:18:47 2022 +0200"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Fri May 13 16:33:50 2022 -0700"
      },
      "message": "man: fix some typos\n\nIn dcb-app man page, \u0027direcly\u0027 should be \u0027directly\u0027\nIn dcb-dcbx man page, \u0027respecively\u0027 should be \u0027respectively\u0027\nIn devlink-dev man page, \u0027unspecificed\u0027 should be \u0027unspecified\u0027\n\nSigned-off-by: Andrea Claudi \u003caclaudi@redhat.com\u003e\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "03589beb45006ddf4b2a435f73651ff90ac51c85",
      "tree": "5896c100e3271d6c2167189b1877dc15ef8a3d37",
      "parents": [
        "b84fc3321c6adaf76f36cf7ef0e17389bdf31500"
      ],
      "author": {
        "name": "Andrea Claudi",
        "email": "aclaudi@redhat.com",
        "time": "Thu May 12 16:18:46 2022 +0200"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Fri May 13 16:33:16 2022 -0700"
      },
      "message": "man: devlink-region: fix typo in example\n\ndevlink-region does not accept the legth param, but the length one.\n\nFixes: 8b4fbf0bed8e (\"devlink: Add support for devlink-region access\")\nSigned-off-by: Andrea Claudi \u003caclaudi@redhat.com\u003e\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "b84fc3321c6adaf76f36cf7ef0e17389bdf31500",
      "tree": "43bc6138f3ed8f33e157c930e2cc93ec627088f2",
      "parents": [
        "b6d1708663cbcf1d59c351d056dd63eac421825c"
      ],
      "author": {
        "name": "Andrea Claudi",
        "email": "aclaudi@redhat.com",
        "time": "Fri May 06 22:11:46 2022 +0200"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Fri May 13 16:32:45 2022 -0700"
      },
      "message": "tc: em_u32: fix offset parsing\n\ntc u32 ematch offset parsing might fail even if nexthdr offset is\naligned to 4. The issue can be reproduced with the following script:\n\ntc qdisc del dev dummy0 root\ntc qdisc add dev dummy0 root handle 1: htb r2q 1 default 1\ntc class add dev dummy0 parent 1:1 classid 1:108 htb quantum 1000000 \\\n\trate 1.00mbit ceil 10.00mbit burst 6k\n\nwhile true; do\nif ! tc filter add dev dummy0 protocol all parent 1: prio 1 basic match \\\n\t\"meta(vlan mask 0xfff eq 1)\" and \"u32(u32 0x20011002 0xffffffff \\\n\tat nexthdr+8)\" flowid 1:108; then\n\t\texit 0\nfi\ndone\n\nwhich we expect to produce an endless loop.\nWith the current code, instead, this ends with:\n\nu32: invalid offset alignment, must be aligned to 4.\n... meta(vlan mask 0xfff eq 1) and \u003e\u003eu32(u32 0x20011002 0xffffffff at nexthdr+8)\u003c\u003c ...\n... u32(u32 0x20011002 0xffffffff at \u003e\u003enexthdr+8\u003c\u003c)...\nUsage: u32(ALIGN VALUE MASK at [ nexthdr+ ] OFFSET)\nwhere: ALIGN  :\u003d { u8 | u16 | u32 }\n\nExample: u32(u16 0x1122 0xffff at nexthdr+4)\nIllegal \"ematch\"\n\nThis is caused by memcpy copying into buf an unterminated string.\n\nFix it using strncpy instead of memcpy.\n\nFixes: commit 311b41454dc4 (\"Add new extended match files.\")\nReported-by: Alfred Yang \u003calf.redyoung@gmail.com\u003e\nSigned-off-by: Andrea Claudi \u003caclaudi@redhat.com\u003e\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "b6d1708663cbcf1d59c351d056dd63eac421825c",
      "tree": "f13a6e6e54222b01e719d2d087799d4625c4232e",
      "parents": [
        "17bf51b74ddd4696ad3393ff700eb5dca3a617f0"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Fri May 13 14:34:43 2022 -0700"
      },
      "committer": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Fri May 13 14:34:43 2022 -0700"
      },
      "message": "uapi: update of virtio_ids\n\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\n"
    },
    {
      "commit": "8d3977ef8193f976a0905d5ff054869f0d5ebc11",
      "tree": "e552ab2ea26d3569d207fb34aacaa6155adc16e0",
      "parents": [
        "5a179c7217c59552faff65e8c5f1dfd85dee685e"
      ],
      "author": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Fri May 13 09:01:28 2022 -0600"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Fri May 13 09:01:28 2022 -0600"
      },
      "message": "Update kernel headers\n\nUpdate kernel headers to commit:\n    a65cc8435540 (\"Merge branch \u0027bnxt_en-next\u0027\")\n\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "5a179c7217c59552faff65e8c5f1dfd85dee685e",
      "tree": "24827c84e9b121b05603c85df1cb7147c92a3914",
      "parents": [
        "ce41750fcc924c377ac3dda1df265e3b27d90a68",
        "5a1ad9f8c1e62f080d4249d572f5ebe0ae870c12"
      ],
      "author": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Thu May 12 11:09:29 2022 -0600"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Thu May 12 11:09:29 2022 -0600"
      },
      "message": "Merge branch \u0027support-xstats-afstats\u0027 into next\n\nPetr Machata  says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nThe RTM_GETSTATS response attributes IFLA_STATS_LINK_XSTATS and\nIFLA_STATS_LINK_XSTATS_SLAVE are used to carry statistics related to,\nrespectively, netdevices of a certain type, and netdevices enslaved to\nnetdevices of a certain type. IFLA_STATS_AF_SPEC are similarly used to\ncarry statistics specific to a certain address family.\n\nIn this patch set, add support for three new stats groups that cover the\nabove attributes: xstats, xstats_slave and afstats. Add bridge and bond\nsubgroups to the former two groups, and mpls subgroup to the latter one.\n\nNow \"group\" is used for selecting the top-level attribute, and subgroup\nfor the link-type or address-family nest below it (bridge, bond, mpls in\nthis patchset). But xstats (both master and slave) are further\nsubdivided. E.g. in the case of bridge statistics, the two subdivisions\nare called \"stp\" and \"mcast\". To make it possible to pick these sets,\nadd to the two selector levels of group and subgroup a third level,\nsuite, which is filtered in the userspace.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "5a1ad9f8c1e62f080d4249d572f5ebe0ae870c12",
      "tree": "24827c84e9b121b05603c85df1cb7147c92a3914",
      "parents": [
        "d9976d671c37373c91bc56a92706dfe446d131b3"
      ],
      "author": {
        "name": "Petr Machata",
        "email": "petrm@nvidia.com",
        "time": "Mon May 09 16:00:03 2022 +0200"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Thu May 12 11:08:35 2022 -0600"
      },
      "message": "man: ip-stats.8: Describe groups xstats, xstats_slave and afstats\n\nAdd description of the newly-added statistics groups.\n\nSigned-off-by: Petr Machata \u003cpetrm@nvidia.com\u003e\nReviewed-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "d9976d671c37373c91bc56a92706dfe446d131b3",
      "tree": "6c4c8fd16829305315f9d39030339ce8ff66b67d",
      "parents": [
        "36e10429dafc4e80307d73585be00f81088e6ccd"
      ],
      "author": {
        "name": "Petr Machata",
        "email": "petrm@nvidia.com",
        "time": "Mon May 09 16:00:02 2022 +0200"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Thu May 12 11:08:30 2022 -0600"
      },
      "message": "ipstats: Expose bond stats in ipstats\n\nDescribe xstats and xstats_slave subgroups for bond netdevices.\n\nFor example:\n\n # ip stats show dev swp1 group xstats_slave subgroup bond\n 56: swp1: group xstats_slave subgroup bond suite 802.3ad\n                     LACPDU Rx 0\n                     LACPDU Tx 0\n                     LACPDU Unknown type Rx 0\n                     LACPDU Illegal Rx 0\n                     Marker Rx 0\n                     Marker Tx 0\n                     Marker response Rx 0\n                     Marker response Tx 0\n                     Marker unknown type Rx 0\n\n # ip -j stats show dev swp1 group xstats_slave subgroup bond | jq\n [\n   {\n     \"ifindex\": 56,\n     \"ifname\": \"swp1\",\n     \"group\": \"xstats_slave\",\n     \"subgroup\": \"bond\",\n     \"suite\": \"802.3ad\",\n     \"802.3ad\": {\n       \"lacpdu_rx\": 0,\n       \"lacpdu_tx\": 0,\n       \"lacpdu_unknown_rx\": 0,\n       \"lacpdu_illegal_rx\": 0,\n       \"marker_rx\": 0,\n       \"marker_tx\": 0,\n       \"marker_response_rx\": 0,\n       \"marker_response_tx\": 0,\n       \"marker_unknown_rx\": 0\n     }\n   }\n ]\n\nSigned-off-by: Petr Machata \u003cpetrm@nvidia.com\u003e\nReviewed-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "36e10429dafc4e80307d73585be00f81088e6ccd",
      "tree": "ca8810abf9a536b6705ae5e78675978e6d264a08",
      "parents": [
        "79f5ad95c17c7b8ae56b34f677f22ca88d9c3975"
      ],
      "author": {
        "name": "Petr Machata",
        "email": "petrm@nvidia.com",
        "time": "Mon May 09 16:00:01 2022 +0200"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Thu May 12 11:08:26 2022 -0600"
      },
      "message": "ipstats: Expose bridge stats in ipstats\n\nBridge supports two suites, STP and IGMP, carried by attributes\nBRIDGE_XSTATS_STP and BRIDGE_XSTATS_MCAST. Expose them as suites \"stp\" and\n\"mcast\" (to correspond to the attribute name).\n\nFor example:\n\n # ip stats show dev swp1 group xstats_slave subgroup bridge\n 56: swp1: group xstats_slave subgroup bridge suite mcast\n                     IGMP queries:\n                       RX: v1 0 v2 0 v3 0\n                       TX: v1 0 v2 0 v3 0\n                     IGMP reports:\n                       RX: v1 0 v2 0 v3 0\n                       TX: v1 0 v2 0 v3 0\n                     IGMP leaves: RX: 0 TX: 0\n                     IGMP parse errors: 0\n                     MLD queries:\n                       RX: v1 0 v2 0\n                       TX: v1 0 v2 0\n                     MLD reports:\n                       RX: v1 0 v2 0\n                       TX: v1 0 v2 0\n                     MLD leaves: RX: 0 TX: 0\n                     MLD parse errors: 0\n\n 56: swp1: group xstats_slave subgroup bridge suite stp\n                     STP BPDU:  RX: 0 TX: 0\n                     STP TCN:   RX: 0 TX: 0\n                     STP Transitions: Blocked: 1 Forwarding: 0\n\n # ip -j stats show dev swp1 group xstats_slave subgroup bridge | jq\n [\n   {\n     \"ifindex\": 56,\n     \"ifname\": \"swp1\",\n     \"group\": \"xstats_slave\",\n     \"subgroup\": \"bridge\",\n     \"suite\": \"mcast\",\n     \"multicast\": {\n       \"igmp_queries\": {\n         \"rx_v1\": 0,\n         \"rx_v2\": 0,\n         \"rx_v3\": 0,\n         \"tx_v1\": 0,\n         \"tx_v2\": 0,\n         \"tx_v3\": 0\n       },\n       \"igmp_reports\": {\n         \"rx_v1\": 0,\n         \"rx_v2\": 0,\n         \"rx_v3\": 0,\n         \"tx_v1\": 0,\n         \"tx_v2\": 0,\n         \"tx_v3\": 0\n       },\n       \"igmp_leaves\": {\n         \"rx\": 0,\n         \"tx\": 0\n       },\n       \"igmp_parse_errors\": 0,\n       \"mld_queries\": {\n         \"rx_v1\": 0,\n         \"rx_v2\": 0,\n         \"tx_v1\": 0,\n         \"tx_v2\": 0\n       },\n       \"mld_reports\": {\n         \"rx_v1\": 0,\n         \"rx_v2\": 0,\n         \"tx_v1\": 0,\n         \"tx_v2\": 0\n       },\n       \"mld_leaves\": {\n         \"rx\": 0,\n         \"tx\": 0\n       },\n       \"mld_parse_errors\": 0\n     }\n   },\n   {\n     \"ifindex\": 56,\n     \"ifname\": \"swp1\",\n     \"group\": \"xstats_slave\",\n     \"subgroup\": \"bridge\",\n     \"suite\": \"stp\",\n     \"stp\": {\n       \"rx_bpdu\": 0,\n       \"tx_bpdu\": 0,\n       \"rx_tcn\": 0,\n       \"tx_tcn\": 0,\n       \"transition_blk\": 1,\n       \"transition_fwd\": 0\n     }\n   }\n ]\n\nSigned-off-by: Petr Machata \u003cpetrm@nvidia.com\u003e\nReviewed-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "79f5ad95c17c7b8ae56b34f677f22ca88d9c3975",
      "tree": "73362d228b875737cb2800bccb483821ad39e971",
      "parents": [
        "1247ed51e9242ca3d0a74dfaeedb5b7afea91c42"
      ],
      "author": {
        "name": "Petr Machata",
        "email": "petrm@nvidia.com",
        "time": "Mon May 09 16:00:00 2022 +0200"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Thu May 12 11:08:23 2022 -0600"
      },
      "message": "iplink_bridge: Split bridge_print_stats_attr()\n\nExtract from bridge_print_stats_attr() two helpers, one for dumping the\nmulticast attribute, one for dumping the STP attribute.\n\nSigned-off-by: Petr Machata \u003cpetrm@nvidia.com\u003e\nReviewed-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "1247ed51e9242ca3d0a74dfaeedb5b7afea91c42",
      "tree": "e5e198cc1b92553e147785d37034ff665fa553f4",
      "parents": [
        "c6900b79b13d7bc329955b4f9e8c7470d42ae2fa"
      ],
      "author": {
        "name": "Petr Machata",
        "email": "petrm@nvidia.com",
        "time": "Mon May 09 15:59:59 2022 +0200"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Thu May 12 11:08:20 2022 -0600"
      },
      "message": "ipstats: Add groups \"xstats\", \"xstats_slave\"\n\nThe RTM_GETSTATS response attributes IFLA_STATS_LINK_XSTATS and\nIFLA_STATS_LINK_XSTATS_SLAVE are used to carry statistics related to,\nrespectively, netdevices of a certain type, and netdevices enslaved to\nnetdevices of a certain type. Inside the nest is then link-type specific\nattribute (e.g. LINK_XSTATS_TYPE_BRIDGE), and inside that nest further\nattributes for individual type-specific statistical suites.\n\nUnder the \"ip stats\" model, that corresponds to groups \"xstats\" and\n\"xstats_slave\", link-type specific subgroup, e.g. \"bridge\", and one or more\nlink-type specific suites, such as \"stp\".\n\nLink-type specific stats are currently supported through struct link_util\nand in particular the callbacks parse_ifla_xstats and print_ifla_xstats.\n\nThe role of parse_ifla_xstats is to establish which statistical suite to\ndisplay, and on which device. \"ip stats\" has framework for both of these\ntasks, which obviates the need for custom parsing. Therefore the module\nshould instead provide a subgroup descriptor, which \"ip stats\" will then\nuse as any other.\n\nThe second link_util callback, print_ifla_xstats, is for response\ndissection. In \"ip stats\" model, this belongs to leaf descriptors.\n\nEventually, the link-specific leaf descriptors will be similar to each\nother: either master or slave top-level nest needs to be parsed, and\nlink-type attribute underneath that, and suite attribute underneath that.\n\nTo support this commonality, add struct ipstats_stat_desc_xstats to\ndescribe the xstats suites. Further, expose ipstats_stat_desc_pack_xstats()\nand ipstats_stat_desc_show_xstats(), which can be used at leaf descriptors\nand do the appropriate thing according to the configuration in\nipstats_stat_desc_xstats.\n\nSigned-off-by: Petr Machata \u003cpetrm@nvidia.com\u003e\nReviewed-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "c6900b79b13d7bc329955b4f9e8c7470d42ae2fa",
      "tree": "f0a0ca68fbff3d820ab0b1f421c2e1bb3dead68c",
      "parents": [
        "2ed73b9a80d8291359d477caafab5defca113c58"
      ],
      "author": {
        "name": "Petr Machata",
        "email": "petrm@nvidia.com",
        "time": "Mon May 09 15:59:58 2022 +0200"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Thu May 12 11:08:16 2022 -0600"
      },
      "message": "ipstats: Add a third level of stats hierarchy, a \"suite\"\n\nTo show statistics nested under IFLA_STATS_LINK_XSTATS_SLAVE or\nIFLA_STATS_LINK_XSTATS, one would use \"group\" to select the top-level\nattribute, then \"subgroup\" to select the link type, which is itself a nest,\nand then would lack a way to denote which attribute to select out of the\nlink-type nest.\n\nTo that end, add the selector level \"suite\", which is filtered in the\nuserspace.\n\nSigned-off-by: Petr Machata \u003cpetrm@nvidia.com\u003e\nReviewed-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    },
    {
      "commit": "2ed73b9a80d8291359d477caafab5defca113c58",
      "tree": "34e759d3300a7baa7ff0a9b7004c99cca9c9e035",
      "parents": [
        "5ed8fd9d514422771d283607fac523d8baef1179"
      ],
      "author": {
        "name": "Petr Machata",
        "email": "petrm@nvidia.com",
        "time": "Mon May 09 15:59:57 2022 +0200"
      },
      "committer": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Thu May 12 11:08:13 2022 -0600"
      },
      "message": "iplink: Add JSON support to MPLS stats formatter\n\nMPLS stats currently do not support dumping in JSON format. Recognize when\nJSON is requested and dump in an obvious manner:\n\n # ip -n ns0-2G8Ozd9z -j stats show dev veth01 group afstats | jq\n [\n   {\n     \"ifindex\": 3,\n     \"ifname\": \"veth01\",\n     \"group\": \"afstats\",\n     \"subgroup\": \"mpls\",\n     \"mpls_stats\": {\n       \"rx\": {\n         \"bytes\": 0,\n         \"packets\": 0,\n         \"errors\": 0,\n         \"dropped\": 0,\n         \"noroute\": 0\n       },\n       \"tx\": {\n         \"bytes\": 216,\n         \"packets\": 2,\n         \"errors\": 0,\n         \"dropped\": 0\n       }\n     }\n   }\n ]\n\nSigned-off-by: Petr Machata \u003cpetrm@nvidia.com\u003e\nReviewed-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\n"
    }
  ],
  "next": "5ed8fd9d514422771d283607fac523d8baef1179"
}
