Page MenuHomeFreeBSD

D3420.diff
No OneTemporary

D3420.diff

Index: sys/dev/re/if_re.c
===================================================================
--- sys/dev/re/if_re.c
+++ sys/dev/re/if_re.c
@@ -1231,6 +1231,7 @@
.ifat_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST,
.ifat_capabilities = IFCAP_LINKSTATE,
.ifat_mediamask = MII_MEDIA_MASK,
+ .ifat_nrings = 1,
};
u_char eaddr[ETHER_ADDR_LEN];
u_int16_t as[ETHER_ADDR_LEN / 2];
@@ -2153,6 +2154,7 @@
{
struct mbuf *m;
if_t ifp;
+ ifring_t *ifrs, ifr;
int i, rxerr, total_len;
struct rl_desc *cur_rx;
u_int32_t rxstat, rxvlan;
@@ -2161,6 +2163,8 @@
RL_LOCK_ASSERT(sc);
ifp = sc->rl_ifp;
+ ifrs = if_getsoftc(ifp, IF_RING);
+ ifr = ifrs[0];
#ifdef DEV_NETMAP
if (netmap_rx_irq(ifp, 0, &rx_npkts))
return 0;
@@ -2322,6 +2326,7 @@
if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1);
if_inc_counter(ifp, IFCOUNTER_IBYTES, m->m_pkthdr.len);
m->m_pkthdr.rcvif = ifp;
+ m->m_pkthdr.ifring = ifr;
/* Do RX checksumming if enabled */

File Metadata

Mime Type
text/plain
Expires
Thu, Dec 26, 3:57 AM (12 h, 1 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15601152
Default Alt Text
D3420.diff (985 B)

Event Timeline