FreeBSD Bugzilla – Attachment 12903 Details for
Bug 24720
Bridging code does not always check activation (w/patch)
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
file.diff
file.diff (text/plain), 1.96 KB, created by
Rogier R. Mulhuijzen
on 2001-01-29 16:20:01 UTC
(
hide
)
Description:
file.diff
Filename:
MIME Type:
Creator:
Rogier R. Mulhuijzen
Created:
2001-01-29 16:20:01 UTC
Size:
1.96 KB
patch
obsolete
>--- sys/netinet/if_ether.c.old Wed Jan 24 01:05:06 2001 >+++ sys/netinet/if_ether.c Sun Jan 28 06:46:27 2001 >@@ -59,6 +59,10 @@ > #include <net/route.h> > #include <net/netisr.h> > #include <net/if_llc.h> >+#ifdef BRIDGE >+#include <net/ethernet.h> >+#include <net/bridge.h> >+#endif > > #include <netinet/in.h> > #include <netinet/in_var.h> >@@ -525,14 +529,16 @@ > * of the receive interface. (This will change slightly > * when we have clusters of interfaces). > */ >- { >+ if (!do_bridge) { > #else >- if (ia->ia_ifp == &ac->ac_if) { >+ { > #endif >- maybe_ia = ia; >- if ((itaddr.s_addr == ia->ia_addr.sin_addr.s_addr) || >- (isaddr.s_addr == ia->ia_addr.sin_addr.s_addr)) >- break; >+ if (ia->ia_ifp == &ac->ac_if) { >+ maybe_ia = ia; >+ if ((itaddr.s_addr == ia->ia_addr.sin_addr.s_addr) || >+ (isaddr.s_addr == ia->ia_addr.sin_addr.s_addr)) >+ break; >+ } > } > if (maybe_ia == 0) { > m_freem(m); >@@ -561,17 +567,21 @@ > } > la = arplookup(isaddr.s_addr, itaddr.s_addr == myaddr.s_addr, 0); > if (la && (rt = la->la_rt) && (sdl = SDL(rt->rt_gateway))) { >-#ifndef BRIDGE /* the following is not an error when doing bridging */ >- if (rt->rt_ifp != &ac->ac_if) { >- if (log_arp_wrong_iface) >- log(LOG_ERR, "arp: %s is on %s%d but got reply from %6D on %s%d\n", >- inet_ntoa(isaddr), >- rt->rt_ifp->if_name, rt->rt_ifp->if_unit, >- ea->arp_sha, ":", >- ac->ac_if.if_name, ac->ac_if.if_unit); >- goto reply; >- } >+#ifdef BRIDGE >+ if (!do_bridge) { /* the following is not an error when doing bridging */ >+#else >+ { > #endif >+ if (rt->rt_ifp != &ac->ac_if) { >+ if (log_arp_wrong_iface) >+ log(LOG_ERR, "arp: %s is on %s%d but got reply from %6D on %s%d\n", >+ inet_ntoa(isaddr), >+ rt->rt_ifp->if_name, rt->rt_ifp->if_unit, >+ ea->arp_sha, ":", >+ ac->ac_if.if_name, ac->ac_if.if_unit); >+ goto reply; >+ } >+ } > if (sdl->sdl_alen && > bcmp((caddr_t)ea->arp_sha, LLADDR(sdl), sdl->sdl_alen)) { > if (rt->rt_expire)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 24720
: 12903