ptv->afp_state = AFP_STATE_DOWN;
continue;
case AFP_FAILURE:
+ ptv->afp_state = AFP_STATE_DOWN;
SCReturnInt(TM_ECODE_FAILED);
break;
case AFP_READ_OK:
ptv->frame_offset = 0;
}
- r = bind(ptv->socket, (struct sockaddr *)&bind_address, sizeof(bind_address));
- if (r < 0) {
- if (verbose) {
- if (errno == ENETDOWN) {
- SCLogError(SC_ERR_AFP_CREATE,
- "Couldn't bind AF_PACKET socket, iface %s is down",
- devname);
- } else {
- SCLogError(SC_ERR_AFP_CREATE,
- "Couldn't bind AF_PACKET socket to iface %s, error %s",
- devname,
- strerror(errno));
- }
- }
- close(ptv->socket);
- return -1;
- }
if (ptv->promisc != 0) {
/* Force promiscuous mode */
memset(&sock_params, 0, sizeof(sock_params));
if (r < 0) {
SCLogError(SC_ERR_AFP_CREATE,
"Couldn't switch iface %s to promiscuous, error %s",
- devname,
- strerror(errno));
+ devname, strerror(errno));
close(ptv->socket);
return -1;
}
sizeof(ptv->buffer_size)) == -1) {
SCLogError(SC_ERR_AFP_CREATE,
"Couldn't set buffer size to %d on iface %s, error %s",
- ptv->buffer_size,
- devname,
- strerror(errno));
+ ptv->buffer_size, devname, strerror(errno));
close(ptv->socket);
return -1;
}
}
+ r = bind(ptv->socket, (struct sockaddr *)&bind_address, sizeof(bind_address));
+ if (r < 0) {
+ if (verbose) {
+ if (errno == ENETDOWN) {
+ SCLogError(SC_ERR_AFP_CREATE,
+ "Couldn't bind AF_PACKET socket, iface %s is down",
+ devname);
+ } else {
+ SCLogError(SC_ERR_AFP_CREATE,
+ "Couldn't bind AF_PACKET socket to iface %s, error %s",
+ devname, strerror(errno));
+ }
+ }
+ close(ptv->socket);
+ return -1;
+ }
+
#ifdef HAVE_PACKET_FANOUT
/* add binded socket to fanout group */
if (ptv->threads > 1) {
SCReturnInt(TM_ECODE_FAILED);
}
+
ptv->copy_mode = afpconfig->copy_mode;
if (ptv->copy_mode != AFP_COPY_MODE_NONE) {
strlcpy(ptv->out_iface, afpconfig->out_iface, AFP_IFACE_NAME_LENGTH);
}
}
-
#define T_DATA_SIZE 70000
ptv->data = SCMalloc(T_DATA_SIZE);
if (ptv->data == NULL) {