Dissecting a field with a mixed content
I'm writing a dissector for a protocol, and have stumbled upon the following field:
rxRSSIVal IN
RSSI measurement of the received frame. This is a signed 8-bit value.
- Values from RSSI_RESERVED_START to 124 are reserved.
- All values below RSSI_RESERVED_START are received power in dBms.
- RSSI_NOT_AVAILABLE - RSSI measurement not available
- RSSI_MAX_POWER_SATURATED - Receiver saturated. RSSI too high to measure precisely
- RSSI_BELOW_SENSITIVITY - No signal detected. The RSSI is too low to measure precisely.
I understand how to mark reserved values as invalid via expert field.
How can I format other values in the packet tree node? I looked at various field types and none of them seem to fit. Is there a custom field type where dissector code can control the displayed value?
Ideally I'd also like to be able to support filtering myproto.rxrssi=max_power_saturated
and myproto.rxrssi=10
, but I'm not sure it is feasible.