diff options
| -rw-r--r-- | sys/net/if_ethersubr.c | 8 | ||||
| -rw-r--r-- | sys/net/if_fddisubr.c | 18 | ||||
| -rw-r--r-- | sys/net/if_iso88025subr.c | 13 |
3 files changed, 20 insertions, 19 deletions
diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c index 725b66986c49..b3751a9074dd 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; diff --git a/sys/net/if_fddisubr.c b/sys/net/if_fddisubr.c index d1b8b227a52a..9f32c003c97f 100644 --- a/sys/net/if_fddisubr.c +++ b/sys/net/if_fddisubr.c @@ -299,15 +299,15 @@ fddi_output(ifp, m, dst, rt0) * reasons and compatibility with the original behavior. */ if ((ifp->if_flags & IFF_SIMPLEX) && (loop_copy != -1)) { - if ((m->m_flags & M_BCAST) || loop_copy) { - struct mbuf *n = m_copy(m, 0, (int)M_COPYALL); - - (void) if_simloop(ifp, - n, dst->sa_family, FDDI_HDR_LEN); - } else if (bcmp(fh->fddi_dhost, - fh->fddi_shost, FDDI_ADDR_LEN) == 0) { - (void) if_simloop(ifp, - m, dst->sa_family, FDDI_HDR_LEN); + if ((m->m_flags & M_BCAST) || (loop_copy > 0)) { + struct mbuf *n; + n = m_copy(m, 0, (int)M_COPYALL); + (void) if_simloop(ifp, n, dst->sa_family, + FDDI_HDR_LEN); + } else if (bcmp(fh->fddi_dhost, fh->fddi_shost, + FDDI_ADDR_LEN) == 0) { + (void) if_simloop(ifp, m, dst->sa_family, + FDDI_HDR_LEN); return (0); /* XXX */ } } diff --git a/sys/net/if_iso88025subr.c b/sys/net/if_iso88025subr.c index 8fd501ad8917..567eb1ac09f8 100644 --- a/sys/net/if_iso88025subr.c +++ b/sys/net/if_iso88025subr.c @@ -370,15 +370,14 @@ iso88025_output(ifp, m, dst, rt0) if ((m->m_flags & M_BCAST) || (loop_copy > 0)) { struct mbuf *n; n = m_copy(m, 0, (int)M_COPYALL); - (void)if_simloop(ifp, n, dst->sa_family, + (void) if_simloop(ifp, n, dst->sa_family, ISO88025_HDR_LEN); - } else - if (bcmp(th->iso88025_dhost, th->iso88025_shost, + } else if (bcmp(th->iso88025_dhost, th->iso88025_shost, ETHER_ADDR_LEN) == 0) { - (void)if_simloop(ifp, m, dst->sa_family, - ISO88025_HDR_LEN); - return(0); /* XXX */ - } + (void) if_simloop(ifp, m, dst->sa_family, + ISO88025_HDR_LEN); + return(0); /* XXX */ + } } if (! IF_HANDOFF_ADJ(&ifp->if_snd, m, ifp, ISO88025_HDR_LEN + LLC_SNAPFRAMELEN) ) { |
