if (ntoh(set->id) == IPFIX_SetId_OptionsTemplate) { processOptionsTemplateSet(ntoh(header->sourceId), set);
if (ntohs(set->id) == IPFIX_SetId_OptionsTemplate) { processOptionsTemplateSet(ipfixReceiver, ntohs(header->sourceId), set);
boolean processIpfixPacket(byte* message, uint16 length) {	IpfixHeader* header = (IpfixHeader*)message;	if (ntoh(header->length) != length) { 		errorf("Bad message length - expected %#06x, got %#06x", length, ntoh(header->length));		return false; 		}	// pointer to first set	IpfixSetHeader* set = (IpfixSetHeader*)&header->data;	// pointer beyond message	IpfixSetHeader* setX = (IpfixSetHeader*)((char*)message + length); 	while (set < setX) {		if (ntoh(set->id) == IPFIX_SetId_Template) {  			processTemplateSet(ntoh(header->sourceId), set);  			} else		if (ntoh(set->id) == IPFIX_SetId_OptionsTemplate) {  			processOptionsTemplateSet(ntoh(header->sourceId), set);  			} else		if (ntoh(set->id) == IPFIX_SetId_DataTemplate) {  			processDataTemplateSet(ntoh(header->sourceId), set);  			} else		if (ntoh(set->id) >= IPFIX_SetId_Data_Start) {  			processDataSet(ntoh(header->sourceId), set);  			} else {			errorf("Unsupported Set ID - expected 2/3/4/256+, got %d", ntoh(set->id));  			}		set = (IpfixSetHeader*)((byte*)set + ntoh(set->length));		}	return true;	}