Deleted Added
full compact
if_ethersubr.c (104302) if_ethersubr.c (105078)
1/*
2 * Copyright (c) 1982, 1989, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 17 unchanged lines hidden (view full) ---

26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 *
33 * @(#)if_ethersubr.c 8.1 (Berkeley) 6/10/93
1/*
2 * Copyright (c) 1982, 1989, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 17 unchanged lines hidden (view full) ---

26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 *
33 * @(#)if_ethersubr.c 8.1 (Berkeley) 6/10/93
34 * $FreeBSD: head/sys/net/if_ethersubr.c 104302 2002-10-01 15:48:31Z phk $
34 * $FreeBSD: head/sys/net/if_ethersubr.c 105078 2002-10-14 05:27:00Z cjc $
35 */
36
37#include "opt_atalk.h"
38#include "opt_inet.h"
39#include "opt_inet6.h"
40#include "opt_ipx.h"
41#include "opt_bdg.h"
42#include "opt_mac.h"

--- 565 unchanged lines hidden (view full) ---

608 struct ifnet *bif;
609
610 /* Check with bridging code */
611 if ((bif = bridge_in_ptr(ifp, eh)) == BDG_DROP) {
612 m_freem(m);
613 return;
614 }
615 if (bif != BDG_LOCAL) {
35 */
36
37#include "opt_atalk.h"
38#include "opt_inet.h"
39#include "opt_inet6.h"
40#include "opt_ipx.h"
41#include "opt_bdg.h"
42#include "opt_mac.h"

--- 565 unchanged lines hidden (view full) ---

608 struct ifnet *bif;
609
610 /* Check with bridging code */
611 if ((bif = bridge_in_ptr(ifp, eh)) == BDG_DROP) {
612 m_freem(m);
613 return;
614 }
615 if (bif != BDG_LOCAL) {
616 struct mbuf *oldm = m ;
617
618 save_eh = *eh ; /* because it might change */
619 m = bdg_forward_ptr(m, eh, bif); /* needs forwarding */
620 /*
621 * Do not continue if bdg_forward_ptr() processed our
622 * packet (and cleared the mbuf pointer m) or if
623 * it dropped (m_free'd) the packet itself.
624 */
625 if (m == NULL) {
626 if (bif == BDG_BCAST || bif == BDG_MCAST)
627 printf("bdg_forward drop MULTICAST PKT\n");
628 return;
629 }
616 save_eh = *eh ; /* because it might change */
617 m = bdg_forward_ptr(m, eh, bif); /* needs forwarding */
618 /*
619 * Do not continue if bdg_forward_ptr() processed our
620 * packet (and cleared the mbuf pointer m) or if
621 * it dropped (m_free'd) the packet itself.
622 */
623 if (m == NULL) {
624 if (bif == BDG_BCAST || bif == BDG_MCAST)
625 printf("bdg_forward drop MULTICAST PKT\n");
626 return;
627 }
630 if (m != oldm) /* m changed! */
631 eh = &save_eh ;
628 eh = &save_eh ;
632 }
633 if (bif == BDG_LOCAL
634 || bif == BDG_BCAST
635 || bif == BDG_MCAST)
636 goto recvLocal; /* receive locally */
637
638 /* If not local and not multicast, just drop it */
639 if (m != NULL)

--- 446 unchanged lines hidden ---
629 }
630 if (bif == BDG_LOCAL
631 || bif == BDG_BCAST
632 || bif == BDG_MCAST)
633 goto recvLocal; /* receive locally */
634
635 /* If not local and not multicast, just drop it */
636 if (m != NULL)

--- 446 unchanged lines hidden ---