)]}'
{
  "commit": "dc16de3204d1956d4fd17808e6d34ac926bbe932",
  "tree": "da7fdb7b513690b3c51876674d273874bd144104",
  "parents": [
    "6c0335adf66cf58133ab2a1662d1b26f20000767"
  ],
  "author": {
    "name": "Michael Brown",
    "email": "mcb30@ipxe.org",
    "time": "Sun Feb 05 13:07:30 2023 +0000"
  },
  "committer": {
    "name": "Michael Brown",
    "email": "mcb30@ipxe.org",
    "time": "Sun Feb 05 18:18:02 2023 +0000"
  },
  "message": "[lldp] Add support for the Link Layer Discovery Protocol\n\nAdd support for recording LLDP packets and exposing TLV values via the\nsettings mechanism.  LLDP settings are encoded as\n\n  ${netX.lldp/\u003cprefix\u003e.\u003ctype\u003e.\u003cindex\u003e.\u003coffset\u003e.\u003clength\u003e}\n\nwhere\n\n  \u003ctype\u003e is the TLV type\n\n  \u003coffset\u003e is the starting offset within the TLV value\n\n  \u003clength\u003e is the length (or zero to read the from \u003coffset\u003e to the end)\n\n  \u003cprefix\u003e, if it has a non-zero value, is the subtype byte string of\n  length \u003coffset\u003e to match at the start of the TLV value, up to a\n  maximum matched length of 4 bytes\n\n  \u003cindex\u003e is the index of the entry matching \u003ctype\u003e and \u003cprefix\u003e to be\n  accessed, with zero indicating the first matching entry\n\nThe \u003cprefix\u003e is designed to accommodate both matching of the OUI\nwithin an organization-specific TLV (e.g. 0x0080c2 for IEEE 802.1\nTLVs) and of a subtype byte as found within many TLVs.\n\nThis encoding allows most LLDP values to be extracted easily.  For\nexample\n\n  System name: ${netX.lldp/5.0.0.0:string}\n\n  System description: ${netX.lldp/6.0.0.0:string}\n\n  Port description: ${netX.lldp/4.0.0.0:string}\n\n  Port interface name: ${netX.lldp/5.2.0.1.0:string}\n\n  Chassis MAC address: ${netX.lldp/4.1.0.1.0:hex}\n\n  Management IPv4 address: ${netX.lldp/5.1.8.0.2.4:ipv4}\n\n  Port VLAN ID: ${netX.lldp/0x0080c2.1.127.0.4.2:int16}\n\n  Port VLAN name: ${netX.lldp/0x0080c2.3.127.0.7.0:string}\n\n  Maximum frame size: ${netX.lldp/0x00120f.4.127.0.4.2:uint16}\n\nOriginally-implemented-by: Marin Hannache \u003cgit@mareo.fr\u003e\nSigned-off-by: Michael Brown \u003cmcb30@ipxe.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8a663c92391834c6cc14a6145d057f2a62ac0914",
      "old_mode": 33188,
      "old_path": "src/config/config_ethernet.c",
      "new_id": "c1b35bfe6438c43ac0d792714d11d28aea93bc10",
      "new_mode": 33188,
      "new_path": "src/config/config_ethernet.c"
    },
    {
      "type": "modify",
      "old_id": "2d15f500acf357d76f9ab41097e59dae1ee39d78",
      "old_mode": 33188,
      "old_path": "src/config/general.h",
      "new_id": "e9ceaff5740ff6536fed837f71872703f5fad8a9",
      "new_mode": 33188,
      "new_path": "src/config/general.h"
    },
    {
      "type": "modify",
      "old_id": "7c3b0c43b1f3775ecb0085a27c37082a4c1e5448",
      "old_mode": 33188,
      "old_path": "src/include/ipxe/errfile.h",
      "new_id": "d7b6ea1bd3388bd9ff2967e558b59192689d8ab7",
      "new_mode": 33188,
      "new_path": "src/include/ipxe/errfile.h"
    },
    {
      "type": "modify",
      "old_id": "58d91b976f80471ad138d444b1e97d771c6128fe",
      "old_mode": 33188,
      "old_path": "src/include/ipxe/if_ether.h",
      "new_id": "c1168b10e9864f0c342b3cda86d1f6929c545e23",
      "new_mode": 33188,
      "new_path": "src/include/ipxe/if_ether.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9951d3b8f31897c9fe25968ad7ed0756a996fc65",
      "new_mode": 33188,
      "new_path": "src/include/ipxe/lldp.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "72e3ecdf6924e25e66aa1b6323741504ca24f00b",
      "new_mode": 33188,
      "new_path": "src/net/lldp.c"
    }
  ]
}
