@@ -170,55 +170,144 @@ DECLARE_EVENT_CLASS(rpcgss_ctx_class,
170
170
DEFINE_CTX_EVENT (init );
171
171
DEFINE_CTX_EVENT (destroy );
172
172
173
+ DECLARE_EVENT_CLASS (rpcgss_svc_gssapi_class ,
174
+ TP_PROTO (
175
+ const struct svc_rqst * rqstp ,
176
+ u32 maj_stat
177
+ ),
178
+
179
+ TP_ARGS (rqstp , maj_stat ),
180
+
181
+ TP_STRUCT__entry (
182
+ __field (u32 , xid )
183
+ __field (u32 , maj_stat )
184
+ __string (addr , rqstp -> rq_xprt -> xpt_remotebuf )
185
+ ),
186
+
187
+ TP_fast_assign (
188
+ __entry -> xid = __be32_to_cpu (rqstp -> rq_xid );
189
+ __entry -> maj_stat = maj_stat ;
190
+ __assign_str (addr , rqstp -> rq_xprt -> xpt_remotebuf );
191
+ ),
192
+
193
+ TP_printk ("addr=%s xid=0x%08x maj_stat=%s" ,
194
+ __get_str (addr ), __entry -> xid ,
195
+ __entry -> maj_stat == 0 ?
196
+ "GSS_S_COMPLETE" : show_gss_status (__entry -> maj_stat ))
197
+ );
198
+
199
+ #define DEFINE_SVC_GSSAPI_EVENT (name ) \
200
+ DEFINE_EVENT(rpcgss_svc_gssapi_class, rpcgss_svc_##name, \
201
+ TP_PROTO( \
202
+ const struct svc_rqst *rqstp, \
203
+ u32 maj_stat \
204
+ ), \
205
+ TP_ARGS(rqstp, maj_stat))
206
+
207
+ DEFINE_SVC_GSSAPI_EVENT (unwrap );
208
+ DEFINE_SVC_GSSAPI_EVENT (mic );
209
+
210
+ TRACE_EVENT (rpcgss_svc_unwrap_failed ,
211
+ TP_PROTO (
212
+ const struct svc_rqst * rqstp
213
+ ),
214
+
215
+ TP_ARGS (rqstp ),
216
+
217
+ TP_STRUCT__entry (
218
+ __field (u32 , xid )
219
+ __string (addr , rqstp -> rq_xprt -> xpt_remotebuf )
220
+ ),
221
+
222
+ TP_fast_assign (
223
+ __entry -> xid = be32_to_cpu (rqstp -> rq_xid );
224
+ __assign_str (addr , rqstp -> rq_xprt -> xpt_remotebuf );
225
+ ),
226
+
227
+ TP_printk ("addr=%s xid=0x%08x" , __get_str (addr ), __entry -> xid )
228
+ );
229
+
230
+ TRACE_EVENT (rpcgss_svc_seqno_bad ,
231
+ TP_PROTO (
232
+ const struct svc_rqst * rqstp ,
233
+ u32 expected ,
234
+ u32 received
235
+ ),
236
+
237
+ TP_ARGS (rqstp , expected , received ),
238
+
239
+ TP_STRUCT__entry (
240
+ __field (u32 , expected )
241
+ __field (u32 , received )
242
+ __field (u32 , xid )
243
+ __string (addr , rqstp -> rq_xprt -> xpt_remotebuf )
244
+ ),
245
+
246
+ TP_fast_assign (
247
+ __entry -> expected = expected ;
248
+ __entry -> received = received ;
249
+ __entry -> xid = __be32_to_cpu (rqstp -> rq_xid );
250
+ __assign_str (addr , rqstp -> rq_xprt -> xpt_remotebuf );
251
+ ),
252
+
253
+ TP_printk ("addr=%s xid=0x%08x expected seqno %u, received seqno %u" ,
254
+ __get_str (addr ), __entry -> xid ,
255
+ __entry -> expected , __entry -> received )
256
+ );
257
+
173
258
TRACE_EVENT (rpcgss_svc_accept_upcall ,
174
259
TP_PROTO (
175
- __be32 xid ,
260
+ const struct svc_rqst * rqstp ,
176
261
u32 major_status ,
177
262
u32 minor_status
178
263
),
179
264
180
- TP_ARGS (xid , major_status , minor_status ),
265
+ TP_ARGS (rqstp , major_status , minor_status ),
181
266
182
267
TP_STRUCT__entry (
183
- __field (u32 , xid )
184
268
__field (u32 , minor_status )
185
269
__field (unsigned long , major_status )
270
+ __field (u32 , xid )
271
+ __string (addr , rqstp -> rq_xprt -> xpt_remotebuf )
186
272
),
187
273
188
274
TP_fast_assign (
189
- __entry -> xid = be32_to_cpu (xid );
190
275
__entry -> minor_status = minor_status ;
191
276
__entry -> major_status = major_status ;
277
+ __entry -> xid = be32_to_cpu (rqstp -> rq_xid );
278
+ __assign_str (addr , rqstp -> rq_xprt -> xpt_remotebuf );
192
279
),
193
280
194
- TP_printk ("xid=0x%08x major_status=%s (0x%08lx) minor_status=%u" ,
195
- __entry -> xid , __entry -> major_status == 0 ? "GSS_S_COMPLETE" :
196
- show_gss_status (__entry -> major_status ),
281
+ TP_printk ("addr=%s xid=0x%08x major_status=%s (0x%08lx) minor_status=%u" ,
282
+ __get_str (addr ), __entry -> xid ,
283
+ (__entry -> major_status == 0 ) ? "GSS_S_COMPLETE" :
284
+ show_gss_status (__entry -> major_status ),
197
285
__entry -> major_status , __entry -> minor_status
198
286
)
199
287
);
200
288
201
- TRACE_EVENT (rpcgss_svc_accept ,
289
+ TRACE_EVENT (rpcgss_svc_authenticate ,
202
290
TP_PROTO (
203
- __be32 xid ,
204
- size_t len
291
+ const struct svc_rqst * rqstp ,
292
+ const struct rpc_gss_wire_cred * gc
205
293
),
206
294
207
- TP_ARGS (xid , len ),
295
+ TP_ARGS (rqstp , gc ),
208
296
209
297
TP_STRUCT__entry (
298
+ __field (u32 , seqno )
210
299
__field (u32 , xid )
211
- __field ( size_t , len )
300
+ __string ( addr , rqstp -> rq_xprt -> xpt_remotebuf )
212
301
),
213
302
214
303
TP_fast_assign (
215
- __entry -> xid = be32_to_cpu (xid );
216
- __entry -> len = len ;
304
+ __entry -> xid = be32_to_cpu (rqstp -> rq_xid );
305
+ __entry -> seqno = gc -> gc_seq ;
306
+ __assign_str (addr , rqstp -> rq_xprt -> xpt_remotebuf );
217
307
),
218
308
219
- TP_printk ("xid=0x%08x len=%zu" ,
220
- __entry -> xid , __entry -> len
221
- )
309
+ TP_printk ("addr=%s xid=0x%08x seqno=%u" , __get_str (addr ),
310
+ __entry -> xid , __entry -> seqno )
222
311
);
223
312
224
313
@@ -371,37 +460,64 @@ TRACE_EVENT(rpcgss_update_slack,
371
460
372
461
DECLARE_EVENT_CLASS (rpcgss_svc_seqno_class ,
373
462
TP_PROTO (
374
- __be32 xid ,
463
+ const struct svc_rqst * rqstp ,
375
464
u32 seqno
376
465
),
377
466
378
- TP_ARGS (xid , seqno ),
467
+ TP_ARGS (rqstp , seqno ),
379
468
380
469
TP_STRUCT__entry (
381
470
__field (u32 , xid )
382
471
__field (u32 , seqno )
383
472
),
384
473
385
474
TP_fast_assign (
386
- __entry -> xid = be32_to_cpu (xid );
475
+ __entry -> xid = be32_to_cpu (rqstp -> rq_xid );
387
476
__entry -> seqno = seqno ;
388
477
),
389
478
390
- TP_printk ("xid=0x%08x seqno=%u, request discarded " ,
479
+ TP_printk ("xid=0x%08x seqno=%u" ,
391
480
__entry -> xid , __entry -> seqno )
392
481
);
393
482
394
483
#define DEFINE_SVC_SEQNO_EVENT (name ) \
395
- DEFINE_EVENT(rpcgss_svc_seqno_class, rpcgss_svc_ ##name, \
484
+ DEFINE_EVENT(rpcgss_svc_seqno_class, rpcgss_svc_seqno_ ##name, \
396
485
TP_PROTO( \
397
- __be32 xid, \
486
+ const struct svc_rqst *rqstp, \
398
487
u32 seqno \
399
488
), \
400
- TP_ARGS(xid , seqno))
489
+ TP_ARGS(rqstp , seqno))
401
490
402
- DEFINE_SVC_SEQNO_EVENT (large_seqno );
403
- DEFINE_SVC_SEQNO_EVENT (old_seqno );
491
+ DEFINE_SVC_SEQNO_EVENT (large );
492
+ DEFINE_SVC_SEQNO_EVENT (seen );
404
493
494
+ TRACE_EVENT (rpcgss_svc_seqno_low ,
495
+ TP_PROTO (
496
+ const struct svc_rqst * rqstp ,
497
+ u32 seqno ,
498
+ u32 min ,
499
+ u32 max
500
+ ),
501
+
502
+ TP_ARGS (rqstp , seqno , min , max ),
503
+
504
+ TP_STRUCT__entry (
505
+ __field (u32 , xid )
506
+ __field (u32 , seqno )
507
+ __field (u32 , min )
508
+ __field (u32 , max )
509
+ ),
510
+
511
+ TP_fast_assign (
512
+ __entry -> xid = be32_to_cpu (rqstp -> rq_xid );
513
+ __entry -> seqno = seqno ;
514
+ __entry -> min = min ;
515
+ __entry -> max = max ;
516
+ ),
517
+
518
+ TP_printk ("xid=0x%08x seqno=%u window=[%u..%u]" ,
519
+ __entry -> xid , __entry -> seqno , __entry -> min , __entry -> max )
520
+ );
405
521
406
522
/**
407
523
** gssd upcall related trace events
0 commit comments