Catch up the rest of the drivers with the ether_vlan_mtap modifications.
If these drivers are setting M_VLANTAG because they are stripping the layer 2 802.1Q headers, then they need to be re-inserting them so any bpf(4) peers can properly decode them. It should be noted that this is compiled tested only. MFC after: 3 weeks
This commit is contained in:
parent
634904f272
commit
17dc3a8d0b
@ -4726,7 +4726,7 @@ bce_start_locked(struct ifnet *ifp)
|
||||
count++;
|
||||
|
||||
/* Send a copy of the frame to any BPF listeners. */
|
||||
BPF_MTAP(ifp, m_head);
|
||||
ETHER_BPF_MTAP(ifp, m_head);
|
||||
}
|
||||
|
||||
if (count == 0) {
|
||||
|
@ -475,7 +475,7 @@ ixgb_start_locked(struct ifnet * ifp)
|
||||
if (ifp->if_bpf)
|
||||
bpf_mtap(ifp, m_head);
|
||||
#else
|
||||
BPF_MTAP(ifp, m_head);
|
||||
ETHER_BPF_MTAP(ifp, m_head);
|
||||
#endif
|
||||
/* Set timeout in case hardware has problems transmitting */
|
||||
ifp->if_timer = IXGB_TX_TIMEOUT;
|
||||
|
@ -2870,7 +2870,7 @@ msk_start(struct ifnet *ifp)
|
||||
* If there's a BPF listener, bounce a copy of this frame
|
||||
* to him.
|
||||
*/
|
||||
BPF_MTAP(ifp, m_head);
|
||||
ETHER_BPF_MTAP(ifp, m_head);
|
||||
}
|
||||
|
||||
if (enq > 0) {
|
||||
|
@ -1700,7 +1700,7 @@ nfe_start_locked(struct ifnet *ifp)
|
||||
/* packet put in h/w queue, remove from s/w queue */
|
||||
IFQ_DEQUEUE(&ifp->if_snd, m0);
|
||||
|
||||
BPF_MTAP(ifp, m0);
|
||||
ETHER_BPF_MTAP(ifp, m0);
|
||||
}
|
||||
if (sc->txq.cur == old) { /* nothing sent */
|
||||
return;
|
||||
|
@ -1613,7 +1613,7 @@ nge_start_locked(ifp)
|
||||
* If there's a BPF listener, bounce a copy of this frame
|
||||
* to him.
|
||||
*/
|
||||
BPF_MTAP(ifp, m_head);
|
||||
ETHER_BPF_MTAP(ifp, m_head);
|
||||
|
||||
}
|
||||
|
||||
|
@ -2214,7 +2214,7 @@ re_start(ifp)
|
||||
* If there's a BPF listener, bounce a copy of this frame
|
||||
* to him.
|
||||
*/
|
||||
BPF_MTAP(ifp, m_head);
|
||||
ETHER_BPF_MTAP(ifp, m_head);
|
||||
|
||||
queued++;
|
||||
}
|
||||
|
@ -1346,7 +1346,7 @@ stge_start_locked(struct ifnet *ifp)
|
||||
* If there's a BPF listener, bounce a copy of this frame
|
||||
* to him.
|
||||
*/
|
||||
BPF_MTAP(ifp, m_head);
|
||||
ETHER_BPF_MTAP(ifp, m_head);
|
||||
}
|
||||
|
||||
if (enq > 0) {
|
||||
|
@ -3120,7 +3120,7 @@ ti_start_locked(ifp)
|
||||
* If there's a BPF listener, bounce a copy of this frame
|
||||
* to him.
|
||||
*/
|
||||
BPF_MTAP(ifp, m_head);
|
||||
ETHER_BPF_MTAP(ifp, m_head);
|
||||
}
|
||||
|
||||
if (enq > 0) {
|
||||
|
@ -1350,7 +1350,7 @@ txp_start_locked(ifp)
|
||||
|
||||
ifp->if_timer = 5;
|
||||
|
||||
BPF_MTAP(ifp, m);
|
||||
ETHER_BPF_MTAP(ifp, m);
|
||||
WRITE_REG(sc, r->r_reg, TXP_IDX2OFFSET(prod));
|
||||
}
|
||||
|
||||
|
@ -1847,7 +1847,7 @@ vge_start(ifp)
|
||||
* If there's a BPF listener, bounce a copy of this frame
|
||||
* to him.
|
||||
*/
|
||||
BPF_MTAP(ifp, m_head);
|
||||
ETHER_BPF_MTAP(ifp, m_head);
|
||||
}
|
||||
|
||||
if (idx == sc->vge_ldata.vge_tx_prodidx) {
|
||||
|
Loading…
Reference in New Issue
Block a user