Print this page
dccp: getting kernel segfaults, back out recent added features


  69 
  70 /*
  71  * Fast path write put.
  72  */
  73 void
  74 dccp_wput_data(dccp_t *dccp, mblk_t *mp, boolean_t urgent)
  75 {
  76         cmn_err(CE_NOTE, "dccp_output.c: dccp_wput_data");
  77 }
  78 
  79 /*
  80  *
  81  */
  82 void
  83 dccp_wput_sock(queue_t *wq, mblk_t *mp)
  84 {
  85         conn_t  *connp = Q_TO_CONN(wq);
  86         dccp_t  *dccp = connp->conn_dccp;
  87         struct T_capability_req *car = (struct T_capability_req *)mp->b_rptr;
  88 


  89         ASSERT(wq->q_qinfo == &dccp_sock_winit);
  90         wq->q_qinfo = &dccp_winit;
  91 
  92         ASSERT(IPCL_IS_TCP(connp));
  93         ASSERT(DCCP_IS_SOCKET(dccp));
  94 
  95         if (DB_TYPE(mp) == M_PCPROTO &&
  96             MBLKL(mp) == sizeof (struct T_capability_req) &&
  97             car->PRIM_type == T_CAPABILITY_REQ) {
  98                 dccp_capability_req(dccp, mp);
  99                 return;
 100         }
 101 
 102         dccp_wput(wq, mp);
 103 }
 104 
 105 /* ARGSUSED */
 106 void
 107 dccp_wput_fallback(queue_t *eq, mblk_t *mp)
 108 {




  69 
  70 /*
  71  * Fast path write put.
  72  */
  73 void
  74 dccp_wput_data(dccp_t *dccp, mblk_t *mp, boolean_t urgent)
  75 {
  76         cmn_err(CE_NOTE, "dccp_output.c: dccp_wput_data");
  77 }
  78 
  79 /*
  80  *
  81  */
  82 void
  83 dccp_wput_sock(queue_t *wq, mblk_t *mp)
  84 {
  85         conn_t  *connp = Q_TO_CONN(wq);
  86         dccp_t  *dccp = connp->conn_dccp;
  87         struct T_capability_req *car = (struct T_capability_req *)mp->b_rptr;
  88 
  89         cmn_err(CE_NOTE, "dccp_wput_sock");
  90 
  91         ASSERT(wq->q_qinfo == &dccp_sock_winit);
  92         wq->q_qinfo = &dccp_winit;
  93 
  94         ASSERT(IPCL_IS_TCP(connp));
  95         ASSERT(DCCP_IS_SOCKET(dccp));
  96 
  97         if (DB_TYPE(mp) == M_PCPROTO &&
  98             MBLKL(mp) == sizeof (struct T_capability_req) &&
  99             car->PRIM_type == T_CAPABILITY_REQ) {
 100                 dccp_capability_req(dccp, mp);
 101                 return;
 102         }
 103 
 104         dccp_wput(wq, mp);
 105 }
 106 
 107 /* ARGSUSED */
 108 void
 109 dccp_wput_fallback(queue_t *eq, mblk_t *mp)
 110 {