91
90
char live_dev_buf[9];
93
if ((status = NT_InfoOpen(&info_stream, "Test")) != NT_SUCCESS)
95
NT_ExplainError(status, error_buf, sizeof(error_buf) -1);
96
SCLogError(SC_ERR_NAPATECH_STREAMS_REGISTER_FAILED, "NT_InfoOpen failed: %s", error_buf);
101
info.cmd = NT_INFO_CMD_READ_STREAM;
102
if ((status = NT_InfoRead(info_stream, &info)) != NT_SUCCESS)
104
NT_ExplainError(status, error_buf, sizeof(error_buf) -1);
105
SCLogError(SC_ERR_NAPATECH_STREAMS_REGISTER_FAILED, "NT_InfoRead failed: %s", error_buf);
109
num_configured_streams = info.u.stream.data.count;
110
for (i = 0; i < num_configured_streams; i++)
112
// The Stream IDs do not have to be sequential
113
snprintf(live_dev_buf, sizeof(live_dev_buf), "nt%d", info.u.stream.data.streamIDList[i]);
114
LiveRegisterDevice(live_dev_buf);
117
if ((status = NT_InfoClose(info_stream)) != NT_SUCCESS)
119
NT_ExplainError(status, error_buf, sizeof(error_buf) -1);
120
SCLogError(SC_ERR_NAPATECH_STREAMS_REGISTER_FAILED, "NT_InfoClose failed: %s", error_buf);
95
if (ConfGetBool("napatech.use-all-streams", &use_all_streams) == 0)
97
SCLogError(SC_ERR_RUNMODE, "Failed retrieving napatech.use-all-streams from Conf");
103
SCLogInfo("Using All Napatech Streams");
104
// When using the default streams we need to query the service for a list of all configured
105
if ((status = NT_InfoOpen(&info_stream, "SuricataStreamInfo")) != NT_SUCCESS)
107
NT_ExplainError(status, error_buf, sizeof(error_buf) -1);
108
SCLogError(SC_ERR_NAPATECH_STREAMS_REGISTER_FAILED, "NT_InfoOpen failed: %s", error_buf);
112
info.cmd = NT_INFO_CMD_READ_STREAM;
113
if ((status = NT_InfoRead(info_stream, &info)) != NT_SUCCESS)
115
NT_ExplainError(status, error_buf, sizeof(error_buf) -1);
116
SCLogError(SC_ERR_NAPATECH_STREAMS_REGISTER_FAILED, "NT_InfoRead failed: %s", error_buf);
120
num_configured_streams = info.u.stream.data.count;
121
for (i = 0; i < num_configured_streams; i++)
123
// The Stream IDs do not have to be sequential
124
snprintf(live_dev_buf, sizeof(live_dev_buf), "nt%d", info.u.stream.data.streamIDList[i]);
125
LiveRegisterDevice(live_dev_buf);
128
if ((status = NT_InfoClose(info_stream)) != NT_SUCCESS)
130
NT_ExplainError(status, error_buf, sizeof(error_buf) -1);
131
SCLogError(SC_ERR_NAPATECH_STREAMS_REGISTER_FAILED, "NT_InfoClose failed: %s", error_buf);
137
SCLogInfo("Using Selected Napatech Streams");
138
// When not using the default streams we need to parse the array of streams from the conf
139
if ((ntstreams = ConfGetNode("napatech.streams")) == NULL)
141
SCLogError(SC_ERR_RUNMODE, "Failed retrieving napatech.streams from Conf");
145
// Loop through all stream numbers in the array and register the devices
146
TAILQ_FOREACH(stream_id, &ntstreams->head, next)
148
if (stream_id == NULL)
150
SCLogError(SC_ERR_NAPATECH_STREAMS_REGISTER_FAILED, "Couldn't Parse Stream Configuration");
153
num_configured_streams++;
155
snprintf(live_dev_buf, sizeof(live_dev_buf), "nt%d", atoi(stream_id->val));
156
LiveRegisterDevice(live_dev_buf);