On Friday 09 September 2005 19:19, Max Laier wrote: > On Friday 09 September 2005 15:05, Dominic Marks wrote: > > Dominic Marks wrote: > > > Hello, > > > > > > I am setting up a redundant firewall setup for our company, the systems > > > are identically configured Dell servers running FreeBSD 6.0-BETA4. > > > Software being used is pf, carp, pfsync and altq. > > > > > > When I attempt to configure the pfsync0 interface the systems panic. > > > The systems currently have HTT enabled, I've googled but I didn't find > > > anything to suggest pfsync was not SMP/HTT friendly. Could this be a > > > configuration problem? > > > > > > interface: > > > > > > # ifconfig em2 > > > em2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 > > > options=b<RXCSUM,TXCSUM,VLAN_MTU> > > > inet 172.16.254.2 netmask 0xffffff00 broadcast 172.16.254.255 > > > ether 00:04:23:bd:7a:ef > > > media: Ethernet autoselect (100baseTX <full-duplex>) > > > status: active > > > > > > command: > > > > > > # ifconfig pfsync0 syncdev em2 syncpeer 172.16.254.1 > > > > Following a little more testing: > > > > If I don't specify a syncpeer I don't get the panic. > > Thanks for the dump. Seems like we were leaking a lock from pfsyncioctl(). > Can you please try this patch and report back. Thanks in advance.
And the patch ... sorry. -- /"\ Best regards, | [EMAIL PROTECTED] \ / Max Laier | ICQ #67774661 X http://pf4freebsd.love2party.net/ | [EMAIL PROTECTED] / \ ASCII Ribbon Campaign | Against HTML Mail and News
Index: if_pfsync.c =================================================================== RCS file: /usr/store/mlaier/fcvs/src/sys/contrib/pf/net/if_pfsync.c,v retrieving revision 1.19.2.2 diff -u -p -r1.19.2.2 if_pfsync.c --- if_pfsync.c 25 Aug 2005 05:01:03 -0000 1.19.2.2 +++ if_pfsync.c 9 Sep 2005 17:16:39 -0000 @@ -1128,14 +1128,14 @@ pfsyncioctl(struct ifnet *ifp, u_long cm imo->imo_multicast_ifp = sc->sc_sync_ifp; imo->imo_multicast_ttl = PFSYNC_DFLTTL; imo->imo_multicast_loop = 0; +#ifdef __FreeBSD__ + PF_LOCK(); +#endif } if (sc->sc_sync_ifp || sc->sc_sendaddr.s_addr != INADDR_PFSYNC_GROUP) { /* Request a full state table update. */ -#ifdef __FreeBSD__ - PF_LOCK(); -#endif sc->sc_ureq_sent = time_uptime; #if NCARP > 0 if (pfsync_sync_ok)
pgpPK4JskHogx.pgp
Description: PGP signature