-
Notifications
You must be signed in to change notification settings - Fork 37
Open
Description
We had several intermediate plugins that were running perfectly fine, also when they were chained. Last week, we found out however that adding the ODIP plugin to the plugin chain made IPFIXcol crash. The problem was actually rather simple: in March 2015, some components were added to struct ipfix_message, such as metadata. Our plugins were developed before those components were introduced and completely ignored those components, also when duplicating and editing IPFIX messages. As such, metadata, for example, was not available in IPFIX messages anymore, while the ODIP plugin expects them to be there: SEGFAULT.
To solve or work-around this, I was wondering what would be a good approach. Some ideas:
- Add a check to
intermediate_process.c, right after callingintermediate_process_message, and draw an error if the new components are missing. - Split the functionality of the function
message_create_from_mem. Funny enough, this function accepts some (older)ipfix_messagecomponents (i.e.,input_infoandsource_status) as arguments, while the new components (e.g.,metadata) seem to have been forgotten. Regarding a functional split, we could think about a method that duplicates an IPFIX message without data (i.e., without (option) template sets and data sets) and one that includes data. The split could also be achieved using function arguments, of course.
Any other ideas are welcome.
Metadata
Metadata
Assignees
Labels
No labels