af-packet: get VLAN info for packets in TPACKET_V3 mode

pull/2605/head
Alexander Gozman 8 years ago committed by Victor Julien
parent ee7e689b54
commit e41a9d637b

@ -980,6 +980,13 @@ static inline int AFPParsePacketV3(AFPThreadVars *ptv, struct tpacket_block_desc
p->livedev = ptv->livedev;
p->datalink = ptv->datalink;
if ((!(ptv->flags & AFP_VLAN_DISABLED)) &&
(ppd->tp_status & TP_STATUS_VLAN_VALID || ppd->hv1.tp_vlan_tci)) {
p->vlan_id[0] = ppd->hv1.tp_vlan_tci & 0x0fff;
p->vlan_idx = 1;
p->vlanh[0] = NULL;
}
if (ptv->flags & AFP_ZERO_COPY) {
if (PacketSetData(p, (unsigned char*)ppd + ppd->tp_mac, ppd->tp_snaplen) == -1) {
TmqhOutputPacketpool(ptv->tv, p);

Loading…
Cancel
Save