Lines Matching refs:connp

747 conn_get_ixa_impl(conn_t *connp, boolean_t replace, int kmflag)
752 mutex_enter(&connp->conn_lock);
753 ixa = connp->conn_ixa;
759 mutex_exit(&connp->conn_lock);
764 mutex_exit(&connp->conn_lock);
765 ixa_refrele(connp->conn_ixa);
768 ixa_safe_copy(connp->conn_ixa, ixa);
773 oldixa = connp->conn_ixa;
774 connp->conn_ixa = ixa;
775 mutex_exit(&connp->conn_lock);
778 oldixa = connp->conn_ixa;
779 mutex_exit(&connp->conn_lock);
801 conn_get_ixa(conn_t *connp, boolean_t replace)
803 return (conn_get_ixa_impl(connp, replace, KM_NOSLEEP));
811 conn_get_ixa_tryhard(conn_t *connp, boolean_t replace)
813 return (conn_get_ixa_impl(connp, replace, KM_SLEEP));
825 conn_replace_ixa(conn_t *connp, ip_xmit_attr_t *ixa)
829 ASSERT(MUTEX_HELD(&connp->conn_lock));
831 oldixa = connp->conn_ixa;
834 connp->conn_ixa = ixa;
848 conn_get_ixa_exclusive(conn_t *connp)
852 mutex_enter(&connp->conn_lock);
853 ixa = connp->conn_ixa;
863 mutex_exit(&connp->conn_lock);
864 ixa_refrele(connp->conn_ixa);
867 ixa_safe_copy(connp->conn_ixa, ixa);
868 mutex_exit(&connp->conn_lock);
869 IXA_REFRELE(connp->conn_ixa);
1180 tcp_ixa_cleanup_getmblk(conn_t *connp)
1182 tcp_stack_t *tcps = connp->conn_netstack->netstack_tcp;
1199 while (connp->conn_ixa->ixa_tcpcleanup != IXATC_IDLE) {
1221 ASSERT(connp->conn_ixa->ixa_tcpcleanup == IXATC_IDLE);
1225 connp->conn_ixa->ixa_tcpcleanup = IXATC_INPROGRESS;
1242 conn_t *connp = (conn_t *)arg;
1245 tcps = connp->conn_netstack->netstack_tcp;
1247 ixa_cleanup_stale(connp->conn_ixa);
1251 connp->conn_ixa->ixa_tcpcleanup = IXATC_COMPLETE;
1265 tcp_ixa_cleanup_wait_and_finish(conn_t *connp)
1267 tcp_stack_t *tcps = connp->conn_netstack->netstack_tcp;
1271 ASSERT(connp->conn_ixa->ixa_tcpcleanup != IXATC_IDLE);
1273 while (connp->conn_ixa->ixa_tcpcleanup == IXATC_INPROGRESS) {
1278 ASSERT(connp->conn_ixa->ixa_tcpcleanup == IXATC_COMPLETE);
1279 connp->conn_ixa->ixa_tcpcleanup = IXATC_IDLE;
1292 conn_ixa_cleanup(conn_t *connp, void *arg)
1296 if (IPCL_IS_TCP(connp)) {
1299 mp = tcp_ixa_cleanup_getmblk(connp);
1301 if (connp->conn_sqp->sq_run == curthread) {
1303 tcp_ixa_cleanup(connp, mp, NULL, NULL);
1305 CONN_INC_REF(connp);
1306 SQUEUE_ENTER_ONE(connp->conn_sqp, mp, tcp_ixa_cleanup,
1307 connp, NULL, SQ_PROCESS, SQTAG_TCP_IXA_CLEANUP);
1309 tcp_ixa_cleanup_wait_and_finish(connp);
1310 } else if (IPCL_IS_SCTP(connp)) {
1314 sctp = CONN2SCTP(connp);
1316 ixa_cleanup_stale(connp->conn_ixa);
1339 ixa = conn_get_ixa_tryhard(connp, B_TRUE);
1342 ixa = conn_get_ixa(connp, B_TRUE);
1350 conn_t *, connp);
1364 ixa_check_drain_insert(conn_t *connp, ip_xmit_attr_t *ixa)
1403 tryinsert: mutex_enter(&connp->conn_lock);
1404 if (connp->conn_blocked) {
1406 conn_t *, connp);
1407 mutex_exit(&connp->conn_lock);
1409 connp->conn_blocked = B_TRUE;
1410 mutex_exit(&connp->conn_lock);
1412 conn_drain_insert(connp, idl_txl);
1413 if (!IPCL_IS_NONSTR(connp))
1414 noenable(connp->conn_wq);