netdata control records for PDSes created with member names have 2 segments.
The relevant code for control record parsing could be something like
if 0x20 == (0x20 & flag):
if 0x80 == (0x80 & flag):
crecord_data = b''
self.logger.debug("[flag 0x80] This is start a control record.")
record_type = self.xmit_object[loc + 2:loc + 8].decode(self.ebcdic)
self.logger.debug("Record Type: {}".format(record_type))
self.logger.debug("[flag 0x20] This is (part of) a control record.")
crecord_data += self.xmit_object[loc + 2:loc + section_length] # get the various segments
if 0x40 == (0x40 & flag):
self.logger.debug("[flag 0x40] This is end of a control record.")
if record_type == "INMR01":
self.parse_INMR01(crecord_data[6:])
elif record_type == "INMR02":
self.parse_INMR02(crecord_data[6:])
elif record_type == "INMR03":
self.parse_INMR03(crecord_data[6:])
elif record_type == "INMR04":
self.parse_INMR04(crecord_data[6:])
elif record_type == "INMR06":
self.logger.debug("[INMR06] Processing last record")
return
netdata control records for PDSes created with member names have 2 segments.
The relevant code for control record parsing could be something like