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 {
|