diff options
author | mdodd <mdodd@FreeBSD.org> | 2003-03-15 19:37:44 +0000 |
---|---|---|
committer | mdodd <mdodd@FreeBSD.org> | 2003-03-15 19:37:44 +0000 |
commit | af74801cd58a3203e9b222bff7d948bbdff6277f (patch) | |
tree | d2b672462f92a17f4c571c0d1453cf55876cf6d0 /sys/net/if_ethersubr.c | |
parent | 46d76d5c4c986373f10170b8e7cb6c48b5ca944a (diff) | |
download | FreeBSD-src-af74801cd58a3203e9b222bff7d948bbdff6277f.zip FreeBSD-src-af74801cd58a3203e9b222bff7d948bbdff6277f.tar.gz |
Reduce code differences.
Diffstat (limited to 'sys/net/if_ethersubr.c')
-rw-r--r-- | sys/net/if_ethersubr.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c index 725b669..b3751a9 100644 --- a/sys/net/if_ethersubr.c +++ b/sys/net/if_ethersubr.c @@ -275,16 +275,18 @@ ether_output(ifp, m, dst, rt0) csum_flags |= (CSUM_IP_CHECKED|CSUM_IP_VALID); if (m->m_pkthdr.csum_flags & CSUM_DELAY_DATA) csum_flags |= (CSUM_DATA_VALID|CSUM_PSEUDO_HDR); + if ((m->m_flags & M_BCAST) || (loop_copy > 0)) { - struct mbuf *n = m_copy(m, 0, (int)M_COPYALL); + struct mbuf *n; + n = m_copy(m, 0, (int)M_COPYALL); n->m_pkthdr.csum_flags |= csum_flags; if (csum_flags & CSUM_DATA_VALID) n->m_pkthdr.csum_data = 0xffff; (void) if_simloop(ifp, n, dst->sa_family, hlen); - } else if (bcmp(eh->ether_dhost, - eh->ether_shost, ETHER_ADDR_LEN) == 0) { + } else if (bcmp(eh->ether_dhost, eh->ether_shost, + ETHER_ADDR_LEN) == 0) { m->m_pkthdr.csum_flags |= csum_flags; if (csum_flags & CSUM_DATA_VALID) m->m_pkthdr.csum_data = 0xffff; |