From owner-freebsd-emulation Fri Jun 16 17: 5:51 2000 Delivered-To: freebsd-emulation@freebsd.org Received: from blount.mail.mindspring.net (blount.mail.mindspring.net [207.69.200.226]) by hub.freebsd.org (Postfix) with ESMTP id F0A7337C289 for ; Fri, 16 Jun 2000 17:04:48 -0700 (PDT) (envelope-from vsilyaev@mindspring.com) Received: from jupiter.delta.ny.us (nyf-ny3-02.ix.netcom.com [198.211.16.130]) by blount.mail.mindspring.net (8.9.3/8.8.5) with ESMTP id UAA26729 for ; Fri, 16 Jun 2000 20:04:45 -0400 (EDT) Received: (from vsilyaev@localhost) by jupiter.delta.ny.us (8.9.3/8.9.3) id UAA00311 for emulation@freebsd.org; Fri, 16 Jun 2000 20:04:43 -0400 (EDT) (envelope-from vsilyaev) Date: Fri, 16 Jun 2000 20:04:42 -0400 From: "Vladimir N. Silyaev" To: emulation@freebsd.org Subject: FlwUp: New vmware port: testers required Message-ID: <20000616200442.A289@jupiter.delta.ny.us> References: <200006161629.e5GGTaa28972@dmz.visiontech-dml.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="fdj2RfSjLxBAspz7" X-Mailer: Mutt 1.0i In-Reply-To: <200006161629.e5GGTaa28972@dmz.visiontech-dml.com>; from vsilyaev@mindspring.com on Fri, Jun 16, 2000 at 07:29:36PM +0300 Sender: owner-freebsd-emulation@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org --fdj2RfSjLxBAspz7 Content-Type: text/plain; charset=us-ascii Hi, To be able to test new vmnet module it's also required to apply the following patch and after file rc.d/vmware.sh was started, to run the next command: sysctl -w net.link.ether.bridge_refresh=1 -- With best regards, Vladimir --fdj2RfSjLxBAspz7 Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="bridge.diff" --- src/sys/net/bridge.c.orig Fri Jun 9 06:48:39 2000 +++ src/sys/net/bridge.c Fri Jun 16 19:53:56 2000 @@ -118,6 +118,7 @@ #define DEB(x) static void bdginit(void *); +static void bdgtakeifaces(void); static void flush_table(void); static void bdg_promisc_on(void); static void parse_bdg_cfg(void); @@ -321,6 +322,16 @@ return error ; } +static int +sysctl_refresh SYSCTL_HANDLER_ARGS +{ + if (req->newptr) + bdgtakeifaces(); + + return 0; +} + + SYSCTL_DECL(_net_link_ether); SYSCTL_PROC(_net_link_ether, OID_AUTO, bridge_cfg, CTLTYPE_STRING|CTLFLAG_RW, &bridge_cfg, sizeof(bridge_cfg), &sysctl_bdg_cfg, "A", @@ -340,6 +351,9 @@ SYSCTL_INT(_net_link_ether, OID_AUTO, bridge_ipfw_collisions, CTLFLAG_RW, &bdg_ipfw_colls,0,""); +SYSCTL_PROC(_net_link_ether, OID_AUTO, bridge_refresh, CTLTYPE_INT|CTLFLAG_WR, + NULL, 0, &sysctl_refresh, "I", "iface refresh"); + #if 1 /* diagnostic vars */ int bdg_in_count = 0 , bdg_in_ticks = 0 , bdg_fw_count = 0, bdg_fw_ticks = 0 ; SYSCTL_INT(_net_link_ether, OID_AUTO, bdginc, CTLFLAG_RW, &bdg_in_count,0,""); @@ -419,11 +433,6 @@ static void bdginit(void *dummy) { - int i ; - struct ifnet *ifp; - struct arpcom *ac ; - u_char *eth_addr ; - struct bdg_softc *bp; if (bdg_table == NULL) bdg_table = (struct hash_table *) @@ -436,8 +445,23 @@ bzero(ifp2sc, BDG_MAX_PORTS * sizeof(struct bdg_softc) ); bzero(&bdg_stats, sizeof(bdg_stats) ); + bdgtakeifaces(); + bdg_timeout(0); + do_bridge=0; +} + +void +bdgtakeifaces(void) +{ + int i ; + struct ifnet *ifp; + struct arpcom *ac ; + u_char *eth_addr ; + struct bdg_softc *bp; + bdg_ports = 0 ; eth_addr = bdg_addresses ; + *bridge_cfg = '\0'; printf("BRIDGE 990810, have %d interfaces\n", if_index); for (i = 0 , ifp = ifnet.tqh_first ; i < if_index ; @@ -466,8 +490,6 @@ bdg_ports ++ ; } - bdg_timeout(0); - do_bridge=0; } /* --fdj2RfSjLxBAspz7-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-emulation" in the body of the message