)]}'
{
  "commit": "153c1a9b21e5b7b78e066de2b93a4edb8c3dc498",
  "tree": "e1a0e437fe4c0eee34fbd96529443009d23ec0ea",
  "parents": [
    "4f10cede93b758785f5b201774ed3e02eaf1a7bb"
  ],
  "author": {
    "name": "Arkadi Sharshevsky",
    "email": "arkadis@mellanox.com",
    "time": "Wed May 03 13:25:23 2017 +0200"
  },
  "committer": {
    "name": "Stephen Hemminger",
    "email": "stephen@networkplumber.org",
    "time": "Wed May 03 09:29:43 2017 -0700"
  },
  "message": "devlink: Add support for pipeline debug (dpipe)\n\nAdd support for pipeline debug (dpipe). The headers are used both the\ngain visibillity into the headers supported by the hardware, and to\nbuild the headers/field database which is used by other commands.\n\nExamples:\n\nFirst we can see the headers supported by the hardware:\n\n$devlink dpipe header show pci/0000:03:00.0\n\npci/0000:03:00.0:\n  name mlxsw_meta\n  field:\n    name erif_port bitwidth 32 mapping_type ifindex\n    name l3_forward bitwidth 1\n    name l3_drop bitwidth 1\n\nNote that mapping_type is presented only if relevant. Also the header/\nfield id\u0027s are reported by the kernel they are not shown by default.\nThey can be observed by using the -v option. Also the headers scope\n(global/local) is specified.\n\n$devlink -v dpipe header show pci/0000:03:00.0\n\npci/0000:03:00.0:\n  name mlxsw_meta id 0 global false\n  field:\n    name erif_port id 0 bitwidth 32 mapping_type ifindex\n    name l3_forward id 1 bitwidth 1\n    name l3_drop id 2 bitwidth 1\n\nSecond we can examine the tables supported by the hardware. In order\nto dump all the tables no table name should be provided:\n$devlink dpipe table show pci/0000:03:00.0\n\nIn order to examine specific table its name have to be specified:\n$devlink dpipe table show pci/0000:03:00.0 name erif\n\npci/0000:03:00.0:\n  name mlxsw_erif size 800 counters_enabled true\n  match:\n    type field_exact header mlxsw_meta field erif_port mapping ifindex\n  action:\n    type field_modify header mlxsw_meta field l3_forward\n    type field_modify header mlxsw_meta field l3_drop\n\nTo enable/disable counters on the table:\n$devlink dpipe table set pci/0000:03:00.0 name erif counters enable\n$devlink dpipe table set pci/0000:03:00.0 name erif counters disable\n\nIn order to see the current entries in the hardware for specific table:\n$devlink dpipe table dump pci/0000:03:00.0 name erif\n\npci/0000:03:00.0:\n  index 0 counter 0\n  match_value:\n    type field_exact header mlxsw_meta field erif_port mapping ifindex mapping_value 383 value 0\n  action_value:\n    type field_modify header mlxsw_meta field l3_forward value 1\n\n  index 1 counter 0\n  match_value:\n    type field_exact header mlxsw_meta field erif_port mapping ifindex mapping_value 381 value 1\n  action_value:\n    type field_modify header mlxsw_meta field l3_forward value 1\n\nIn the above example the table contains two entries which does match\non erif port and forwards the packet or drop it (currently only the\nforward count is implemented). The counter values are provided for\nexample. In case the counting is not enabled on the table the counters\nwill not be available.\n\nSigned-off-by: Arkadi Sharshevsky \u003carkadis@mellanox.com\u003e\nSigned-off-by: Jiri Pirko \u003cjiri@mellanox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "35220d802a61859ab764714cceac8436b6924907",
      "old_mode": 33188,
      "old_path": "devlink/devlink.c",
      "new_id": "e22ee0a0e8d837017ecb4291931b424a7b4d5125",
      "new_mode": 33188,
      "new_path": "devlink/devlink.c"
    }
  ]
}
