af-packet: get datalink for each socket creation.

This patch will allow us to use the datalink when computing the filter.
It also fixes a potential issue where an interface data type change
after the interface if going down/up.
remotes/origin/HEAD
Eric Leblond 13 years ago committed by Victor Julien
parent 59ec493f7c
commit c85ee1e3f6

@ -844,6 +844,13 @@ static int AFPCreateSocket(AFPThreadVars *ptv, char *devname, int verbose)
}
#endif
ptv->datalink = AFPGetDevLinktype(ptv->socket, ptv->iface);
switch (ptv->datalink) {
case ARPHRD_PPP:
case ARPHRD_ATM:
ptv->cooked = 1;
}
/* Init is ok */
ptv->afp_state = AFP_STATE_UP;
return 0;
@ -922,12 +929,7 @@ TmEcode ReceiveAFPThreadInit(ThreadVars *tv, void *initdata, void **data) {
SCReturnInt(TM_ECODE_FAILED);
}
ptv->datalink = AFPGetDevLinktype(ptv->socket, ptv->iface);
switch (ptv->datalink) {
case ARPHRD_PPP:
case ARPHRD_ATM:
ptv->cooked = 1;
}
#define T_DATA_SIZE 70000
ptv->data = SCMalloc(T_DATA_SIZE);

Loading…
Cancel
Save