Hello, On Fri, 20 Jun 2003, 11:39-0300, Han Hwei Woo wrote:
> Here's the network I'm trying to setup > > 192.168.0.3 192.168.0.1 192.168.0.2 > OpenBSD | vlan0----><--- vlan0 | FreeBSD | em0 ---><--- em0 | Windows 2000 > > with net.link.ether.bridge_cfg: vlan0,em0 > > If I try to ping the FreeBSD machine from OpenBSD, arp requests are > sent out, and they are seen on both of the FreeBSD machine's > interfaces. However, no arp response is generated. > > So, I enter in the arp entries myself. > > Once I do that, when I again try to ping the FreeBSD host from > OpenBSD, the ping requests are seen on both the FreeBSD interfaces. > However, no response is generated. > > If I instead try to ping the OpenBSD machine from FreeBSD, the ping > requests get to the OpenBSD machine, and the OpenBSD replies, and > both the FreeBSD interfaces receive the reply, according to tcpdump. > However, the ping program does not receive them. > > > I also tried this setup: > > 192.168.0.3 192.168.0.1 192.168.0.2 > OpenBSD | vlan0----><--- vlan0 | FreeBSD | vlan1 ---><--- vlan0 | Windows 2000 > > with net.link.ether.bridge_cfg: vlan0,vlan1 > > And the same problem occurs. I have also tried with different > network cards as the parent interface of vlan0 on FreeBSD > (fxp0,dc0). 1) Please try a hack below; 2) Don't use bridge.ko, it is semi-broken, compile the bridging code in kernel instead (options BRIDGE); 3) sysctl net.inet.ip.check_interface=0 is mandatory in some topologies. Index: if_ethersubr.c =================================================================== RCS file: /home/ncvs/src/sys/net/if_ethersubr.c,v retrieving revision 1.147 diff -u -r1.147 if_ethersubr.c --- if_ethersubr.c 5 May 2003 09:15:50 -0000 1.147 +++ if_ethersubr.c 20 May 2003 15:06:50 -0000 @@ -625,6 +625,7 @@ if (rule) /* packet was already bridged */ goto post_stats; +#if 0 if (!(BDG_ACTIVE(ifp))) { /* * Discard packet if upper layers shouldn't see it because it @@ -641,6 +642,7 @@ return; } } +#endif /* Discard packet if interface is not up */ if ((ifp->if_flags & IFF_UP) == 0) { %%% -- Maxim Konovalov, [EMAIL PROTECTED], [EMAIL PROTECTED] _______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "[EMAIL PROTECTED]"