)]}'
{
  "log": [
    {
      "commit": "ba96316ccc39413dbebcbf5221938184171ec97e",
      "tree": "b83c4828132dce49af78871532dac089f262ac19",
      "parents": [
        "7f00448fceebafcaede1178e4505e62aeaa5aa60"
      ],
      "author": {
        "name": "Chintan Vankar",
        "email": "c-vankar@ti.com",
        "time": "Sat Jul 05 19:18:07 2025 +0530"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeff.kirsher@gmail.com",
        "time": "Tue Oct 14 19:51:10 2025 -0700"
      },
      "message": "pretty: Add support for TI K3 CPSW registers and ALE table dump\n\nAdd support to dump CPSW registers and ALE table for the CPSW instances on\nK3 SoCs that are configured using the am65-cpsw-nuss.c device-driver in\nLinux.\n\nReviewed-by: Siddharth Vadapalli \u003cs-vadapalli@ti.com\u003e\nSigned-off-by: Chintan Vankar \u003cc-vankar@ti.com\u003e\n"
    },
    {
      "commit": "7f00448fceebafcaede1178e4505e62aeaa5aa60",
      "tree": "8425b0634ef148e76dbc6c9bdeb227bce0b9d8fa",
      "parents": [
        "35322178e09788d6065bb779621ddfc5b69867ee"
      ],
      "author": {
        "name": "Jijie Shao",
        "email": "shaojijie@huawei.com",
        "time": "Fri Mar 07 19:39:32 2025 +0800"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeff.kirsher@gmail.com",
        "time": "Tue Oct 14 19:51:10 2025 -0700"
      },
      "message": "hibmcge: add support dump registers for hibmcge driver\n\nAdd support pretty printer for the registers of hibmcge driver.\n\nSample output:\n$ ethtool -d enp132s0f2\n[SPEC]valid                   [0x0000]: 0x00000001\n[SPEC]event_req               [0x0004]: 0x00000000\n[SPEC]mac_id                  [0x0008]: 0x00000003\n[SPEC]phy_addr                [0x000c]: 0x00000003\n[SPEC]mac_addr_h              [0x0010]: 0x08080803\n[SPEC]mac_addr_l              [0x0014]: 0x00000808\n[SPEC]uc_max_num              [0x0018]: 0x00000004\n[SPEC]mdio_freq               [0x0024]: 0x00000000\n[SPEC]max_mtu                 [0x0028]: 0x00000fc2\n[SPEC]min_mtu                 [0x002c]: 0x00000100\n[SPEC]tx_fifo_num             [0x0030]: 0x00000040\n[SPEC]rx_fifo_num             [0x0034]: 0x0000007f\n[SPEC]vlan_layers             [0x0038]: 0x00000002\n[MDIO]command_reg             [0x0000]: 0x0000187f\n[MDIO]addr_reg                [0x0004]: 0x00000000\n[MDIO]wdata_reg               [0x0008]: 0x0000a000\n[MDIO]rdata_reg               [0x000c]: 0x00000000\n[MDIO]sta_reg                 [0x0010]: 0x00000000\n[GMAC]duplex_type             [0x0008]: 0x00000001\n[GMAC]fd_fc_type              [0x000c]: 0x00008808\n[GMAC]fc_tx_timer             [0x001c]: 0x000000ff\n[GMAC]fd_fc_addr_low          [0x0020]: 0x08080803\n[GMAC]fd_fc_addr_high         [0x0024]: 0x00000808\n[GMAC]max_frm_size            [0x003c]: 0x000005f6\n[GMAC]port_mode               [0x0040]: 0x00000008\n[GMAC]port_en                 [0x0044]: 0x00000006\n[GMAC]pause_en                [0x0048]: 0x00000003\n[GMAC]an_neg_state            [0x0058]: 0x00349800\n...\n\nSigned-off-by: Jijie Shao \u003cshaojijie@huawei.com\u003e\n"
    },
    {
      "commit": "35322178e09788d6065bb779621ddfc5b69867ee",
      "tree": "8e28381f5a98ee7c4fb0d9fb2ca868dcf6ec65cd",
      "parents": [
        "935d4bb205f99f6992c450e61b1301e9fb5ee8c7"
      ],
      "author": {
        "name": "Maxime Chevallier",
        "email": "maxime.chevallier@bootlin.com",
        "time": "Fri Sep 06 16:57:17 2024 +0200"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeff.kirsher@gmail.com",
        "time": "Tue Oct 14 19:51:10 2025 -0700"
      },
      "message": "ethtool: Allow passing a PHY index for phy-targetting commands\n\nWith the introduction of PHY topology and the ability to list PHYs, we\ncan now target some netlink commands to specific PHYs. This is done by\npassing a PHY index as a request parameter in the netlink GET command.\n\nThis is useful for PSE-PD, PLCA and Cable-testing operations when\nmultiple PHYs are on the link (e.g. when a PHY is used as an SFP\nupstream controller, and when there\u0027s another PHY within the SFP\nmodule).\n\nIntroduce a new, generic, option \"--phy N\" that can be used in\nconjunction with PHY-targetting commands to pass the PHY index for the\ntargetted PHY.\n\nSigned-off-by: Maxime Chevallier \u003cmaxime.chevallier@bootlin.com\u003e\n"
    },
    {
      "commit": "935d4bb205f99f6992c450e61b1301e9fb5ee8c7",
      "tree": "4bc4f360a8f33ed3302a2e5f5222fbebffbf038c",
      "parents": [
        "422504811c13c245cd627be2718fbaa109bdd6ec"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Wed Apr 17 22:02:39 2024 +0200"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeff.kirsher@gmail.com",
        "time": "Tue Oct 14 19:51:10 2025 -0700"
      },
      "message": "update UAPI header copies\n\nUpdate to kernel commit 2bd99aef1b19.\n\nSigned-off-by: Michal Kubecek \u003cmkubecek@suse.cz\u003e\n"
    },
    {
      "commit": "422504811c13c245cd627be2718fbaa109bdd6ec",
      "tree": "c83beecbe2ff6843dc28e4179d0c713c9d00eab7",
      "parents": [
        "a9c809e083c0a16a9397c0233d312b5b40488392",
        "9ad8e2929bcfb71f93b8751e544988f7ab7899ac"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Sep 29 18:53:26 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Sep 29 18:53:26 2025 +0200"
      },
      "message": "Merge branch \u0027review/pse-pd-prio-event-v3\u0027 into master\n\nKory Maincent:\n\nAdd support for PSE (Power Sourcing Equipment) priority management and\nevent monitoring capabilities.\n"
    },
    {
      "commit": "9ad8e2929bcfb71f93b8751e544988f7ab7899ac",
      "tree": "c83beecbe2ff6843dc28e4179d0c713c9d00eab7",
      "parents": [
        "e11ebba815b96b57d5c193f65bc0ad0facb1a41b"
      ],
      "author": {
        "name": "Kory Maincent (Dent Project)",
        "email": "kory.maincent@bootlin.com",
        "time": "Wed Aug 20 11:07:34 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Sep 29 18:25:36 2025 +0200"
      },
      "message": "ethtool: pse-pd: Add PSE event monitoring support\n\nAdd support for PSE (Power Sourcing Equipment) event monitoring\ncapabilities through the monitor command.\n\nSigned-off-by: Kory Maincent \u003ckory.maincent@bootlin.com\u003e\nReviewed-by: Oleksij Rempel \u003co.rempel@pengutronix.de\u003e\n"
    },
    {
      "commit": "e11ebba815b96b57d5c193f65bc0ad0facb1a41b",
      "tree": "340d3bf9e281f8a2d98bfc2868073763dfed2d5a",
      "parents": [
        "a9c809e083c0a16a9397c0233d312b5b40488392"
      ],
      "author": {
        "name": "Kory Maincent (Dent Project)",
        "email": "kory.maincent@bootlin.com",
        "time": "Wed Aug 20 11:07:33 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Sep 29 18:25:36 2025 +0200"
      },
      "message": "ethtool: pse-pd: Add PSE priority support\n\nAdd support for PSE (Power Sourcing Equipment) priority management:\n- Add priority configuration parameter (prio) for port priority management\n- Display power domain index, maximum priority, and current priority\n\nSigned-off-by: Kory Maincent \u003ckory.maincent@bootlin.com\u003e\nReviewed-by: Oleksij Rempel \u003co.rempel@pengutronix.de\u003e\n"
    },
    {
      "commit": "a9c809e083c0a16a9397c0233d312b5b40488392",
      "tree": "17cf5c7041d7c180ae7a2583caa9eaca8f0fc1c8",
      "parents": [
        "755f5d758e7a365d13140a130a748283b67f756e"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Sep 29 18:23:37 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Sep 29 18:23:37 2025 +0200"
      },
      "message": "update UAPI header copies\n\nUpdate to kernel v6.17.\n\nSigned-off-by: Michal Kubecek \u003cmkubecek@suse.cz\u003e\n"
    },
    {
      "commit": "755f5d758e7a365d13140a130a748283b67f756e",
      "tree": "1380d90c1aa461e94ada22856e157225849267fc",
      "parents": [
        "2fd487d24ca9ed9900b8a896547cd5878f378aea"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Thu Aug 07 22:58:58 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Thu Aug 07 22:58:58 2025 +0200"
      },
      "message": "pretty: add descriptions for new TSINFO attributes\n\nAdd descriptions for ETHTOOL_A_TSINFO_HWTSTAMP_SOURCE and\nETHTOOL_A_TSINFO_HWTSTAMP_PHYINDEX netlink attributes.\n\nSigned-off-by: Michal Kubecek \u003cmkubecek@suse.cz\u003e\n"
    },
    {
      "commit": "2fd487d24ca9ed9900b8a896547cd5878f378aea",
      "tree": "84c7e42b4dc1882343e5cdc44b36422076e5e349",
      "parents": [
        "41d6105250c8293eddeb5f9332434728e7da4335"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Thu Aug 07 22:54:17 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Thu Aug 07 22:54:17 2025 +0200"
      },
      "message": "update UAPI header copies\n\nUpdate to kernel v6.16.\n\nSigned-off-by: Michal Kubecek \u003cmkubecek@suse.cz\u003e\n"
    },
    {
      "commit": "41d6105250c8293eddeb5f9332434728e7da4335",
      "tree": "19a7d71259ad1979afc60cae54e2060c6b376da4",
      "parents": [
        "b70c928661024cd07914feb49122275daab904ea"
      ],
      "author": {
        "name": "Michel Lind",
        "email": "michel@michel-slm.name",
        "time": "Thu Jul 24 19:48:11 2025 -0500"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Thu Aug 07 22:40:01 2025 +0200"
      },
      "message": "netlink: fix print_string when the value is NULL\n\nThe previous fix in commit b70c92866102 (\"netlink: fix missing headers\nin text output\") handles the case when value is NULL by still using\n`fprintf` but passing no value.\n\nThis fails if `-Werror\u003dformat-security` is passed to gcc, as is the\ndefault in distros like Fedora.\n\n```\njson_print.c: In function \u0027print_string\u0027:\njson_print.c:147:25: error: format not a string literal and no format arguments [-Werror\u003dformat-security]\n  147 |                         fprintf(stdout, fmt);\n      |\n```\n\nUse `fprintf(stdout, \"%s\", fmt)` instead, using the format string as the\nvalue, since in this case we know it is just a string without format\nchracters.\n\nReviewed-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: Michel Lind \u003cmichel@michel-slm.name\u003e\n"
    },
    {
      "commit": "b70c928661024cd07914feb49122275daab904ea",
      "tree": "23064db8b1769537fe13d23408f74a16e0ea8330",
      "parents": [
        "eb91e05c98d40c842dc7103dc43e5f09df30e51d"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Sat Jul 12 07:51:05 2025 -0700"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Jul 21 23:17:21 2025 +0200"
      },
      "message": "netlink: fix missing headers in text output\n\nThe commit under fixes added a NULL-check which prevents us from\nprinting text headers. Conversions to add JSON support often use:\n\n  print_string(PRINT_FP, NULL, \"some text:\\n\", NULL);\n\nto print in plain text mode.\n\nCorrect output:\n\n  Channel parameters for vpn0:\n  Pre-set maximums:\n  RX:\t\tn/a\n  TX:\t\tn/a\n  Other:\t\tn/a\n  Combined:\t1\n  Current hardware settings:\n  RX:\t\tn/a\n  TX:\t\tn/a\n  Other:\t\tn/a\n  Combined:\t0\n\nWith the buggy patch:\n\n  Channel parameters for vpn0:\n  RX:\t\tn/a\n  TX:\t\tn/a\n  Other:\t\tn/a\n  Combined:\t1\n  RX:\t\tn/a\n  TX:\t\tn/a\n  Other:\t\tn/a\n  Combined:\t0\n\nFixes: fd328ccb3cc0 (\"json_print: add NULL check before jsonw_string_field() in print_string()\")\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "eb91e05c98d40c842dc7103dc43e5f09df30e51d",
      "tree": "c8f1ecdef5c766dfa46772f7b22547115dab82dd",
      "parents": [
        "f45ec72f76d6ac8bd5491c3b203824a1a9f39757"
      ],
      "author": {
        "name": "Chintan Vankar",
        "email": "c-vankar@ti.com",
        "time": "Sat Jul 05 19:18:07 2025 +0530"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Jul 07 20:44:19 2025 +0200"
      },
      "message": "pretty: Add support for TI K3 CPSW registers and ALE table dump\n\nAdd support to dump CPSW registers and ALE table for the CPSW instances on\nK3 SoCs that are configured using the am65-cpsw-nuss.c device-driver in\nLinux.\n\nReviewed-by: Siddharth Vadapalli \u003cs-vadapalli@ti.com\u003e\nSigned-off-by: Chintan Vankar \u003cc-vankar@ti.com\u003e\n"
    },
    {
      "commit": "f45ec72f76d6ac8bd5491c3b203824a1a9f39757",
      "tree": "f383aba5a5b1eddd932fb1fc6157b8d5e49e84eb",
      "parents": [
        "4be070563a3ac2cf122dcbc8bb2dba695ab22fe9"
      ],
      "author": {
        "name": "Benjamin Poirier",
        "email": "bpoirier@nvidia.com",
        "time": "Thu Jun 26 09:51:44 2025 +0900"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Jul 07 20:41:59 2025 +0200"
      },
      "message": "ethtool.8: Remove \"default\" note about rxfh xfrm\n\nSince linux.git commit 4d20c9f2db83 (\"net/mlx5e: Symmetric OR-XOR RSS hash\ncontrol\"), the default rxfh xfrm used by mlx5 devices is\n\u0027symmetric-or-xor\u0027. Since the default xfrm is driver-dependent and\nethtool.8 does not document the default values implemented by drivers,\nremove the comment from ethtool.8 which says that the default xfrm is\n\u0027none\u0027.\n\nCc: Gal Pressman \u003cgal@nvidia.com\u003e\nSigned-off-by: Benjamin Poirier \u003cbpoirier@nvidia.com\u003e\n"
    },
    {
      "commit": "4be070563a3ac2cf122dcbc8bb2dba695ab22fe9",
      "tree": "f900ec9709389a9fbb35a0c9521a3f2783b301aa",
      "parents": [
        "380ce5b6cb235f2ca7b301975c2c87b3c2dcba7d"
      ],
      "author": {
        "name": "Maxime Chevallier",
        "email": "maxime.chevallier@bootlin.com",
        "time": "Tue Jun 24 08:06:41 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Jul 07 20:33:03 2025 +0200"
      },
      "message": "monitor: Add notification handling for PLCA configuration\n\nPhysical Layer Collision Avoindance (PLCA) has configuration and status\nnetlink commands (PLCA_GET/SET_CFG and PLCA_GET_STATUS).\n\nThe PLCA_xxx_CFG commands generate notifications, allow monitoring them.\n\nSigned-off-by: Maxime Chevallier \u003cmaxime.chevallier@bootlin.com\u003e\n"
    },
    {
      "commit": "380ce5b6cb235f2ca7b301975c2c87b3c2dcba7d",
      "tree": "02de420ddba0f306e483719e0af2f43382e52eaf",
      "parents": [
        "6e926d3b545946d260c1f1f7c13fd09825e86879"
      ],
      "author": {
        "name": "Kory Maincent",
        "email": "kory.maincent@bootlin.com",
        "time": "Tue Jun 10 14:50:02 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Jul 07 19:25:59 2025 +0200"
      },
      "message": "tsinfo: Add support for PTP hardware source\n\nAdd description of the PTP hardware source to indicate whether the\ntimestamp comes from a PHY or a MAC.\n\nSigned-off-by: Kory Maincent \u003ckory.maincent@bootlin.com\u003e\n"
    },
    {
      "commit": "6e926d3b545946d260c1f1f7c13fd09825e86879",
      "tree": "18adb05fbcb885eb8013d31a1e244740df9a6e3b",
      "parents": [
        "ce6ef417dacb5a81a74d85e17c34f6d299e08083"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Jun 23 18:33:19 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Jul 07 19:25:59 2025 +0200"
      },
      "message": "update UAPI header copies\n\nUpdate to kernel v6.16-rc3.\n\nSigned-off-by: Michal Kubecek \u003cmkubecek@suse.cz\u003e\n"
    },
    {
      "commit": "ce6ef417dacb5a81a74d85e17c34f6d299e08083",
      "tree": "ee12e08ed42b956ce102da454960f4da5c5c93fa",
      "parents": [
        "782ec4080248217a9304a2e448e33cb56f5cda6c",
        "50e6337db9385ff2c4be75c9fe88cac3cb2f380c"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Jun 23 22:25:55 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Jun 23 22:25:55 2025 +0200"
      },
      "message": "Merge branch \u0027next\u0027 into master\n"
    },
    {
      "commit": "782ec4080248217a9304a2e448e33cb56f5cda6c",
      "tree": "7c6ae1922a0ac739ae6b7af26fd083e3cd388c67",
      "parents": [
        "e92c2396d81b96bf39041ad196b0abb1ac77ed42"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Jun 23 19:52:59 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Jun 23 19:52:59 2025 +0200"
      },
      "message": "Release version 6.15.\n"
    },
    {
      "commit": "e92c2396d81b96bf39041ad196b0abb1ac77ed42",
      "tree": "4b897fd384ba0fd456c899ddc7deb0ff8902efda",
      "parents": [
        "196c3609ad9b8ad7a675d36cb2c5672d12ef3293"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Jun 23 19:36:18 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Jun 23 19:36:18 2025 +0200"
      },
      "message": "add new 200/400/800Gb/s modes to link mode tables\n\nAdd recently added 200, 400 and 800Gb/s link modes to man page and ioctl\nand fallback code paths.\n\nSigned-off-by: Michal Kubecek \u003cmkubecek@suse.cz\u003e\n"
    },
    {
      "commit": "196c3609ad9b8ad7a675d36cb2c5672d12ef3293",
      "tree": "ffbee9949837693bc91ccb6c9cfcd507e639e6f7",
      "parents": [
        "7f58b7376cc6563e91176da11c0a1bd18774dd21"
      ],
      "author": {
        "name": "Jijie Shao",
        "email": "shaojijie@huawei.com",
        "time": "Mon Jun 16 21:18:40 2025 +0800"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Jun 23 18:41:34 2025 +0200"
      },
      "message": "ethtool: hibmcge: fix wrong register address in pretty print of ethtool -d command\n\nThe addresses of mac_addr_h and mac_addr_l are wrong,\nthey need to be swapped.\n\nFixes: d89f6ee9c12a (\"hibmcge: add support dump registers for hibmcge driver\")\nSigned-off-by: Jijie Shao \u003cshaojijie@huawei.com\u003e\n"
    },
    {
      "commit": "50e6337db9385ff2c4be75c9fe88cac3cb2f380c",
      "tree": "b02fb2a0ee47401779d10558de0caa4de17083e8",
      "parents": [
        "7f58b7376cc6563e91176da11c0a1bd18774dd21"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Jun 23 18:24:11 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Jun 23 18:24:11 2025 +0200"
      },
      "message": "update UAPI header copies\n\nUpdate to kernel v6.15-rc3.\n\nSigned-off-by: Michal Kubecek \u003cmkubecek@suse.cz\u003e\n"
    },
    {
      "commit": "7f58b7376cc6563e91176da11c0a1bd18774dd21",
      "tree": "72ec38c89a44cd845af2411810e76b2a65a4ad8d",
      "parents": [
        "e35fbe644b410e0cdc70111a053a7e1c04108677"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Wed Jun 11 01:57:26 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Wed Jun 11 01:57:26 2025 +0200"
      },
      "message": "update UAPI header copies\n\nUpdate to kernel v6.15.\n\nSigned-off-by: Michal Kubecek \u003cmkubecek@suse.cz\u003e\n"
    },
    {
      "commit": "e35fbe644b410e0cdc70111a053a7e1c04108677",
      "tree": "b02fb2a0ee47401779d10558de0caa4de17083e8",
      "parents": [
        "33fffbbdc12d71b3bb23acd04b97ce1b485f3c60",
        "35eb71b0096898a566208613aaee8ff6f5933948"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Wed Jun 11 01:41:05 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Wed Jun 11 01:41:05 2025 +0200"
      },
      "message": "Merge branch \u0027review/json-per-lane\u0027\n\nJakub Kicinski:\n\nI got some feedback from users trying to integrate the SFP JSON\noutput to Meta\u0027s monitoring systems. The loss / fault signals\nare currently a bit awkward to parse. This patch set changes\nthe format, is it still okay to merge it (as a fix?)\nI think it\u0027s a worthwhile improvement, not sure how many people\ndepend on the current JSON format after 1 release..\n"
    },
    {
      "commit": "35eb71b0096898a566208613aaee8ff6f5933948",
      "tree": "b02fb2a0ee47401779d10558de0caa4de17083e8",
      "parents": [
        "7ca78b77af7482eb189d15e26c3464ddcb5b5d58"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu May 29 07:20:33 2025 -0700"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Wed Jun 11 01:33:19 2025 +0200"
      },
      "message": "module_common: print loss / fault signals as bool\n\nJSON output is supposed to be easy to parse. We currently\noutput \"Yes\" / \"No\" for the per-lane signal loss / fault.\nThis forces user space to do string matching. Print bool.\n\nBefore:\n  \"rx_loss_of_signal\": [\"No\", \"No\", \"No\", \"No\"],\n\nAfter:\n  \"rx_loss_of_signal\": [false, false, false, false],\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nReviewed-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\n"
    },
    {
      "commit": "7ca78b77af7482eb189d15e26c3464ddcb5b5d58",
      "tree": "8c179b110996cda9af246f365959003aae129af3",
      "parents": [
        "33fffbbdc12d71b3bb23acd04b97ce1b485f3c60"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Thu May 29 07:20:32 2025 -0700"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Wed Jun 11 01:33:19 2025 +0200"
      },
      "message": "module_common: always print per-lane status in JSON\n\nThe JSON output type changes when loss of signal / fault is\ndetected. When there is no problem we print single bool, eg:\n\n  \"rx_loss_of_signal\": false,\n\nbut when there\u0027s a problem we print an array:\n\n  \"rx_loss_of_signal\": [\"No\", \"Yes\", \"No\", \"No\"],\n\nThis appears to be a mirror of the human-readable output,\nbut it\u0027s a pain to parse / unmarshall for user space.\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nReviewed-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\n"
    },
    {
      "commit": "33fffbbdc12d71b3bb23acd04b97ce1b485f3c60",
      "tree": "dfc3aa35e3097b46c6105082ec1f5623788670b3",
      "parents": [
        "f111e854d99e3284893ef59efcfb6e5a5857d396"
      ],
      "author": {
        "name": "AntonMoryakov",
        "email": "ant.v.moryakov@gmail.com",
        "time": "Sun May 18 16:18:18 2025 +0300"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Wed Jun 11 01:05:12 2025 +0200"
      },
      "message": "fec: fix possible NULL dereference in fec_mode_walk()\n\nStatic analyzer (Svace) reported a possible null pointer dereference\nin fec_mode_walk(), where the \u0027name\u0027 pointer is passed to print_string()\nwithout checking for NULL.\n\nAlthough some callers check the return value of get_string(), others\n(e.g., walk_bitset()) do not. This patch adds an early NULL check\nto avoid dereferencing a null pointer.\n\nThis resolves:\nDEREF_OF_NULL.EX.COND: json_print.c:142 via fec.c\n\nFound by Svace static analysis tool.\n\nSigned-off-by: Anton Moryakov \u003cant.v.moryakov@gmail.com\u003e\n"
    },
    {
      "commit": "f111e854d99e3284893ef59efcfb6e5a5857d396",
      "tree": "a94d0f5ecb92389bde858ee3e63a54c1ccc9a35a",
      "parents": [
        "fd328ccb3cc0d74d6818817b14d9de25aac85331"
      ],
      "author": {
        "name": "AntonMoryakov",
        "email": "ant.v.moryakov@gmail.com",
        "time": "Sun May 18 16:08:28 2025 +0300"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Wed Jun 11 00:43:23 2025 +0200"
      },
      "message": "common: fix potential NULL dereference in print_rss_hkey()\n\nStatic analyzer (Svace) reported a possible null pointer dereference\nin print_rss_hkey(). Specifically, when the \u0027hkey\u0027 pointer is NULL,\nthe function continues execution after printing an error message,\nleading to dereferencing hkey[i].\n\nThis patch adds an early return after the NULL check to prevent\nexecution from continuing in such cases.\n\nThis resolves:\nDEREF_AFTER_NULL: common.c:209\n\nFound by Svace static analysis tool.\n\nSigned-off-by: Anton Moryakov \u003cant.v.moryakov@gmail.com\u003e\n"
    },
    {
      "commit": "fd328ccb3cc0d74d6818817b14d9de25aac85331",
      "tree": "b960db9453fd6fa05935815d03d67b5af37ed330",
      "parents": [
        "d12a0a7b343e476c735e6bcde03be0ea20192aff"
      ],
      "author": {
        "name": "AntonMoryakov",
        "email": "ant.v.moryakov@gmail.com",
        "time": "Sun May 18 16:01:11 2025 +0300"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Wed Jun 11 00:40:06 2025 +0200"
      },
      "message": "json_print: add NULL check before jsonw_string_field() in print_string()\n\nStatic analyzer (Svace) reported a potential null pointer dereference\nin print_string(). Specifically, when both \u0027key\u0027 and \u0027value\u0027 are NULL,\nthe function falls through to jsonw_string_field(_jw, key, value),\nwhich dereferences both pointers.\n\nAlthough comments suggest this case is unlikely, it is safer to\nexplicitly guard against it. This patch adds a check to ensure\nboth key and value are non-NULL before passing to jsonw_string_field().\n\nThis resolves:\nDEREF_AFTER_NULL: json_print.c:142\n\nFound by Svace static analysis tool.\n\nSigned-off-by: Anton Moryakov \u003cant.v.moryakov@gmail.com\u003e\n"
    },
    {
      "commit": "d12a0a7b343e476c735e6bcde03be0ea20192aff",
      "tree": "e56a2bc5b155a7cc8b2a1d5cf44bf9e58f9d0b80",
      "parents": [
        "9338aa51d4856273539a052332de3695e09620bd"
      ],
      "author": {
        "name": "Anton Moryakov",
        "email": "ant.v.moryakov@gmail.com",
        "time": "Tue May 13 23:01:28 2025 +0300"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Wed Jun 11 00:39:52 2025 +0200"
      },
      "message": "netlink: add NULL check for get_string() in features.c\n\nReport of the static analyzer:\nReturn value of a function \u0027get_string\u0027 is dereferenced at features.c:279\nwithout checking for NULL, but it is usually checked for this function (6/7).\n\nCorrect explained:\nAdded NULL check for get_string() return value before passing to strcmp()\nto prevent potential NULL pointer dereference. This matches the behavior\nin other similar code paths where get_string() is used.\n\nTriggers found by static analyzer Svace.\n\nFixes: a7a05af4a1ea (\"netlink: add netlink handler for sfeatures (-K)\")\nSigned-off-by: Anton Moryakov \u003cant.v.moryakov@gmail.com\u003e\n"
    },
    {
      "commit": "9338aa51d4856273539a052332de3695e09620bd",
      "tree": "8c412b08d7096d229672c5cfd16500219867db09",
      "parents": [
        "64226907d0d6734bef5098eb343fd2194cd140e2",
        "d89f6ee9c12ac49a0692dc26080e81d8d190c941"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon May 26 17:47:42 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon May 26 17:47:42 2025 +0200"
      },
      "message": "Merge branch \u0027review/pretty-hibmcge\u0027\n"
    },
    {
      "commit": "64226907d0d6734bef5098eb343fd2194cd140e2",
      "tree": "b7f96b5d6e5ad38a4cb408f8c7d49f091cf1af0b",
      "parents": [
        "cf3a1369647e68d919c9a51f0f252c499962d6a0"
      ],
      "author": {
        "name": "Jakub Kicinski",
        "email": "kuba@kernel.org",
        "time": "Tue Apr 29 08:03:32 2025 -0700"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Tue Apr 29 21:27:52 2025 +0200"
      },
      "message": "channels: support json output\n\nMake -l | --show-channels support JSON output format.\n\n  # ./ethtool -j -l \u0027*\u0027 | jq\n  [\n    {\n      \"ifname\": \"eth0\",\n      \"rx-max\": 32,\n      \"tx-max\": 32,\n      \"combined-max\": 32,\n      \"rx\": 0,\n      \"tx\": 0,\n      \"combined\": 20\n    },\n    {\n      \"ifname\": \"veth0\",\n      \"rx-max\": 80,\n      \"tx-max\": 80,\n      \"rx\": 1,\n      \"tx\": 1\n    },\n    {\n      \"ifname\": \"veth1\",\n      \"rx-max\": 80,\n      \"tx-max\": 80,\n      \"rx\": 1,\n      \"tx\": 1\n    }\n  ]\n\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "cf3a1369647e68d919c9a51f0f252c499962d6a0",
      "tree": "6fc5b92c3fb5bbe2829f81092a2be2a9356b2cb5",
      "parents": [
        "a38a2d3a82713e6916a23a094f7860b3460e67e0"
      ],
      "author": {
        "name": "Salvatore Bonaccorso",
        "email": "carnil@debian.org",
        "time": "Fri Apr 11 15:58:55 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Tue Apr 29 21:19:22 2025 +0200"
      },
      "message": "Set type property to console-application for provided AppStream metainfo XML\n\nAs pointed out in the Debian downstream report, as ethtool is a\ncommand-line tool the XML root myst have the type property set to\nconsole-application.\n\nAdditionally with the type propety set to desktop, ethtool is user\nuninstallable via GUI (such as GNOME Software or KDE Discover).\n\nconsole-application AppStream metainfo XML at least one binary provided\nmust be listed in the \u003cbinary\u003e tag, thus add the required value along.\n\nFixes: 02d505bba6fe (\"Add AppStream metainfo XML with modalias documented supported hardware.\")\nReported-by: Daniel Rusek \u003casciiwolf@seznam.cz\u003e\nCo-Developed-by: Daniel Rusek \u003casciiwolf@seznam.cz\u003e\nLink: https://bugs.debian.org/1102647\nLink: https://bugzilla.redhat.com/show_bug.cgi?id\u003d2359069\nLink: https://freedesktop.org/software/appstream/docs/sect-Metadata-ConsoleApplication.html\nTested-by: Petter Reinholdtsen \u003cpere@hungry.com\u003e\nSigned-off-by: Salvatore Bonaccorso \u003ccarnil@debian.org\u003e\n"
    },
    {
      "commit": "a38a2d3a82713e6916a23a094f7860b3460e67e0",
      "tree": "bc6fa83b32942c858cb585e796161f891ce85b11",
      "parents": [
        "66e5dcf295c0fad7deb070f8449e984bfcfbc927"
      ],
      "author": {
        "name": "Mohsin Bashir",
        "email": "mohsin.bashr@gmail.com",
        "time": "Wed Apr 16 17:30:20 2025 -0700"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Tue Apr 29 21:14:41 2025 +0200"
      },
      "message": "ethtool: fbnic: ethtool dump parser\n\nThis patch adds support for parsing the register dump for fbnic.\n\nThe patch is composed of several register sections, and each of these\nsections is dumped lineraly except for the RPC_RAM section which is handled\ndifferently.\n\nFor each of the sections, we dump register name, its value, the bit mask\nof any subfields within that register, the name of the subfield, and the\ncorresponding value.\n\nFurthermore, there may be unused blocks within a section; we skip such\nblocks while dumping registers linearly.\n\nValidation:\n- Validate patch applies to master without any warning\n- Validate \u0027ethtool -d\u0027 for net-next branch generates ascii dump\n\t$ uname -r\n\t  6.14.0-0_fbk701_rc0_429_g8e5edf971d0\n\t$ ./ethtool -d eth0 \u003e /tmp/fbnic_ascii_dump\n\n- Verify patch compiles without any warning on 32bit\n  `make clean \u0026\u0026 ./configure CFLAGS\u003d\"-m32\" \u0026\u0026 make \u0026\u0026 make check`\n   \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n   Testsuite summary for ethtool 6.14\n   \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n   # TOTAL: 1\n   # PASS:  1\n   # SKIP:  0\n   # XFAIL: 0\n   # FAIL:  0\n   # XPASS: 0\n   # ERROR: 0\n   \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Mohsin Bashir \u003cmohsin.bashr@gmail.com\u003e\n"
    },
    {
      "commit": "66e5dcf295c0fad7deb070f8449e984bfcfbc927",
      "tree": "abf05e567b7916b5705adeb86e7a9d86f37f3c87",
      "parents": [
        "1e66fe5ab12cd9a75870a3da2abacc11d7daa7ea"
      ],
      "author": {
        "name": "Taehee Yoo",
        "email": "ap420073@gmail.com",
        "time": "Tue Apr 08 06:06:25 2025 +0000"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Tue Apr 29 19:37:56 2025 +0200"
      },
      "message": "ethtool: Add support for configuring hds-thresh\n\nHDS(Header Data Split) threshold value is used by header-data-split.\nIf received packet\u0027s length is larger than hds-thresh value,\nheader/data of packet will be splited.\n\nethtool -g|--get-ring \u003cinterface name\u003e hds-thresh\nethtool -G|--set-ring \u003cinterface name\u003e hds-thresh \u003c0 - MAX\u003e\n\nThe minimum value is 0, which indicates header/data will be splited\nfor all receive packets.\nThe maximum value is up to hardware limitation.\n\nSigned-off-by: Taehee Yoo \u003cap420073@gmail.com\u003e\n"
    },
    {
      "commit": "1e66fe5ab12cd9a75870a3da2abacc11d7daa7ea",
      "tree": "487bb9a88fa2306e9e15cede6af6cc906502496e",
      "parents": [
        "464b485c761eb27474ece3a74c4b85d7a6ad1907"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Tue Apr 29 18:10:50 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Tue Apr 29 18:10:50 2025 +0200"
      },
      "message": "update UAPI header copies\n\nUpdate to kernel v6.15-rc4.\n\nSigned-off-by: Michal Kubecek \u003cmkubecek@suse.cz\u003e\n"
    },
    {
      "commit": "464b485c761eb27474ece3a74c4b85d7a6ad1907",
      "tree": "e8c34d49afce58d3894153d40e42c9cbc26508c3",
      "parents": [
        "fba608c5a8ac943ebff046f387ade9dd364eb5a7",
        "4e14aded68589b6a50c0e517ea09707ad2f8747a"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Tue Apr 29 18:10:12 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Tue Apr 29 18:10:12 2025 +0200"
      },
      "message": "Merge branch \u0027next\u0027 into master\n"
    },
    {
      "commit": "fba608c5a8ac943ebff046f387ade9dd364eb5a7",
      "tree": "6bfcad29126a529c8a5147713d2be57447b2e172",
      "parents": [
        "79dfc7ea04ab810367a769abf9cadfcd32b59cce"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Apr 07 22:26:40 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Apr 07 22:26:40 2025 +0200"
      },
      "message": "Release version 6.14.\n\nSigned-off-by: Michal Kubecek \u003cmkubecek@suse.cz\u003e\n"
    },
    {
      "commit": "79dfc7ea04ab810367a769abf9cadfcd32b59cce",
      "tree": "e768810a8d8c18d14f653ca1fdfd4f6989dfd433",
      "parents": [
        "ce018f18a7ecdb0a815f55974a025895633d12a0"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Apr 07 22:24:28 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Apr 07 22:24:28 2025 +0200"
      },
      "message": "tarball: add missing ts.h file\n\nRecently added header file netlink/ts.h also needs to be included in source\ntarball.\n\nFixes: afd21d7244cd (\"netlink: Add support for tsconfig command\")\nSigned-off-by: Michal Kubecek \u003cmkubecek@suse.cz\u003e\n"
    },
    {
      "commit": "ce018f18a7ecdb0a815f55974a025895633d12a0",
      "tree": "d76faca8deec4e888aacda8221e3e0811d08066d",
      "parents": [
        "7b7d22797f95d45706519fcb9da98231cfb215a3"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Apr 07 22:14:08 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Apr 07 22:14:08 2025 +0200"
      },
      "message": "tarball: add missing UAPI header file\n\nMost of ethtool_netlink.h UAPI header file was split into (generated)\nseparate file ethtool_netlink_generated.h so that we also need to add this\nheader file into the source tarball.\n\nSigned-off-by: Michal Kubecek \u003cmkubecek@suse.cz\u003e\n"
    },
    {
      "commit": "7b7d22797f95d45706519fcb9da98231cfb215a3",
      "tree": "594af859420923b2389e98ecc50330884849970b",
      "parents": [
        "48b0fe48a1db99d93840dbc5bcd095f1c872e905"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Apr 07 20:07:11 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Apr 07 20:07:11 2025 +0200"
      },
      "message": "pretty: catch up with recent UAPI updates\n\nSome recent updates in ethtool netlink UAPI were not reflected in\nnetlink/desc-ethtool.c so that pretty printed messages did not show\nhuman readable identifiers for some messages and attributes. Add missing\ndescriptions to sync with the UAPI state as of kernel v6.14.\n\nSigned-off-by: Michal Kubecek \u003cmkubecek@suse.cz\u003e\n"
    },
    {
      "commit": "48b0fe48a1db99d93840dbc5bcd095f1c872e905",
      "tree": "8e4ddfd905d1cb83a40050fd171a972b936387da",
      "parents": [
        "dd35fad357f53cfe77f99f0abe102ad7681ba634"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Apr 07 19:50:31 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Apr 07 19:50:31 2025 +0200"
      },
      "message": "pretty: reorder message description to match UAPI header\n\nReorder message descriptions in netlink/desc-ethtool.c to match the order\nin which declarations are ethtool_netlink_generated.h. This does not\nintroduce any change in resulting code but makes it easier to keep the two\nfiles in sync.\n\nSigned-off-by: Michal Kubecek \u003cmkubecek@suse.cz\u003e\n"
    },
    {
      "commit": "4e14aded68589b6a50c0e517ea09707ad2f8747a",
      "tree": "0f867217005f4d75a9beef447b833043e53ee706",
      "parents": [
        "ba1a6fd11de21e6aa67bd55932efa0c84c5c83b8",
        "dd35fad357f53cfe77f99f0abe102ad7681ba634"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 01:48:50 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 01:48:50 2025 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into next\n"
    },
    {
      "commit": "d89f6ee9c12ac49a0692dc26080e81d8d190c941",
      "tree": "3467a0d9062c94954165773602c360ba7fe0c913",
      "parents": [
        "dd35fad357f53cfe77f99f0abe102ad7681ba634"
      ],
      "author": {
        "name": "Jijie Shao",
        "email": "shaojijie@huawei.com",
        "time": "Fri Mar 07 19:39:32 2025 +0800"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 01:42:37 2025 +0200"
      },
      "message": "hibmcge: add support dump registers for hibmcge driver\n\nAdd support pretty printer for the registers of hibmcge driver.\n\nSample output:\n$ ethtool -d enp132s0f2\n[SPEC]valid                   [0x0000]: 0x00000001\n[SPEC]event_req               [0x0004]: 0x00000000\n[SPEC]mac_id                  [0x0008]: 0x00000003\n[SPEC]phy_addr                [0x000c]: 0x00000003\n[SPEC]mac_addr_h              [0x0010]: 0x08080803\n[SPEC]mac_addr_l              [0x0014]: 0x00000808\n[SPEC]uc_max_num              [0x0018]: 0x00000004\n[SPEC]mdio_freq               [0x0024]: 0x00000000\n[SPEC]max_mtu                 [0x0028]: 0x00000fc2\n[SPEC]min_mtu                 [0x002c]: 0x00000100\n[SPEC]tx_fifo_num             [0x0030]: 0x00000040\n[SPEC]rx_fifo_num             [0x0034]: 0x0000007f\n[SPEC]vlan_layers             [0x0038]: 0x00000002\n[MDIO]command_reg             [0x0000]: 0x0000187f\n[MDIO]addr_reg                [0x0004]: 0x00000000\n[MDIO]wdata_reg               [0x0008]: 0x0000a000\n[MDIO]rdata_reg               [0x000c]: 0x00000000\n[MDIO]sta_reg                 [0x0010]: 0x00000000\n[GMAC]duplex_type             [0x0008]: 0x00000001\n[GMAC]fd_fc_type              [0x000c]: 0x00008808\n[GMAC]fc_tx_timer             [0x001c]: 0x000000ff\n[GMAC]fd_fc_addr_low          [0x0020]: 0x08080803\n[GMAC]fd_fc_addr_high         [0x0024]: 0x00000808\n[GMAC]max_frm_size            [0x003c]: 0x000005f6\n[GMAC]port_mode               [0x0040]: 0x00000008\n[GMAC]port_en                 [0x0044]: 0x00000006\n[GMAC]pause_en                [0x0048]: 0x00000003\n[GMAC]an_neg_state            [0x0058]: 0x00349800\n...\n\nSigned-off-by: Jijie Shao \u003cshaojijie@huawei.com\u003e\n"
    },
    {
      "commit": "dd35fad357f53cfe77f99f0abe102ad7681ba634",
      "tree": "ff5af5e0fb31c154795d851d04f031b9b2218a93",
      "parents": [
        "f8c6a20150653341600e5739a8567c1cb6ab63fc",
        "afd21d7244cd2b6ab60b86e3b507241b8e15eec5"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 01:21:16 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 01:21:16 2025 +0200"
      },
      "message": "Merge branch \u0027review/hw-timestamp-provider\u0027 into master\n\nKory Maincent:\n\nAdd support for reading tsinfo of a specific hardware timetstamp provider.\nEnable selecting the hwtstamp provider within the network topology of a\nnetwork interface.\n"
    },
    {
      "commit": "afd21d7244cd2b6ab60b86e3b507241b8e15eec5",
      "tree": "ff5af5e0fb31c154795d851d04f031b9b2218a93",
      "parents": [
        "7c18b5cfe15b482055ef0d0ab4c34f4b5f7e1b20"
      ],
      "author": {
        "name": "Kory Maincent",
        "email": "kory.maincent@bootlin.com",
        "time": "Wed Mar 05 18:33:39 2025 +0100"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 01:16:21 2025 +0200"
      },
      "message": "netlink: Add support for tsconfig command\n\nAdd support for the tsconfig command to get and set the hardware timestamp\nconfiguration. Currently, only allows selecting the hardware timestamp\nprovider within a network interface topology.\nThe configuration of tx_types and rx_filter is already handled by the\nlinuxptp tool, so ethtool should not modify these parameters.\n\nSigned-off-by: Kory Maincent \u003ckory.maincent@bootlin.com\u003e\n"
    },
    {
      "commit": "7c18b5cfe15b482055ef0d0ab4c34f4b5f7e1b20",
      "tree": "670fe8c0b19ff78a0f6d012ea33c6b908649ceed",
      "parents": [
        "f8c6a20150653341600e5739a8567c1cb6ab63fc"
      ],
      "author": {
        "name": "Kory Maincent",
        "email": "kory.maincent@bootlin.com",
        "time": "Wed Mar 05 18:33:38 2025 +0100"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 01:16:21 2025 +0200"
      },
      "message": "tsinfo: Add support for hwtstamp provider\n\nAdd support for retrieving the hwtstamp provider description, which\nconsists of an index and a qualifier.\n\nExtend tsinfo to allow querying timestamping information for a specific\nhwtstamp provider within a network interface topology.\n\nSigned-off-by: Kory Maincent \u003ckory.maincent@bootlin.com\u003e\n"
    },
    {
      "commit": "f8c6a20150653341600e5739a8567c1cb6ab63fc",
      "tree": "7f7205a123fb696836e76fde5efac932af02367a",
      "parents": [
        "e506470e28593a6ff9f0d3c65ee6ee91a1c1749e"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 01:10:52 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 01:10:52 2025 +0200"
      },
      "message": "update UAPI header copies\n\nUpdate to kernel v6.14.\n\nSigned-off-by: Michal Kubecek \u003cmkubecek@suse.cz\u003e\n"
    },
    {
      "commit": "ba1a6fd11de21e6aa67bd55932efa0c84c5c83b8",
      "tree": "58207e07e167f3e1cccabbdfdf0129af20e6ce35",
      "parents": [
        "e506470e28593a6ff9f0d3c65ee6ee91a1c1749e",
        "4690e2c4d39e244ff65d7344138d66a093b175b5"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 01:04:42 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 01:04:42 2025 +0200"
      },
      "message": "Merge branch \u0027review/next/symmetric-or-xor-rss-hash\u0027 into next\n\nGal Pressman:\n\nAdd support for a new type of input_xfrm: Symmetric OR-XOR.\nSymmetric OR-XOR performs hash as follows:\n(SRC_IP | DST_IP, SRC_IP ^ DST_IP, SRC_PORT | DST_PORT, SRC_PORT ^ DST_PORT)\n\nConfiguration is done through ethtool -x/X command.\n\nKernel submission was merged:\nhttps://lore.kernel.org/netdev/20250224174416.499070-1-gal@nvidia.com/\n"
    },
    {
      "commit": "4690e2c4d39e244ff65d7344138d66a093b175b5",
      "tree": "58207e07e167f3e1cccabbdfdf0129af20e6ce35",
      "parents": [
        "0a562f6212bdc6b0dae5d620feb650f8375b15e6"
      ],
      "author": {
        "name": "Gal Pressman",
        "email": "gal@nvidia.com",
        "time": "Mon Mar 03 14:19:41 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 00:59:38 2025 +0200"
      },
      "message": "Symmetric OR-XOR RSS hash\n\nAdd an additional type of symmetric RSS hash type: OR-XOR.\nThe \"Symmetric-OR-XOR\" algorithm transforms the input as follows:\n\n(SRC_IP | DST_IP, SRC_IP ^ DST_IP, SRC_PORT | DST_PORT, SRC_PORT ^ DST_PORT)\n\nSymmetric OR-XOR can be used through:\nethtool -X eth2 xfrm symmetric-or-xor\n\nReviewed-by: Cosmin Ratiu \u003ccratiu@nvidia.com\u003e\nReviewed-by: Tariq Toukan \u003ctariqt@nvidia.com\u003e\nSigned-off-by: Gal Pressman \u003cgal@nvidia.com\u003e\n"
    },
    {
      "commit": "0a562f6212bdc6b0dae5d620feb650f8375b15e6",
      "tree": "477639dcd354d07cc20cd6a3487dcea6a6db63ec",
      "parents": [
        "e506470e28593a6ff9f0d3c65ee6ee91a1c1749e"
      ],
      "author": {
        "name": "Gal Pressman",
        "email": "gal@nvidia.com",
        "time": "Mon Mar 03 14:19:36 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 00:59:38 2025 +0200"
      },
      "message": "update UAPI header copies\n\nUpdate to kernel commit 4d20c9f2db83.\n\nReviewed-by: Cosmin Ratiu \u003ccratiu@nvidia.com\u003e\nReviewed-by: Tariq Toukan \u003ctariqt@nvidia.com\u003e\nSigned-off-by: Gal Pressman \u003cgal@nvidia.com\u003e\n"
    },
    {
      "commit": "e506470e28593a6ff9f0d3c65ee6ee91a1c1749e",
      "tree": "6c7fb9e582033f6da121c56624abb36eef8d8eae",
      "parents": [
        "7efa69614b1bbdb9caa379e27f9c5736ad55cfa4"
      ],
      "author": {
        "name": "Gal Pressman",
        "email": "gal@nvidia.com",
        "time": "Mon Mar 03 14:19:40 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 00:52:34 2025 +0200"
      },
      "message": "Print unknown input_xfrm values when encountered\n\nIt is possible for the kernel to report unknown input_xfrm values, e.g.\nwhen a new driver which enables a new transformation by default is used\nwith an old userspace ethtool.\n\nWhen such values are encountered, print the raw values so the user is at\nleast aware that some unparsable transformations are enabled.\n\nReviewed-by: Cosmin Ratiu \u003ccratiu@nvidia.com\u003e\nReviewed-by: Tariq Toukan \u003ctariqt@nvidia.com\u003e\nSigned-off-by: Gal Pressman \u003cgal@nvidia.com\u003e\n"
    },
    {
      "commit": "7efa69614b1bbdb9caa379e27f9c5736ad55cfa4",
      "tree": "3b739e5155d119096de4acff6b63c9b37ac2ecd9",
      "parents": [
        "7ed107045f328ff169b06c66421d530a8e347512"
      ],
      "author": {
        "name": "Gal Pressman",
        "email": "gal@nvidia.com",
        "time": "Mon Mar 03 14:19:39 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 00:52:34 2025 +0200"
      },
      "message": "Move input_xfrm outside of hfunc loop\n\nWhen dumping RSS info JSON, the input_xfrm has nothing to do with the\nhash function, move it outside the for loop.\n\nReviewed-by: Cosmin Ratiu \u003ccratiu@nvidia.com\u003e\nReviewed-by: Tariq Toukan \u003ctariqt@nvidia.com\u003e\nSigned-off-by: Gal Pressman \u003cgal@nvidia.com\u003e\n"
    },
    {
      "commit": "7ed107045f328ff169b06c66421d530a8e347512",
      "tree": "c2fc91c02de0c7d68f17a718b89b1e826339c256",
      "parents": [
        "601fa1ff30433651aa2a09f978fdc24cfdae76cf"
      ],
      "author": {
        "name": "Gal Pressman",
        "email": "gal@nvidia.com",
        "time": "Mon Mar 03 14:19:38 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 00:52:34 2025 +0200"
      },
      "message": "Use RXH_XFRM_NO_CHANGE instead of hard-coded value\n\nThe default value for \u0027req_input_xfrm\u0027 should not assume that NO_CHANGE\nis 0xff, use the macro instead.\n\nReviewed-by: Cosmin Ratiu \u003ccratiu@nvidia.com\u003e\nReviewed-by: Tariq Toukan \u003ctariqt@nvidia.com\u003e\nSigned-off-by: Gal Pressman \u003cgal@nvidia.com\u003e\n"
    },
    {
      "commit": "601fa1ff30433651aa2a09f978fdc24cfdae76cf",
      "tree": "bf4a3e76b1a36e0c226cd575002bd98b530ce535",
      "parents": [
        "02d505bba6febccbe912942e40555c82ec87e129"
      ],
      "author": {
        "name": "Gal Pressman",
        "email": "gal@nvidia.com",
        "time": "Mon Mar 03 14:19:37 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 00:52:34 2025 +0200"
      },
      "message": "Print unknown RSS hash function value when encountered\n\nIt is possible for the kernel to report unknown RSS hash function, for\nexample, when a new driver which uses a new hash function by default is\nused with an old userspace ethtool.\n\nWhen such hash function is encountered, print its raw value so the user\nis at least aware that some unparsable function is used.\n\nReviewed-by: Cosmin Ratiu \u003ccratiu@nvidia.com\u003e\nReviewed-by: Tariq Toukan \u003ctariqt@nvidia.com\u003e\nSigned-off-by: Gal Pressman \u003cgal@nvidia.com\u003e\n"
    },
    {
      "commit": "02d505bba6febccbe912942e40555c82ec87e129",
      "tree": "34a1104183ef4af95683ae92f605e8a7c7c3652f",
      "parents": [
        "c4874fb8866046ea62731399bc58740caeb154b7"
      ],
      "author": {
        "name": "Petter Reinholdtsen",
        "email": "pere@debian.org",
        "time": "Wed Feb 26 22:36:03 2025 +0100"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 00:38:41 2025 +0200"
      },
      "message": "Add AppStream metainfo XML with modalias documented supported hardware.\n\nThis ensure all Linux distributions supporting AppStream share\nAppStream information for ethtool.\n\nHardware mappings allow AppStream clients like isenkram to propose\nthis package when supported hardware (ethernet card) is present.\n\nAppstream is documented on\n\u003cURL: https://www.freedesktop.org/wiki/Distributions/AppStream/ \u003e.\n"
    },
    {
      "commit": "c4874fb8866046ea62731399bc58740caeb154b7",
      "tree": "32f2f939331833776cbcc5fbc47003eab87f274b",
      "parents": [
        "d540cf9b4bc43b03ef39fc3082ee364f018d36ff"
      ],
      "author": {
        "name": "Michal Schmidt",
        "email": "mschmidt@redhat.com",
        "time": "Wed Feb 12 13:23:27 2025 +0100"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 00:30:18 2025 +0200"
      },
      "message": "fix MDI-X showing as Unknown instead of \"off (auto)\"\n\nThe current version of ethtool is unable to show the correct MDI-X info:\n # ethtool --version\n ethtool version 6.11\n # ethtool enp0s31f6 | grep MDI\n     MDI-X: Unknown\n\nFor comparison, an older version shows it correctly:\n # ./ethtool --version\n ethtool version 6.2\n # ./ethtool enp0s31f6 | grep MDI\n     MDI-X: off (auto)\n\nThe blamed commit accidentally removed the ETH_TP_MDI switch case\nin dump_mdix(). As a result, ETH_TP_MDI is treated like Unknown.\n\nFix it by restoring the ETH_TP_MDI case and breaking out.\n\u0027mdi_x\u0027 is initialized to false, which is correct for this case.\n\nFixes: bd1341cd2146 (\"add json support for base command\")\nSigned-off-by: Michal Schmidt \u003cmschmidt@redhat.com\u003e\n"
    },
    {
      "commit": "d540cf9b4bc43b03ef39fc3082ee364f018d36ff",
      "tree": "5845418a78b5092af8e651cbefd431ce35b3a4f5",
      "parents": [
        "c62310eb2999e40545d0aa6f3a7489864b633607",
        "4ca6d89b1f75de8b089c58b208343034c4d942dc"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 00:28:31 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 00:28:31 2025 +0200"
      },
      "message": "Merge branch \u0027review/json-module-info\u0027\n\nDanielle Ratson:\n\nAdd JSON output for \u0027ethtool -m\u0027 / --module-info, following the\nguideline below:\n\n1. Fields with description, will have a separate description field.\n2. Units will be documented in a separate module-info.json file.\n3. ASCII fields will be presented as strings.\n4. On/Off is rendered as true/false.\n5. Yes/no is rendered as true/false.\n6. Per-channel fields will be presented as array, when each element\n   represents a channel.\n7. Fields that hold version, will be split to major and minor sub\n   fields.\n\nThis patchset suppose to extend [1] to cover all types of modules.\n\nPatchset overview:\nPatches #1-#7: Preparations.\nPatches #8-#9: Add JSON output support for CMIS compliant modules.\nPatches #10-#11: Add JSON output support for SFF8636 modules.\nPatches #12-#14: Add JSON output support for SFF8079 and SFF8472 modules.\nPatch #15: Add a new schema JSON file for units documentation.\nPatches #16: Add \u0027-j\u0027 support to ethtool\n\n[1] https://lore.kernel.org/all/20220704054114.22582-2-matt@traverse.com.au/\n\nv5:\n        * Edit commit message patch #11.\n\nv4:\n        Patch #10:\n                * In extended_identifier field, use an array for all\n                  descriptions instead of 3 different descriptions.\n                * Remove duplicated definition of YESNO() and ONOFF()\n                * defines.\n\nv3:\n        * Remove unit fields from JSON output.\n        * Reword commit messages.\n        * Add patch #2 and #15.\n        * Enable properly JSON output support for SFF8079.\n        * Remove printings from fields that might be empty strings.\n        * Fix JSON output in sff8636_show_dom_mod_lvl_flags().\n\nv2:\n        * In rx_power JSON field, add a type field to let the user know\n          what type is printed in \"value\".\n        * Use uint instead of hexa fields in JSON context.\n        * Simplify sff8636_show_dom().\n        * Use \"false\" in module_show_lane_status() instead of \"None\" in\n          JSON context.\n"
    },
    {
      "commit": "4ca6d89b1f75de8b089c58b208343034c4d942dc",
      "tree": "5845418a78b5092af8e651cbefd431ce35b3a4f5",
      "parents": [
        "43401b15a21875a85e4fb59d92b53b7dba2d8e43"
      ],
      "author": {
        "name": "Danielle Ratson",
        "email": "danieller@nvidia.com",
        "time": "Mon Feb 10 11:33:16 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 00:03:39 2025 +0200"
      },
      "message": "ethtool: Add \u0027-j\u0027 support to ethtool\n\nCurrently, only \u0027--json\u0027 flag is supported for JSON output in the\nethtool commands.\n\nAdd support for the shorter \u0027-j\u0027 flag also.\n\nSigned-off-by: Danielle Ratson \u003cdanieller@nvidia.com\u003e\nAcked-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "43401b15a21875a85e4fb59d92b53b7dba2d8e43",
      "tree": "c6211b47479070b65992381946bb7bc663838915",
      "parents": [
        "703bfee13649d1fce70c94de0adc909c3b66e7a7"
      ],
      "author": {
        "name": "Danielle Ratson",
        "email": "danieller@nvidia.com",
        "time": "Mon Feb 10 11:33:15 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 00:03:39 2025 +0200"
      },
      "message": "module_info: Add a new JSON file for units documentation\n\nThe JSON output dump will not contain explicit unit indicators in the\noutput fields.\n\nInstead, document those units in a separate schema JSON file so a JSON consumer\nwill be able to track this information.\n\nSigned-off-by: Danielle Ratson \u003cdanieller@nvidia.com\u003e\nAcked-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "703bfee13649d1fce70c94de0adc909c3b66e7a7",
      "tree": "8a9f254fbe2730158b477a931e52d309899f17a5",
      "parents": [
        "ea29109692adc3419f46a301d429b4be3420843a"
      ],
      "author": {
        "name": "Danielle Ratson",
        "email": "danieller@nvidia.com",
        "time": "Mon Feb 10 11:33:14 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 00:03:39 2025 +0200"
      },
      "message": "ethtool: Enable JSON output support for SFF8079 and SFF8472 modules\n\nA sample output:\n\n$ ethtool --json -m swp1\n[ {\n        \"identifier\": 3,\n        \"identifier_description\": \"SFP\",\n        \"extended_identifier\": 4,\n        \"extended_identifier_description\": \"GBIC/SFP defined by 2-wire\ninterface ID\",\n        \"connector\": 33,\n        \"connector_description\": \"Copper pigtail\",\n        \"transceiver_codes\": [ 1,0,0,4,0,4,128,213,0 ],\n        \"transceiver_type\": \"FC: 100 MBytes/sec\",\n        \"encoding\": 0,\n        \"encoding_description\": \"unspecified\",\n        \"br_nominal\": 10300,\n        \"rate_identifier\": 0,\n        \"rate_identifier_description\": \"unspecified\",\n        \"length_(smf)\": 0,\n        \"length_(om2)\": 0,\n        \"length_(om1)\": 0,\n        \"length_(copper_or_active_cable)\": 2,\n        \"length_(om3)\": 0,\n        \"passive_cu_cmplnce.\": 1,\n        \"passive_cu_cmplnce._description\": \"SFF-8431 appendix E\n[SFF-8472 rev10.4 only]\",\n        \"vendor_name\": \"Mellanox\",\n        \"vendor_oui\": [ 0,2,201 ],\n        \"vendor_pn\": \"MC2309130-002\",\n        \"vendor_rev\": \"A2\",\n        \"option_values\": [ 0,0 ],\n        \"br_margin_max\": 0,\n        \"br_margin_min\": 0,\n        \"vendor_sn\": \"MT1146VS00060\",\n        \"date_code\": \"111110\"\n} ]\n\nSigned-off-by: Danielle Ratson \u003cdanieller@nvidia.com\u003e\nAcked-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "ea29109692adc3419f46a301d429b4be3420843a",
      "tree": "8695a0d0c44f92a93a40403c41c7234b39930b03",
      "parents": [
        "4071862f58d866079496c1f1e3e60cd4589bf042"
      ],
      "author": {
        "name": "Danielle Ratson",
        "email": "danieller@nvidia.com",
        "time": "Mon Feb 10 11:33:13 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 00:03:39 2025 +0200"
      },
      "message": "sfpdiag: Add JSON output handling to --module-info in SFF8472 modules\n\nAdd JSON output handling for \u0027ethtool -m\u0027 / --module-info, following\nthe guideline below:\n\n1. Fields with description, will have a separate description field.\n2. Units will be documented in a separate module-info.json file.\n3. ASCII fields will be presented as strings.\n4. On/Off is rendered as true/false.\n5. Yes/no is rendered as true/false.\n6. Per-channel fields will be presented as array, when each element\n   represents a channel.\n7. Fields that hold version, will be split to major and minor sub fields.\n\nSigned-off-by: Danielle Ratson \u003cdanieller@nvidia.com\u003e\nAcked-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "4071862f58d866079496c1f1e3e60cd4589bf042",
      "tree": "76728cc7a607a123b49092c2af241d4900ef7624",
      "parents": [
        "45591e3e9b802f1184e149739d7acbb3e3ebc610"
      ],
      "author": {
        "name": "Danielle Ratson",
        "email": "danieller@nvidia.com",
        "time": "Mon Feb 10 11:33:12 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 00:03:39 2025 +0200"
      },
      "message": "sfpid: Add JSON output handling to --module-info in SFF8079 modules\n\nAdd JSON output handling for \u0027ethtool -m\u0027 / --module-info, following the\nguideline below:\n\n1. Fields with description, will have a separate description field.\n2. Units will be documented in a separate module-info.json file.\n3. ASCII fields will be presented as strings.\n4. On/Off is rendered as true/false.\n5. Yes/no is rendered as true/false.\n6. Per-channel fields will be presented as array, when each element\n   represents a channel.\n7. Fields that hold version, will be split to major and minor sub fields.\n\nSigned-off-by: Danielle Ratson \u003cdanieller@nvidia.com\u003e\nAcked-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "45591e3e9b802f1184e149739d7acbb3e3ebc610",
      "tree": "bb129ea83874d9a60768aebca97781f3a978b8e4",
      "parents": [
        "66d20aaf77dfb7ece4d1f3e1dae4edd82a7c2dde"
      ],
      "author": {
        "name": "Danielle Ratson",
        "email": "danieller@nvidia.com",
        "time": "Mon Feb 10 11:33:11 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 00:03:39 2025 +0200"
      },
      "message": "qsfp: Enable JSON output support for SFF8636 modules\n\nA sample output:\n\n$ ethtool --json -m swp13\n[ {\n        \"identifier\": 17,\n        \"identifier_description\": \"QSFP28\",\n        \"extended_identifier\": {\n            \"value\": 207,\n            \"description\": [ \"3.5W max. Power consumption\",\"CDR present\nin TX, CDR present in RX\",\"5.0W max. Power consumption, High Power Class\n(\u003e 3.5 W) enabled\" ]\n        },\n        \"power_set\": false,\n        \"power_override\": true,\n        \"connector\": 35,\n        \"connector_description\": \"No separable connector\",\n        \"transceiver_codes\": [ 128,0,0,0,0,0,0,0 ],\n        \"transceiver_type\": \"Active Optical Cable with 50GAUI, 100GAUI-2\nor 200GAUI-4 C2M. Providing a worst BER of 10-6 or below\",\n        \"encoding\": 8,\n        \"encoding_description\": \"PAM4\",\n        \"br_nominal\": 25500,\n        \"rate_identifier\": 2,\n        \"length_(smf)\": 0,\n        \"length_(om3)\": 0,\n        \"length_(om2)\": 0,\n        \"length_(om1)\": 0,\n        \"length_(copper_or_active_cable)\": 3,\n        \"transmitter_technology\": 0,\n        \"transmitter_technology_description\": \"850 nm VCSEL\",\n        \"laser_wavelength\": 850,\n        \"laser_wavelength_tolerance\": 150,\n        \"vendor_name\": \"Mellanox\",\n        \"vendor_oui\": [ 0,2,201 ],\n        \"vendor_pn\": \"MFS1S00-V003E\",\n        \"vendor_rev\": \"A6\",\n        \"vendor_sn\": \"MT1915FT03913\",\n        \"date_code\": \"190412\",\n        \"revision_compliance\": \"Unallocated\",\n        \"rx_loss_of_signal\": [ \"Yes\",\"Yes\",\"Yes\",\"Yes\" ],\n        \"tx_loss_of_signal\": false,\n        \"rx_loss_of_lock\": [ \"Yes\",\"Yes\",\"Yes\",\"Yes\" ],\n        \"tx_loss_of_lock\": false,\n        \"tx_adaptive_eq_fault\": false,\n        \"module_temperature\": 56.9805,\n        \"module_voltage\": 3.259,\n        \"alarm/warning_flags_implemented\": true,\n        \"laser_tx_bias_current\": [ 0,0,0,0 ],\n        \"transmit_avg_optical_power\": [ 0,0,0,0 ],\n        \"rx_power\": {\n            \"values\": [ 0.0449,0.0475,0.042,0.0394 ],\n            \"type\": \"Rcvr signal avg optical power\"\n        },\n        \"laser_bias_current_high_alarm\": [ false,false,false,false ],\n        \"laser_bias_current_low_alarm\": [ false,false,false,false ],\n        \"laser_bias_current_high_warning\": [ false,false,false,false ],\n        \"laser_bias_current_low_warning\": [ false,false,false,false ],\n        \"laser_tx_power_high_alarm\": [ false,false,false,false ],\n        \"laser_tx_power_low_alarm\": [ false,false,false,false ],\n        \"laser_tx_power_high_warning\": [ false,false,false,false ],\n        \"laser_tx_power_low_warning\": [ false,false,false,false ],\n        \"laser_rx_power_high_alarm\": [ false,false,false,false ],\n        \"laser_rx_power_low_alarm\": [ true,true,true,true ],\n        \"laser_rx_power_high_warning\": [ false,false,false,false ],\n        \"laser_rx_power_low_warning\": [ true,true,true,true ],\n        \"module_temperature_high_alarm\": false,\n        \"module_temperature_low_alarm\": false,\n        \"module_temperature_high_warning\": false,\n        \"module_temperature_low_warning\": false,\n        \"module_voltage_high_alarm\": false,\n        \"module_voltage_low_alarm\": false,\n        \"module_voltage_high_warning\": false,\n        \"module_voltage_low_warning\": false,\n        \"laser_bias_current\": {\n            \"high_alarm_threshold\": 8.5,\n            \"low_alarm_threshold\": 5.492,\n            \"high_warning_threshold\": 8,\n            \"low_warning_threshold\": 6\n        },\n        \"laser_output_power\": {\n            \"high_alarm_threshold\": 3.4673,\n            \"low_alarm_threshold\": 0.0724,\n            \"high_warning_threshold\": 1.7378,\n            \"low_warning_threshold\": 0.1445\n        },\n        \"module_temperature\": {\n            \"high_alarm_threshold\": 80,\n            \"low_alarm_threshold\": -10,\n            \"high_warning_threshold\": 70,\n            \"low_warning_threshold\": 0\n        },\n        \"module_voltage\": {\n            \"high_alarm_threshold\": 3.5,\n            \"low_alarm_threshold\": 3.1,\n            \"high_warning_threshold\": 3.465,\n            \"low_warning_threshold\": 3.135\n        },\n        \"laser_rx_power\": {\n            \"high_alarm_threshold\": 3.4673,\n            \"low_alarm_threshold\": 0.0467,\n            \"high_warning_threshold\": 1.7378,\n            \"low_warning_threshold\": 0.0933\n        }\n    } ]\n\nSigned-off-by: Danielle Ratson \u003cdanieller@nvidia.com\u003e\nAcked-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "66d20aaf77dfb7ece4d1f3e1dae4edd82a7c2dde",
      "tree": "cee886f8421a266eb42168ccd605a543dfff362b",
      "parents": [
        "c0c003636eacb1877620316c6fd1d779f2623f5e"
      ],
      "author": {
        "name": "Danielle Ratson",
        "email": "danieller@nvidia.com",
        "time": "Mon Feb 10 11:33:10 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 00:03:39 2025 +0200"
      },
      "message": "qsfp: Add JSON output handling to --module-info in SFF8636 modules\n\nAdd JSON output handling for \u0027ethtool -m\u0027 / --module-info, following the\nguideline below:\n\n1. Fields with description, will have a separate description field.\n2. Units will be documented in a separate module-info.json file.\n3. ASCII fields will be presented as strings.\n4. On/Off is rendered as true/false.\n5. Yes/no is rendered as true/false.\n6. Per-channel fields will be presented as array, when each element\n   represents a channel.\n7. Fields that hold version, will be split to major and minor sub fields.\n\nSigned-off-by: Danielle Ratson \u003cdanieller@nvidia.com\u003e\nAcked-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "c0c003636eacb1877620316c6fd1d779f2623f5e",
      "tree": "d94c8b2270537944d052c1abe5f6b4b6771a4ca2",
      "parents": [
        "3448a2f73e77bba5b10fae6ae72a8f8408603cbc"
      ],
      "author": {
        "name": "Danielle Ratson",
        "email": "danieller@nvidia.com",
        "time": "Mon Feb 10 11:33:09 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 00:03:39 2025 +0200"
      },
      "message": "cmis: Enable JSON output support in CMIS modules\n\nA sample output:\n\n$ ethtool --json -m swp23\n[ {\n        \"identifier\": 24,\n        \"identifier_description\": \"QSFP-DD Double Density 8X Pluggable\nTransceiver (INF-8628)\",\n        \"power_class\": 5,\n        \"max_power\": 10,\n        \"connector\": 40,\n        \"connector_description\": \"MPO 1x16\",\n        \"cable_assembly_length\": 0,\n        \"tx_cdr_bypass_control\": false,\n        \"rx_cdr_bypass_control\": false,\n        \"tx_cdr\": true,\n        \"rx_cdr\": true,\n        \"transmitter_technology\": 0,\n        \"transmitter_technology_description\": \"850 nm VCSEL\",\n        \"laser_wavelength\": 850,\n        \"laser_wavelength_tolerance\": 94.8,\n        \"length_(smf)\": 0,\n        \"length_(om5)\": 0,\n        \"length_(om4)\": 100,\n        \"length_(om3)\": 70,\n        \"length_(om2)\": 0,\n        \"vendor_name\": \"FINISAR CORP.\",\n        \"vendor_oui\": [ 0,144,101 ],\n        \"vendor_pn\": \"FTCD8613E1PCM\",\n        \"vendor_rev\": \"A0\",\n        \"vendor_sn\": \"X6LBE6H\",\n        \"date_code\": \"211229__\",\n        \"revision_compliance\": {\n            \"major\": 4,\n            \"minor\": 0\n        },\n        \"rx_loss_of_signal\": [\n\"Yes\",\"Yes\",\"Yes\",\"Yes\",\"Yes\",\"Yes\",\"Yes\",\"Yes\" ],\n        \"tx_loss_of_signal\": false,\n        \"rx_loss_of_lock\": false,\n        \"tx_loss_of_lock\": false,\n        \"tx_fault\": false,\n        \"module_state\": 3,\n        \"module_state_description\": \"ModuleReady\",\n        \"low_pwr_allow_request_hw\": false,\n        \"low_pwr_request_sw\": false,\n        \"module_temperature\": 37.5273,\n        \"module_voltage\": 3.3358,\n        \"laser_tx_bias_current\": [ 0,0,0,0,0,0,0,0 ],\n        \"transmit_avg_optical_power\": [\n0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001 ],\n        \"rx_power\": {\n            \"values\": [\n0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0001 ],\n            \"type\": \"Rcvr signal avg optical power\"\n        },\n        \"module_temperature_high_alarm\": false,\n        \"module_temperature_low_alarm\": false,\n        \"module_temperature_high_warning\": false,\n        \"module_temperature_low_warning\": false,\n        \"module_voltage_high_alarm\": false,\n        \"module_voltage_low_alarm\": false,\n        \"module_voltage_high_warning\": false,\n        \"module_voltage_low_warning\": false,\n        \"laser_bias_current_high_alarm\": [\nfalse,false,false,false,false,false,false,false ],\n        \"laser_bias_current_low_alarm\": [\nfalse,false,false,false,false,false,false,false ],\n        \"laser_bias_current_high_warning\": [\nfalse,false,false,false,false,false,false,false ],\n        \"laser_bias_current_low_warning\": [\nfalse,false,false,false,false,false,false,false ],\n        \"laser_tx_power_high_alarm\": [\nfalse,false,false,false,false,false,false,false ],\n        \"laser_tx_power_low_alarm\": [\nfalse,false,false,false,false,false,false,false ],\n        \"laser_tx_power_high_warning\": [\nfalse,false,false,false,false,false,false,false ],\n        \"laser_tx_power_low_warning\": [\nfalse,false,false,false,false,false,false,false ],\n        \"laser_rx_power_high_alarm\": [\nfalse,false,false,false,false,false,false,false ],\n        \"laser_rx_power_low_alarm\": [\nfalse,false,false,false,false,false,false,false ],\n        \"laser_rx_power_high_warning\": [\nfalse,false,false,false,false,false,false,false ],\n        \"laser_rx_power_low_warning\": [\nfalse,false,false,false,false,false,false,false ],\n        \"laser_bias_current\": {\n            \"high_alarm_threshold\": 13,\n            \"low_alarm_threshold\": 3,\n            \"high_warning_threshold\": 11,\n            \"low_warning_threshold\": 5\n        },\n        \"laser_output_power\": {\n            \"high_alarm_threshold\": 3.1623,\n            \"low_alarm_threshold\": 0.1,\n            \"high_warning_threshold\": 1.9953,\n            \"low_warning_threshold\": 0.1585\n        },\n        \"module_temperature\": {\n            \"high_alarm_threshold\": 75,\n            \"low_alarm_threshold\": -5,\n            \"high_warning_threshold\": 70,\n            \"low_warning_threshold\": 0\n        },\n        \"module_voltage\": {\n            \"high_alarm_threshold\": 3.465,\n            \"low_alarm_threshold\": 3.135,\n            \"high_warning_threshold\": 3.45,\n            \"low_warning_threshold\": 3.15\n        },\n        \"laser_rx_power\": {\n            \"high_alarm_threshold\": 3.1623,\n            \"low_alarm_threshold\": 0.0398,\n            \"high_warning_threshold\": 2.5119,\n            \"low_warning_threshold\": 0.0794\n        },\n        \"active_firmware_version\": {\n            \"major\": 2,\n            \"minor\": 7\n        },\n        \"inactive_firmware_version\": {\n            \"major\": 2,\n            \"minor\": 7\n        },\n        \"cdb_instances\": 1,\n        \"cdb_background_mode\": \"Supported\",\n        \"cdb_epl_pages\": 0,\n        \"cdb_maximum_epl_rw_length\": 128,\n        \"cdb_maximum_lpl_rw_length\": 128,\n        \"cdb_trigger_method\": \"Single write\"\n    } ]\n\nSigned-off-by: Danielle Ratson \u003cdanieller@nvidia.com\u003e\nReviewed-by: Amit Cohen \u003camcohen@nvidia.com\u003e\nAcked-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "3448a2f73e77bba5b10fae6ae72a8f8408603cbc",
      "tree": "5351f7f5af6474b16b647d85c702b151a6f191b5",
      "parents": [
        "008167804e54146938f39d55009d05731fb2b63d"
      ],
      "author": {
        "name": "Danielle Ratson",
        "email": "danieller@nvidia.com",
        "time": "Mon Feb 10 11:33:08 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 00:03:39 2025 +0200"
      },
      "message": "cmis: Add JSON output handling to --module-info in CMIS modules\n\nAdd JSON output handling for \u0027ethtool -m\u0027 / --module-info, following the\nguideline below:\n\n1. Fields with description, will have a separate description field.\n2. Units will be documented in a separate module-info.json file.\n3. ASCII fields will be presented as strings.\n4. On/Off is rendered as true/false.\n5. Yes/no is rendered as true/false.\n6. Per-channel fields will be presented as array, when each element\n   represents a channel.\n7. Fields that hold version, will be split to major and minor sub fields.\n\nSigned-off-by: Danielle Ratson \u003cdanieller@nvidia.com\u003e\nAcked-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "008167804e54146938f39d55009d05731fb2b63d",
      "tree": "f61ee9373a010e870f4c1d8a579d65c30a4e707e",
      "parents": [
        "60689cf82e2f38e00ab125fd5c5d3045dbdaf584"
      ],
      "author": {
        "name": "Danielle Ratson",
        "email": "danieller@nvidia.com",
        "time": "Mon Feb 10 11:33:07 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 00:03:39 2025 +0200"
      },
      "message": "module_common: Add helpers to support JSON printing for common value types\n\nUpcoming patches will introduce JSON support to the ethtool dump. The\nethtool dump currently handles various field types, including strings,\nunsigned integers, floats, etc.\n\nTo facilitate this transition, implement helper functions for commonly\nused types. These helpers will enable consistent printing for both JSON\nand regular dump formats.\n\nIn addition, add JSON support for common functions and defines to use in\nthe upcoming patches.\n\nSigned-off-by: Danielle Ratson \u003cdanieller@nvidia.com\u003e\nAcked-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "60689cf82e2f38e00ab125fd5c5d3045dbdaf584",
      "tree": "748025bcd095e784ba3a6ed91775aa779272fb7d",
      "parents": [
        "1ee8402f52efd881c946d7e19ba38db6ed33cce3"
      ],
      "author": {
        "name": "Danielle Ratson",
        "email": "danieller@nvidia.com",
        "time": "Mon Feb 10 11:33:06 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 00:03:39 2025 +0200"
      },
      "message": "qsfp: Refactor sff8636_show_dom() by moving code into separate functions\n\nThe sff8636_show_dom() function is quite lengthy, and with the planned\naddition of JSON support, it will become even longer and more complex.\n\nTo improve readability and maintainability, refactor the function by\nmoving portions of the code into separate functions, following the\napproach used in the cmis.c module.\n\nSigned-off-by: Danielle Ratson \u003cdanieller@nvidia.com\u003e\nAcked-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "1ee8402f52efd881c946d7e19ba38db6ed33cce3",
      "tree": "b69eef0ef69ac25fddd6ba3ce9d7e54a3438d799",
      "parents": [
        "de43af264c7058fc7d5a65cd7432d2893d04d64a"
      ],
      "author": {
        "name": "Danielle Ratson",
        "email": "danieller@nvidia.com",
        "time": "Mon Feb 10 11:33:05 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 00:03:39 2025 +0200"
      },
      "message": "qsfp: Reorder the channel-level flags list for SFF8636 module type\n\nCurrently, when printing channel-level flags in the ethtool dump, we\niterate over a list where each element represents a flag and a channel.\n\nThe list is structured such that, for each channel, all elements with\nthe same flag are grouped together.\n\nTo accommodate future JSON support, where per-channel fields will be\nrepresented as an array (with each element corresponding to a specific\nchannel), the presentation order needs to change.\nAdditionally, the hard-coded channel numbers in the flag names should\nbe removed.\n\nSigned-off-by: Danielle Ratson \u003cdanieller@nvidia.com\u003e\nAcked-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "de43af264c7058fc7d5a65cd7432d2893d04d64a",
      "tree": "2447e424983d1b4be8954923581bdf6bea83f21d",
      "parents": [
        "1aee63379a89d2f3ab9e4aaebc5e82510722cf45"
      ],
      "author": {
        "name": "Danielle Ratson",
        "email": "danieller@nvidia.com",
        "time": "Mon Feb 10 11:33:04 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 00:03:39 2025 +0200"
      },
      "message": "cmis: Change loop order in cmis_show_dom_chan_lvl_flags()\n\nCurrently, when printing channel-level flags in ethtool dump, we are\ngoing over the banks, and for each bank, we are printing all the flags.\n\nWhen JSON support will be added, in per-channel fields we would like to\nhave an array that each of its elements represents a channel.\n\nTherefore, change the loop order so first we loop over the flags, and\nfor each one, we print all its channels.\n\nSigned-off-by: Danielle Ratson \u003cdanieller@nvidia.com\u003e\nReviewed-by: Amit Cohen \u003camcohen@nvidia.com\u003e\nAcked-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "1aee63379a89d2f3ab9e4aaebc5e82510722cf45",
      "tree": "968939c06ea96b1ec96825e378a54ff668d7af21",
      "parents": [
        "e63cec4c125c045be0ed70aff0dbd107858a3298"
      ],
      "author": {
        "name": "Danielle Ratson",
        "email": "danieller@nvidia.com",
        "time": "Mon Feb 10 11:33:03 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 00:03:39 2025 +0200"
      },
      "message": "sff_common: Move sff_show_revision_compliance() to qsfp.c\n\nThe only use of the function sff_show_revision_compliance() is in qsfp.c\nfile.\n\nTherefore, it doesn\u0027t belong to sff_common.c file but it can simply be a\nstatic function in qsfp.c.\n\nMove sff_show_revision_compliance() function to qsfp.c.\n\nSigned-off-by: Danielle Ratson \u003cdanieller@nvidia.com\u003e\nAcked-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "e63cec4c125c045be0ed70aff0dbd107858a3298",
      "tree": "d5518645d624d7672a58c75f4ec2757f70c362e9",
      "parents": [
        "504c4f573571dc569960908d68328b81ec7435ac"
      ],
      "author": {
        "name": "Danielle Ratson",
        "email": "danieller@nvidia.com",
        "time": "Mon Feb 10 11:33:02 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 00:03:39 2025 +0200"
      },
      "message": "ethtool: Standardize Link Length field names across module types\n\nThe \u0027Link Length\u0027 fields have inconsistent naming across different\nmodule types.\n\nTo ensure consistency, especially with the upcoming JSON support for the\nEEPROM dump, these field names should be aligned.\n\nStandardize the Link Length fields across all module types.\n\nSigned-off-by: Danielle Ratson \u003cdanieller@nvidia.com\u003e\nAcked-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "504c4f573571dc569960908d68328b81ec7435ac",
      "tree": "597b144e6da25ed26f97fa606d1fb66ab95cb176",
      "parents": [
        "c62310eb2999e40545d0aa6f3a7489864b633607"
      ],
      "author": {
        "name": "Danielle Ratson",
        "email": "danieller@nvidia.com",
        "time": "Mon Feb 10 11:33:01 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Mar 31 00:03:39 2025 +0200"
      },
      "message": "module_common: Add a new file to all the common code for all module types\n\nCurrently, a significant amount of repetitive code exists across different\nmodule type files.\n\nConsolidate shared functions and definitions into a single, dedicated file\nto improve organization and maintainability.\n\nSigned-off-by: Danielle Ratson \u003cdanieller@nvidia.com\u003e\nAcked-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "c62310eb2999e40545d0aa6f3a7489864b633607",
      "tree": "e1062ad9ee06883239264aab5195b7c3129b3661",
      "parents": [
        "9103197d24aa936b2f319c3e9baae6d0bc9e0d64"
      ],
      "author": {
        "name": "Michael Edwards",
        "email": "mkedwards@meta.com",
        "time": "Wed Jan 22 09:40:15 2025 -0800"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Thu Jan 23 11:17:01 2025 +0100"
      },
      "message": "ethtool: Fix JSON output for IRQ coalescing\n\nCurrently, for a NIC that supports CQE mode settings, the output of\nethtool --json -c eth0 looks like this:\n\n[ {\n        \"ifname\": \"eth0\",\n        \"rx\": false,\n        \"tx\": false,\n        \"rx-usecs\": 33,\n        \"rx-frames\": 88,\n        \"tx-usecs\": 158,\n        \"tx-frames\": 128,\n        \"rx\": true,\n        \"tx\": false\n    } ]\n\nThis diff will change the first rx/tx pair to adaptive-{rx|tx} and\nthe second pair to cqe-mode-{rx|tx} to match the keys used to set\nthe corresponding settings.\n\nFixes: 7e5c1ddbe67d (\"pause: add --json support\")\nFixes: ecfb7302cfe6 (\"netlink: settings: add netlink support for coalesce cqe mode parameter\")\nSigned-off-by: Michael Edwards \u003cmkedwards@meta.com\u003e\nReviewed-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "9103197d24aa936b2f319c3e9baae6d0bc9e0d64",
      "tree": "9f6fd520dec84e1bd0393ba9cc7cb0ee06dc299c",
      "parents": [
        "c6ea3bc04c73668b099e21c76056dee298638143"
      ],
      "author": {
        "name": "Gal Pressman",
        "email": "gal@nvidia.com",
        "time": "Tue Jan 07 19:17:55 2025 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Jan 20 12:12:48 2025 +0100"
      },
      "message": "ethtool: Fix incorrect success return value on RX network flow hashing error\n\nIn case of an error on RX network flow hashing configuration, return an\nerror in addition to the error message.\n\nFixes: 1bd87128467b (\"Add support for rx flow hash configuration in a network device\")\nReviewed-by: Dragos Tatulea \u003cdtatulea@nvidia.com\u003e\nSigned-off-by: Gal Pressman \u003cgal@nvidia.com\u003e\nReviewed-by: Kalesh AP \u003ckalesh-anakkur.purayil@broadcom.com\u003e\n"
    },
    {
      "commit": "c6ea3bc04c73668b099e21c76056dee298638143",
      "tree": "2d61d568278746473bd19cb9daf50b2455ba043c",
      "parents": [
        "6868b56fe53d1a923e9a6e29a3c01f42d188b015"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "florian.fainelli@broadcom.com",
        "time": "Fri Jan 17 14:50:19 2025 -0800"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Jan 20 12:12:11 2025 +0100"
      },
      "message": "netlink: settings: Fix PHYAD printing\n\nThe PHY address was printed in hexadecimal rather than decimal as it\nused to be and is expected.\n\nFixes: bd1341cd2146 (\"add json support for base command\")\nSigned-off-by: Florian Fainelli \u003cflorian.fainelli@broadcom.com\u003e\n"
    },
    {
      "commit": "6868b56fe53d1a923e9a6e29a3c01f42d188b015",
      "tree": "279631e65baedcf628965545f777add8ec1f5bdb",
      "parents": [
        "f7c3d20307b70502e242328bb4c06fc0f4cafc9a"
      ],
      "author": {
        "name": "Oleksij Rempel",
        "email": "o.rempel@pengutronix.de",
        "time": "Fri Nov 29 07:08:16 2024 +0100"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Jan 20 12:01:27 2025 +0100"
      },
      "message": "ethtool: add support for ETHTOOL_A_CABLE_FAULT_LENGTH_SRC and ETHTOOL_A_CABLE_RESULT_SRC\n\nExtend cable test output to include source information, supporting\ndiagnostic technologies like TDR (Time Domain Reflectometry) and ALCD\n(Active Link Cable Diagnostic). The source is displayed optionally at\nthe end of each result or fault length line.\n\nTDR requires interrupting the active link to measure parameters like\nfault location, while ALCD can operate on an active link to provide\ndetails like cable length without disruption.\n\nExample output:\nPair B code Open Circuit, source: TDR\nPair B, fault length: 8.00m, source: TDR\n\nSigned-off-by: Oleksij Rempel \u003co.rempel@pengutronix.de\u003e\n"
    },
    {
      "commit": "f7c3d20307b70502e242328bb4c06fc0f4cafc9a",
      "tree": "59e2e8663ca3780853aa8d8b833fe2f035a2197e",
      "parents": [
        "54eba3e912488b950e9af507aaaa6b0dc022b0ee"
      ],
      "author": {
        "name": "Edward Cree",
        "email": "edward.cree@amd.com",
        "time": "Mon Nov 25 18:18:02 2024 +0000"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Nov 25 20:10:59 2024 +0100"
      },
      "message": "ethtool.8: document the addition semantics for ntuple RSS rules\n\nSigned-off-by: Edward Cree \u003cedward.cree@amd.com\u003e\n"
    },
    {
      "commit": "54eba3e912488b950e9af507aaaa6b0dc022b0ee",
      "tree": "750814b6930966f8669e08bd2271c3338a89d656",
      "parents": [
        "9b2f6b94132d14b1d2d2a7d3b65bac4f3a056aac"
      ],
      "author": {
        "name": "Daniel Xu",
        "email": "dxu@dxuuu.xyz",
        "time": "Thu Nov 14 19:12:08 2024 -0700"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Nov 25 19:00:26 2024 +0100"
      },
      "message": "rxclass: Make output for RSS context action explicit\n\nCurrently `ethtool -n` prints out misleading output if the action for an\nntuple rule is to redirect to an RSS context. For example:\n\n    # ethtool -X eth0 hfunc toeplitz context new start 24 equal 8\n    New RSS context is 1\n\n    # ethtool -N eth0 flow-type ip6 dst-ip $IP6 context 1\n    Added rule with ID 0\n\n    # ethtool -n eth0 rule 0\n    Filter: 0\n            Rule Type: Raw IPv6\n            Src IP addr: :: mask: ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff\n            Dest IP addr: \u003credacted\u003e mask: ::\n            Traffic Class: 0x0 mask: 0xff\n            Protocol: 0 mask: 0xff\n            L4 bytes: 0x0 mask: 0xffffffff\n            RSS Context ID: 1\n            Action: Direct to queue 0\n\nThe above output suggests that the HW will direct to queue 0 where in\nreality queue 0 is just the base offset from which the redirection table\nlookup in the RSS context is added to.\n\nFix by making output more clear. Also suppress base offset queue for the\ncommon case of 0. Example of new output:\n\n    # ./ethtool -n eth0 rule 0\n    Filter: 0\n            Rule Type: Raw IPv6\n            Src IP addr: :: mask: ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff\n            Dest IP addr: \u003credacted\u003e mask: ::\n            Traffic Class: 0x0 mask: 0xff\n            Protocol: 0 mask: 0xff\n            L4 bytes: 0x0 mask: 0xffffffff\n            Action: Direct to RSS Context 1\n\nReviewed-by: Edward Cree \u003cecree.xilinx@gmail.com\u003e\nAcked-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nTested-by: Joe Damato \u003cjdamato@fastly.com\u003e\nSigned-off-by: Daniel Xu \u003cdxu@dxuuu.xyz\u003e\n"
    },
    {
      "commit": "9b2f6b94132d14b1d2d2a7d3b65bac4f3a056aac",
      "tree": "3dfdf99f03170793c6e90f11a1cc7722334199af",
      "parents": [
        "0d3bf2a3c1aac8b4dd62a21b94fb4c1da18a6065"
      ],
      "author": {
        "name": "Mohan Prasad J",
        "email": "mohan.prasad@microchip.com",
        "time": "Mon Nov 04 04:04:07 2024 +0530"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Wed Nov 06 14:13:55 2024 +0100"
      },
      "message": "netlink: settings: Fix for wrong auto-negotiation state\n\nAuto-negotiation state in json format showed the\nopposite state due to wrong comparison.\nFix for returning the correct auto-neg state implemented.\n\nSigned-off-by: Mohan Prasad J \u003cmohan.prasad@microchip.com\u003e\n"
    },
    {
      "commit": "0d3bf2a3c1aac8b4dd62a21b94fb4c1da18a6065",
      "tree": "add33fe12b2ca8c17b6902e232e4068f452d719d",
      "parents": [
        "e02af6e42126853215b54b39fcf184357da4233d",
        "f64d352479fd8bb0f6d067447f63a8506a459620"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Wed Oct 09 11:20:01 2024 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Wed Oct 09 11:20:01 2024 +0200"
      },
      "message": "Merge branch \u0027review/pse-pd-features-v2\u0027\n\nKory Maincent:\n\nThis series adds support for several new features to the C33 PSE commands:\n- Get the Class negotiated between the Powered Device and the PSE\n- Get Extended state and substate\n- Get the Actual power\n- Configure the power limit\n- Get the Power limit ranges available\n\nIt also updates the manual accordingly.\n\nExample:\n$ ethtool --set-pse eth1 c33-pse-avail-pw-limit 18000\n$ ethtool --show-pse eth1\nPSE attributes for eth1:\nClause 33 PSE Admin State: enabled\nClause 33 PSE Power Detection Status: disabled\nClause 33 PSE Extended State: Group of mr_mps_valid states\nClause 33 PSE Extended Substate: Port is not connected\nClause 33 PSE Available Power Limit: 18000\nClause 33 PSE Power Limit Ranges:\n        range:\n                min 15000\n                max 18100\n        range:\n                min 30000\n                max 38000\n        range:\n                min 60000\n                max 65000\n        range:\n                min 90000\n                max 97500\n\nThis series requisites the c33 PSE documentation support patch sent\nmainline:\nhttps://lore.kernel.org/r/20240911-fix_missing_doc-v2-1-e2eade6886b9@bootlin.com\n"
    },
    {
      "commit": "f64d352479fd8bb0f6d067447f63a8506a459620",
      "tree": "add33fe12b2ca8c17b6902e232e4068f452d719d",
      "parents": [
        "2d451b165afaafa045f824878813f3420a9f232a"
      ],
      "author": {
        "name": "Kory Maincent (Dent Project)",
        "email": "kory.maincent@bootlin.com",
        "time": "Mon Oct 07 14:18:50 2024 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Wed Oct 09 10:58:53 2024 +0200"
      },
      "message": "ethtool.8: Add documentation for new C33 PSE features\n\nAdd documentation to described the newly C33 PSE features supported.\n\nSigned-off-by: Kory Maincent \u003ckory.maincent@bootlin.com\u003e\n"
    },
    {
      "commit": "2d451b165afaafa045f824878813f3420a9f232a",
      "tree": "dfc4f5aefbcc29c9b95452664906374adf12326d",
      "parents": [
        "e02af6e42126853215b54b39fcf184357da4233d"
      ],
      "author": {
        "name": "Kory Maincent (Dent Project)",
        "email": "kory.maincent@bootlin.com",
        "time": "Mon Oct 07 14:18:49 2024 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Wed Oct 09 10:58:53 2024 +0200"
      },
      "message": "ethtool: pse-pd: Expand C33 PSE with several new features\n\nThis patch adds support for several new features to the C33 PSE commands:\n- Get the Class negotiated between the Powered Device and the PSE\n- Get Extended state and substate\n- Get the Actual power\n- Configure the power limit\n- Get the Power limit ranges available\n\nExample:\n$ ethtool --set-pse eth1 c33-pse-avail-pw-limit 18000\n$ ethtool --show-pse eth1\nPSE attributes for eth1:\nClause 33 PSE Admin State: enabled\nClause 33 PSE Power Detection Status: disabled\nClause 33 PSE Extended State: Group of mr_mps_valid states\nClause 33 PSE Extended Substate: Port is not connected\nClause 33 PSE Available Power Limit: 18000\nClause 33 PSE Power Limit Ranges:\n\trange:\n\t\tmin 15000\n\t\tmax 18100\n\trange:\n\t\tmin 30000\n\t\tmax 38000\n\trange:\n\t\tmin 60000\n\t\tmax 65000\n\trange:\n\t\tmin 90000\n\t\tmax 97500\n\nSigned-off-by: Kory Maincent \u003ckory.maincent@bootlin.com\u003e\n"
    },
    {
      "commit": "e02af6e42126853215b54b39fcf184357da4233d",
      "tree": "102219fd77a7600e8544e478eee854ae0528f6a5",
      "parents": [
        "beb837e03ba8ffe879de5905c1acd4785e42ecd8"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Tue Oct 08 23:44:52 2024 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Tue Oct 08 23:44:52 2024 +0200"
      },
      "message": "update UAPI header copies\n\nUpdate to kernel v6.12-rc2.\n\nSigned-off-by: Michal Kubecek \u003cmkubecek@suse.cz\u003e\n"
    },
    {
      "commit": "beb837e03ba8ffe879de5905c1acd4785e42ecd8",
      "tree": "be783bf5d78ad9061a143a04b502716dc4b288c4",
      "parents": [
        "c0ea4b70c71334ef038f7a3416b228a50dada406",
        "96aad731275fb4e48e01da697882241e6a0cc198"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Tue Oct 08 23:24:51 2024 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Tue Oct 08 23:24:51 2024 +0200"
      },
      "message": "Merge branch \u0027next\u0027 into master\n"
    },
    {
      "commit": "c0ea4b70c71334ef038f7a3416b228a50dada406",
      "tree": "61f79ddc19b6b406392d35f9c84189d873255c61",
      "parents": [
        "dff30c61ff76c4145031f524c5856bf5f1f7306b"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Tue Oct 08 22:42:51 2024 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Tue Oct 08 22:42:51 2024 +0200"
      },
      "message": "Release version 6.11.\n"
    },
    {
      "commit": "dff30c61ff76c4145031f524c5856bf5f1f7306b",
      "tree": "cc4ddb37ad7e7829da40f38ee66e18214e053f05",
      "parents": [
        "35a3d50033311c7c5d643ba29ba78673b4bf56eb"
      ],
      "author": {
        "name": "Vladimir Oltean",
        "email": "vladimir.oltean@nxp.com",
        "time": "Fri Sep 13 12:38:28 2024 +0300"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Oct 07 01:08:48 2024 +0200"
      },
      "message": "netlink: rss: retrieve ring count using ETHTOOL_GRXRINGS ioctl\n\nSeveral drivers regressed when ethtool --show-rxfh was converted from\nioctl to netlink. This is because ETHTOOL_GRXRINGS was converted to\nETHTOOL_MSG_CHANNELS_GET, which is semantically equivalent to\nETHTOOL_GCHANNELS but different from ETHTOOL_GRXRINGS. Drivers which\nimplement ETHTOOL_GRXRINGS do not necessarily implement ETHTOOL_GCHANNELS\nor its netlink equivalent.\n\nAccording to the man page, \"A channel is an IRQ and the set of queues\nthat can trigger that IRQ.\", which is different from the definition of\na queue/ring. So we shouldn\u0027t be attempting to query the # of rings for\nthe ioctl variant, but the # of channels for the netlink variant anyway.\n\nReimplement the args-\u003enum_rings retrieval as in do_grxfh(), aka using\nthe ETHTOOL_GRXRINGS ioctl.\n\nLink: https://lore.kernel.org/netdev/20240711114535.pfrlbih3ehajnpvh@skbuf/\nFixes: ffab99c1f382 (\"netlink: add netlink handler for get rss (-x)\")\nSigned-off-by: Vladimir Oltean \u003cvladimir.oltean@nxp.com\u003e\nAcked-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n"
    },
    {
      "commit": "96aad731275fb4e48e01da697882241e6a0cc198",
      "tree": "a443f456433132f5d89266afa01f276b1876ec4a",
      "parents": [
        "b3ee7c0fa87032dec614dcc716c08a3b77d80fb0",
        "35a3d50033311c7c5d643ba29ba78673b4bf56eb"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Sep 16 22:12:18 2024 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Sep 16 22:12:18 2024 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into next\n"
    },
    {
      "commit": "35a3d50033311c7c5d643ba29ba78673b4bf56eb",
      "tree": "064c03eb4d5cfaa0ecc7232ba53423b4ead4e5b7",
      "parents": [
        "814980faaef11c678524a0f93856a5ed6ff8f0d2"
      ],
      "author": {
        "name": "Kory Maincent (Dent Project)",
        "email": "kory.maincent@bootlin.com",
        "time": "Thu Sep 12 11:20:03 2024 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Sep 16 22:05:23 2024 +0200"
      },
      "message": "ethtool.8: Fix small documentation nit\n\nRemove useless .RE macro call.\n\nSigned-off-by: Kory Maincent \u003ckory.maincent@bootlin.com\u003e\n"
    },
    {
      "commit": "814980faaef11c678524a0f93856a5ed6ff8f0d2",
      "tree": "ecd756b94f843a120de892d3e9b38956b14ac411",
      "parents": [
        "6e3ac505bcc778b04d43dd1858af8287e8a08ef7"
      ],
      "author": {
        "name": "Krzysztof Olędzki",
        "email": "ole@ans.pl",
        "time": "Wed Sep 11 23:58:42 2024 -0700"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Sep 16 17:53:11 2024 +0200"
      },
      "message": "qsf: Better handling of Page A2h netlink read failure\n\nPrint \"Failed to read Page A2h.\" error message to provide more context\nfor \"netlink error: (...)\" info.\n\nSigned-off-by: Krzysztof Piotr Oledzki \u003cole@ans.pl\u003e\n"
    },
    {
      "commit": "6e3ac505bcc778b04d43dd1858af8287e8a08ef7",
      "tree": "dfcd22898702814fb49830c37c5ecfdbd8aef293",
      "parents": [
        "feea0011ff04f71c0e18990308791a030f19fdf9"
      ],
      "author": {
        "name": "Krzysztof Olędzki",
        "email": "ole@ans.pl",
        "time": "Wed Sep 11 23:56:45 2024 -0700"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Sep 16 15:22:53 2024 +0200"
      },
      "message": "Add runtime support for disabling netlink\n\nProvide --disable-netlink option for disabling netlink during runtime,\nwithout the need to recompile the binary.\n\nSigned-off-by: Krzysztof Piotr Oledzki \u003cole@ans.pl\u003e\n"
    },
    {
      "commit": "feea0011ff04f71c0e18990308791a030f19fdf9",
      "tree": "83a38621bf111119b4848b379a3d34bbec029b34",
      "parents": [
        "9e9ee9f6eb73bd7a7c355c35d56e1642533d7f86"
      ],
      "author": {
        "name": "Kory Maincent",
        "email": "kory.maincent@bootlin.com",
        "time": "Wed Sep 11 14:22:04 2024 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Sep 16 13:15:28 2024 +0200"
      },
      "message": "ethtool: Add missing clause 33 PSE manual description\n\nAdd missing descriptions for clause 33 options and return values for\nthe show-pse and set-pse commands.\n\nSigned-off-by: Kory Maincent \u003ckory.maincent@bootlin.com\u003e\n"
    },
    {
      "commit": "b3ee7c0fa87032dec614dcc716c08a3b77d80fb0",
      "tree": "2c4524050712283b38c53a605763e69ebe8f47f1",
      "parents": [
        "9e9ee9f6eb73bd7a7c355c35d56e1642533d7f86",
        "a284178ef532c5d8f21e6e65de30adda5a172cdd"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Sep 09 00:13:35 2024 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Sep 09 00:13:35 2024 +0200"
      },
      "message": "Merge branch \u0027review/next/phy-index-v4\u0027 into next\n\nMaxime Chevallier:\n\nThis series adds the ethtool-side support to list PHYs associated to a\nnetdevice, as well as allowing to target PHYs for some commands :\n - PSE-PD commands\n - Cable testing commands\n - PLCA commands\n\nThe V4 addresses all of Michal\u0027s reviews this time, introducing better error\nmessages, documenting in the manpage the possible values for the 0 phy index,\nand making sure ethtool can still build without libmnl.\n\nThe PHY-targetting commands look like this:\n\nethtool --phy 1 --cable-test eth0\n\nNote that the --phy parameter gets passed at the beginning of the\ncommand-line. This allows getting a generic command-line parsing code,\neasy to write, but at the expense of maybe being a bit counter intuitive.\n\nAnother option could be to add a \"phy\" parameter to all the supported\ncommands, let me know if you think this looks too bad.\n\nPatch 1 deals with the ability to pass a PHY index to the relevant\ncommands.\n\nPatch 2 implements the --show-phys command. This command uses a netlink\nDUMP request to list the PHYs, and introduces the ability to perform\nfiltered DUMP request, where the netdev index gets passed in the DUMP\nrequest header.\n"
    },
    {
      "commit": "a284178ef532c5d8f21e6e65de30adda5a172cdd",
      "tree": "2c4524050712283b38c53a605763e69ebe8f47f1",
      "parents": [
        "3f8944f8857742058ff28889b2242999bf36dc8e"
      ],
      "author": {
        "name": "Maxime Chevallier",
        "email": "maxime.chevallier@bootlin.com",
        "time": "Fri Sep 06 16:57:18 2024 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Sun Sep 08 23:55:41 2024 +0200"
      },
      "message": "ethtool: Introduce a command to list PHYs\n\nIt is now possible to list all Ethernet PHYs that are present behind a\ngiven interface, since the following linux commit :\n63d5eaf35ac3 (\"net: ethtool: Introduce a command to list PHYs on an interface\")\n\nThis command relies on the netlink DUMP command to list them, by allowing to\npass an interface name/id as a parameter in the DUMP request to only\nlist PHYs on one interface.\n\nTherefore, we introduce a new helper function to prepare a interface-filtered\ndump request (the filter can be empty, to perform an unfiltered dump),\nand then uses it to implement PHY enumeration through the --show-phys\ncommand.\n\nSigned-off-by: Maxime Chevallier \u003cmaxime.chevallier@bootlin.com\u003e\n"
    },
    {
      "commit": "3f8944f8857742058ff28889b2242999bf36dc8e",
      "tree": "16ca40ef68304f022e0f522f9f45fbd1f36f7027",
      "parents": [
        "f6e8b90abfb4036c2b981322b36a176326ab6960"
      ],
      "author": {
        "name": "Maxime Chevallier",
        "email": "maxime.chevallier@bootlin.com",
        "time": "Fri Sep 06 16:57:17 2024 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Sun Sep 08 23:55:41 2024 +0200"
      },
      "message": "ethtool: Allow passing a PHY index for phy-targetting commands\n\nWith the introduction of PHY topology and the ability to list PHYs, we\ncan now target some netlink commands to specific PHYs. This is done by\npassing a PHY index as a request parameter in the netlink GET command.\n\nThis is useful for PSE-PD, PLCA and Cable-testing operations when\nmultiple PHYs are on the link (e.g. when a PHY is used as an SFP\nupstream controller, and when there\u0027s another PHY within the SFP\nmodule).\n\nIntroduce a new, generic, option \"--phy N\" that can be used in\nconjunction with PHY-targetting commands to pass the PHY index for the\ntargetted PHY.\n\nSigned-off-by: Maxime Chevallier \u003cmaxime.chevallier@bootlin.com\u003e\n"
    },
    {
      "commit": "f6e8b90abfb4036c2b981322b36a176326ab6960",
      "tree": "15e6e0a27d746a762fb495da31ddac023e59e95a",
      "parents": [
        "9e9ee9f6eb73bd7a7c355c35d56e1642533d7f86"
      ],
      "author": {
        "name": "Maxime Chevallier",
        "email": "maxime.chevallier@bootlin.com",
        "time": "Fri Sep 06 16:57:16 2024 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Sun Sep 08 23:55:41 2024 +0200"
      },
      "message": "update UAPI header copies\n\nUpdate to kernel commit 7d3aed652d09.\n\nSigned-off-by: Maxime Chevallier \u003cmaxime.chevallier@bootlin.com\u003e\n"
    },
    {
      "commit": "9e9ee9f6eb73bd7a7c355c35d56e1642533d7f86",
      "tree": "26a6dabace6ecef560a60589763098cad95e8ea1",
      "parents": [
        "4cbff6fb763fea892deafbe8a190387bc9d3dbad"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Aug 19 21:45:05 2024 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Aug 19 21:45:05 2024 +0200"
      },
      "message": "add T1BRR 10Mb/s mode to link mode tables\n\nAdd recently added 10baseT1BRR/Full link mode to man page and ioct and\nfallback code paths.\n\nSigned-off-by: Michal Kubecek \u003cmkubecek@suse.cz\u003e\n"
    },
    {
      "commit": "4cbff6fb763fea892deafbe8a190387bc9d3dbad",
      "tree": "293a3aa142a4c3b868844953543dc1b2626e38bd",
      "parents": [
        "4c33786091b8076653c6108ae40059590639abcf"
      ],
      "author": {
        "name": "Danielle Ratson",
        "email": "danieller@nvidia.com",
        "time": "Mon Aug 12 17:11:11 2024 +0300"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Aug 19 21:21:26 2024 +0200"
      },
      "message": "netlink: settings: Fix lanes parameter format specifier\n\nLanes parameter is not printed well on ethtool base command causing the\nfollowing output:\n\n$ ethtool swp1\n\n[..]\n        Speed: 400000Mb/s\nSegmentation fault (core dumped)\n\nUse the \"%u\" format specifier instead of \"%s\", since the lanes parameter\ntype is unsigned integer and not a string.\n\nFixes: bd1341cd2146 (\"add json support for base command\")\nSigned-off-by: Danielle Ratson \u003cdanieller@nvidia.com\u003e\nReviewed-by: Amit Cohen \u003camcohen@nvidia.com\u003e\nReviewed-by: Ido Schimmel \u003cidosch@nvidia.com\u003e\n"
    },
    {
      "commit": "4c33786091b8076653c6108ae40059590639abcf",
      "tree": "4e900cff2d8db9fe0bfeb89ae7ea7a697c75f413",
      "parents": [
        "cbdc9668eec02bf80e2badab4f69125dd58f7f9b",
        "9869837cd9d8daeb099bb6f6842486b4d6f9b277"
      ],
      "author": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Aug 19 21:19:59 2024 +0200"
      },
      "committer": {
        "name": "Michal Kubecek",
        "email": "mkubecek@suse.cz",
        "time": "Mon Aug 19 21:19:59 2024 +0200"
      },
      "message": "Merge branch \u0027review/module-flash-v2\u0027\n\nDanielle Ratson:\n\nCMIS compliant modules such as QSFP-DD might be running a firmware that\ncan be updated in a vendor-neutral way by exchanging messages between\nthe host and the module as described in section 7.2.2 of revision\n4.0 of the CMIS standard.\n\nAdd ability to flash transceiver modules\u0027 firmware over netlink.\n\nExample output:\n\n # ethtool --flash-module-firmware eth0 file test.img\n\nTransceiver module firmware flashing started for device swp23\nTransceiver module firmware flashing in progress for device swp23\nProgress: 99%\nTransceiver module firmware flashing completed for device swp23\n\nIn addition, add some firmware and CDB messaging information to\nethtool\u0027s output for observability.\n\nPatchset overview:\nPatches #1-#2: adds firmware info to ethtool\u0027s output.\nPatch #3: adds ability to flash modules\u0027 firmware.\n\nv2:\n\t* Remove patch #3 of updating header, since it was already done.\n\t* s/ETHTOOL_A_MODULE_FW_FLASH_PASS/ETHTOOL_A_MODULE_FW_FLASH_PASSWORD\n"
    }
  ],
  "next": "9869837cd9d8daeb099bb6f6842486b4d6f9b277"
}
