Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

{
  # subclass with guard declaration config
  # options
  "Dhcp6": {
    "option-def": [
      {
        "space": "dhcp6",
        "name": "mysystem",
        "code": 1250,
        "type": "string"
      },
      {
        "space": "dhcp6",
        "name": "myversion",
        "code": 1251,
        "type": "uint16"
      },
      {
        "space": "dhcp6",
        "name": "mydescr",
        "code": 1252,
        "type": "string"
      }
    ],
    "client-classes": [
      # superclass declaration
      /// match: option dhcp6.mysystem
      {
        "name": "foobar",
        /// from: match if (option dhcp6.myversion) = 0x0001
        "test": "option[1251].hex == 0x0001"
      },
      # simple subclass declaration
      /// subclass selector 'system1'
      {
        "name": "sub#foobar#0",
        /// from: match-if (option dhcp6.myversion) = 0x0001
        /// match: option dhcp6.mysystem
        /// data: 'system1'
        "test": "(option[1251].hex == 0x0001) and (option[1250].hex == 'system1')"
      },
      # option setting subclass declaration
      /// subclass selector 'system2'
      {
        "name": "sub#foobar#1",
        "option-data": [
          {
            "space": "dhcp6",
            "name": "mydescr",
            "code": 1252,
            "data": "1.2"
          }
        ],
        /// from: match-if (option dhcp6.myversion) = 0x0001
        /// match: option dhcp6.mysystem
        /// data: 'system2'
        "test": "(option[1251].hex == 0x0001) and (option[1250].hex == 'system2')"
      },
      # complex subclass declaration
      /// subclass selector 'system3'
      {
        "name": "sub#foobar#2",
        "option-data": [
          {
            "space": "dhcp6",
            "name": "mydescr",
            "code": 1252,
            "data": "1.3"
          },
          {
            "space": "dhcp6",
            "name": "rapid-commit",
            "code": 14,
            "data": ""
          }
        ],
        /// from: match-if (option dhcp6.myversion) = 0x0001
        /// match: option dhcp6.mysystem
        /// data: 'system3'
        "test": "(option[1251].hex == 0x0001) and (option[1250].hex == 'system3')"
      }
    ]
  }
}