Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Jul 2011 09:18:50 +0000 (UTC)
From:      Marko Zec <zec@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r223860 - stable/8/sys/net
Message-ID:  <201107080918.p689IofQ001473@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: zec
Date: Fri Jul  8 09:18:50 2011
New Revision: 223860
URL: http://svn.freebsd.org/changeset/base/223860

Log:
  MFC r222834:
    Set curvnet context in a callout-trigerred code path.

Modified:
  stable/8/sys/net/bridgestp.c
  stable/8/sys/net/bridgestp.h
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)

Modified: stable/8/sys/net/bridgestp.c
==============================================================================
--- stable/8/sys/net/bridgestp.c	Fri Jul  8 09:17:25 2011	(r223859)
+++ stable/8/sys/net/bridgestp.c	Fri Jul  8 09:18:50 2011	(r223860)
@@ -1860,6 +1860,8 @@ bstp_tick(void *arg)
 	if (bs->bs_running == 0)
 		return;
 
+	CURVNET_SET(bs->bs_vnet);
+
 	/* slow timer to catch missed link events */
 	if (bstp_timer_expired(&bs->bs_link_timer)) {
 		LIST_FOREACH(bp, &bs->bs_bplist, bp_next)
@@ -1893,6 +1895,8 @@ bstp_tick(void *arg)
 			bp->bp_txcount--;
 	}
 
+	CURVNET_RESTORE();
+
 	callout_reset(&bs->bs_bstpcallout, hz, bstp_tick, bs);
 }
 
@@ -2126,6 +2130,7 @@ bstp_attach(struct bstp_state *bs, struc
 	bs->bs_protover = BSTP_PROTO_RSTP;
 	bs->bs_state_cb = cb->bcb_state;
 	bs->bs_rtage_cb = cb->bcb_rtage;
+	bs->bs_vnet = curvnet;
 
 	getmicrotime(&bs->bs_last_tc_time);
 

Modified: stable/8/sys/net/bridgestp.h
==============================================================================
--- stable/8/sys/net/bridgestp.h	Fri Jul  8 09:17:25 2011	(r223859)
+++ stable/8/sys/net/bridgestp.h	Fri Jul  8 09:18:50 2011	(r223860)
@@ -358,6 +358,7 @@ struct bstp_state {
 	LIST_HEAD(, bstp_port)	bs_bplist;
 	bstp_state_cb_t		bs_state_cb;
 	bstp_rtage_cb_t		bs_rtage_cb;
+	struct vnet		*bs_vnet;
 };
 
 #define	BSTP_LOCK_INIT(_bs)	mtx_init(&(_bs)->bs_mtx, "bstp", NULL, MTX_DEF)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201107080918.p689IofQ001473>