Changeset View
Changeset View
Standalone View
Standalone View
sys/net/if_disc.c
Show First 20 Lines • Show All 178 Lines • ▼ Show 20 Lines | |||||
{ | { | ||||
u_int32_t af; | u_int32_t af; | ||||
M_ASSERTPKTHDR(m); | M_ASSERTPKTHDR(m); | ||||
/* BPF writes need to be handled specially. */ | /* BPF writes need to be handled specially. */ | ||||
if (dst->sa_family == AF_UNSPEC) | if (dst->sa_family == AF_UNSPEC) | ||||
bcopy(dst->sa_data, &af, sizeof(af)); | bcopy(dst->sa_data, &af, sizeof(af)); | ||||
else if (ro != NULL && ro->ro_flags & RT_HAS_GW) | |||||
af = ro->ro_dst.sa_family; | |||||
else | else | ||||
af = dst->sa_family; | af = dst->sa_family; | ||||
if (bpf_peers_present(ifp->if_bpf)) | if (bpf_peers_present(ifp->if_bpf)) | ||||
bpf_mtap2(ifp->if_bpf, &af, sizeof(af), m); | bpf_mtap2(ifp->if_bpf, &af, sizeof(af), m); | ||||
m->m_pkthdr.rcvif = ifp; | m->m_pkthdr.rcvif = ifp; | ||||
▲ Show 20 Lines • Show All 52 Lines • Show Last 20 Lines |