From 908d9c5926617c525df18bdb896afe1586844456 Mon Sep 17 00:00:00 2001 From: silby Date: Sun, 30 Mar 2003 03:45:28 +0000 Subject: Switch rl_encap over to using m_defrag. No functional change, the previous rl_encap was correct wrt long mbuf chains; this just reduces code duplication. MFC after: 2 weeks --- sys/pci/if_rl.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) (limited to 'sys/pci') diff --git a/sys/pci/if_rl.c b/sys/pci/if_rl.c index 58e998e..75ad6f1 100644 --- a/sys/pci/if_rl.c +++ b/sys/pci/if_rl.c @@ -1504,20 +1504,10 @@ rl_encap(sc, m_head) * TX buffers, plus we can only have one fragment buffer * per packet. We have to copy pretty much all the time. */ + m_new = m_defrag(m_head, M_DONTWAIT); - MGETHDR(m_new, M_DONTWAIT, MT_DATA); if (m_new == NULL) return(1); - if (m_head->m_pkthdr.len > MHLEN) { - MCLGET(m_new, M_DONTWAIT); - if (!(m_new->m_flags & M_EXT)) { - m_freem(m_new); - return(1); - } - } - m_copydata(m_head, 0, m_head->m_pkthdr.len, mtod(m_new, caddr_t)); - m_new->m_pkthdr.len = m_new->m_len = m_head->m_pkthdr.len; - m_freem(m_head); m_head = m_new; /* Pad frames to at least 60 bytes. */ -- cgit v1.1