mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	net: tracepoint: exposing sk_family in all tcp:tracepoints
Similar to sock:inet_sock_set_state tracepoint, expose sk_family to distinguish AF_INET and AF_INET6 families. The following tcp tracepoints are updated: tcp:tcp_destroy_sock tcp:tcp_rcv_space_adjust tcp:tcp_retransmit_skb tcp:tcp_send_reset tcp:tcp_receive_reset tcp:tcp_retransmit_synack tcp:tcp_probe Signed-off-by: Hariharan Ananthakrishnan <hari@netflix.com> Signed-off-by: Brendan Gregg <bgregg@netflix.com> Link: https://lore.kernel.org/r/20210129001210.344438-1-hari@netflix.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
		
							parent
							
								
									f5a5589c72
								
							
						
					
					
						commit
						3dd344ea84
					
				
					 1 changed files with 16 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -59,6 +59,7 @@ DECLARE_EVENT_CLASS(tcp_event_sk_skb,
 | 
			
		|||
		__field(int, state)
 | 
			
		||||
		__field(__u16, sport)
 | 
			
		||||
		__field(__u16, dport)
 | 
			
		||||
		__field(__u16, family)
 | 
			
		||||
		__array(__u8, saddr, 4)
 | 
			
		||||
		__array(__u8, daddr, 4)
 | 
			
		||||
		__array(__u8, saddr_v6, 16)
 | 
			
		||||
| 
						 | 
				
			
			@ -75,6 +76,7 @@ DECLARE_EVENT_CLASS(tcp_event_sk_skb,
 | 
			
		|||
 | 
			
		||||
		__entry->sport = ntohs(inet->inet_sport);
 | 
			
		||||
		__entry->dport = ntohs(inet->inet_dport);
 | 
			
		||||
		__entry->family = sk->sk_family;
 | 
			
		||||
 | 
			
		||||
		p32 = (__be32 *) __entry->saddr;
 | 
			
		||||
		*p32 = inet->inet_saddr;
 | 
			
		||||
| 
						 | 
				
			
			@ -86,7 +88,8 @@ DECLARE_EVENT_CLASS(tcp_event_sk_skb,
 | 
			
		|||
			      sk->sk_v6_rcv_saddr, sk->sk_v6_daddr);
 | 
			
		||||
	),
 | 
			
		||||
 | 
			
		||||
	TP_printk("sport=%hu dport=%hu saddr=%pI4 daddr=%pI4 saddrv6=%pI6c daddrv6=%pI6c state=%s",
 | 
			
		||||
	TP_printk("family=%s sport=%hu dport=%hu saddr=%pI4 daddr=%pI4 saddrv6=%pI6c daddrv6=%pI6c state=%s",
 | 
			
		||||
		  show_family_name(__entry->family),
 | 
			
		||||
		  __entry->sport, __entry->dport, __entry->saddr, __entry->daddr,
 | 
			
		||||
		  __entry->saddr_v6, __entry->daddr_v6,
 | 
			
		||||
		  show_tcp_state_name(__entry->state))
 | 
			
		||||
| 
						 | 
				
			
			@ -125,6 +128,7 @@ DECLARE_EVENT_CLASS(tcp_event_sk,
 | 
			
		|||
		__field(const void *, skaddr)
 | 
			
		||||
		__field(__u16, sport)
 | 
			
		||||
		__field(__u16, dport)
 | 
			
		||||
		__field(__u16, family)
 | 
			
		||||
		__array(__u8, saddr, 4)
 | 
			
		||||
		__array(__u8, daddr, 4)
 | 
			
		||||
		__array(__u8, saddr_v6, 16)
 | 
			
		||||
| 
						 | 
				
			
			@ -140,6 +144,7 @@ DECLARE_EVENT_CLASS(tcp_event_sk,
 | 
			
		|||
 | 
			
		||||
		__entry->sport = ntohs(inet->inet_sport);
 | 
			
		||||
		__entry->dport = ntohs(inet->inet_dport);
 | 
			
		||||
		__entry->family = sk->sk_family;
 | 
			
		||||
 | 
			
		||||
		p32 = (__be32 *) __entry->saddr;
 | 
			
		||||
		*p32 = inet->inet_saddr;
 | 
			
		||||
| 
						 | 
				
			
			@ -153,7 +158,8 @@ DECLARE_EVENT_CLASS(tcp_event_sk,
 | 
			
		|||
		__entry->sock_cookie = sock_gen_cookie(sk);
 | 
			
		||||
	),
 | 
			
		||||
 | 
			
		||||
	TP_printk("sport=%hu dport=%hu saddr=%pI4 daddr=%pI4 saddrv6=%pI6c daddrv6=%pI6c sock_cookie=%llx",
 | 
			
		||||
	TP_printk("family=%s sport=%hu dport=%hu saddr=%pI4 daddr=%pI4 saddrv6=%pI6c daddrv6=%pI6c sock_cookie=%llx",
 | 
			
		||||
		  show_family_name(__entry->family),
 | 
			
		||||
		  __entry->sport, __entry->dport,
 | 
			
		||||
		  __entry->saddr, __entry->daddr,
 | 
			
		||||
		  __entry->saddr_v6, __entry->daddr_v6,
 | 
			
		||||
| 
						 | 
				
			
			@ -192,6 +198,7 @@ TRACE_EVENT(tcp_retransmit_synack,
 | 
			
		|||
		__field(const void *, req)
 | 
			
		||||
		__field(__u16, sport)
 | 
			
		||||
		__field(__u16, dport)
 | 
			
		||||
		__field(__u16, family)
 | 
			
		||||
		__array(__u8, saddr, 4)
 | 
			
		||||
		__array(__u8, daddr, 4)
 | 
			
		||||
		__array(__u8, saddr_v6, 16)
 | 
			
		||||
| 
						 | 
				
			
			@ -207,6 +214,7 @@ TRACE_EVENT(tcp_retransmit_synack,
 | 
			
		|||
 | 
			
		||||
		__entry->sport = ireq->ir_num;
 | 
			
		||||
		__entry->dport = ntohs(ireq->ir_rmt_port);
 | 
			
		||||
		__entry->family = sk->sk_family;
 | 
			
		||||
 | 
			
		||||
		p32 = (__be32 *) __entry->saddr;
 | 
			
		||||
		*p32 = ireq->ir_loc_addr;
 | 
			
		||||
| 
						 | 
				
			
			@ -218,7 +226,8 @@ TRACE_EVENT(tcp_retransmit_synack,
 | 
			
		|||
			      ireq->ir_v6_loc_addr, ireq->ir_v6_rmt_addr);
 | 
			
		||||
	),
 | 
			
		||||
 | 
			
		||||
	TP_printk("sport=%hu dport=%hu saddr=%pI4 daddr=%pI4 saddrv6=%pI6c daddrv6=%pI6c",
 | 
			
		||||
	TP_printk("family=%s sport=%hu dport=%hu saddr=%pI4 daddr=%pI4 saddrv6=%pI6c daddrv6=%pI6c",
 | 
			
		||||
		  show_family_name(__entry->family),
 | 
			
		||||
		  __entry->sport, __entry->dport,
 | 
			
		||||
		  __entry->saddr, __entry->daddr,
 | 
			
		||||
		  __entry->saddr_v6, __entry->daddr_v6)
 | 
			
		||||
| 
						 | 
				
			
			@ -238,6 +247,7 @@ TRACE_EVENT(tcp_probe,
 | 
			
		|||
		__array(__u8, daddr, sizeof(struct sockaddr_in6))
 | 
			
		||||
		__field(__u16, sport)
 | 
			
		||||
		__field(__u16, dport)
 | 
			
		||||
		__field(__u16, family)
 | 
			
		||||
		__field(__u32, mark)
 | 
			
		||||
		__field(__u16, data_len)
 | 
			
		||||
		__field(__u32, snd_nxt)
 | 
			
		||||
| 
						 | 
				
			
			@ -264,6 +274,7 @@ TRACE_EVENT(tcp_probe,
 | 
			
		|||
		__entry->sport = ntohs(inet->inet_sport);
 | 
			
		||||
		__entry->dport = ntohs(inet->inet_dport);
 | 
			
		||||
		__entry->mark = skb->mark;
 | 
			
		||||
		__entry->family = sk->sk_family;
 | 
			
		||||
 | 
			
		||||
		__entry->data_len = skb->len - __tcp_hdrlen(th);
 | 
			
		||||
		__entry->snd_nxt = tp->snd_nxt;
 | 
			
		||||
| 
						 | 
				
			
			@ -276,7 +287,8 @@ TRACE_EVENT(tcp_probe,
 | 
			
		|||
		__entry->sock_cookie = sock_gen_cookie(sk);
 | 
			
		||||
	),
 | 
			
		||||
 | 
			
		||||
	TP_printk("src=%pISpc dest=%pISpc mark=%#x data_len=%d snd_nxt=%#x snd_una=%#x snd_cwnd=%u ssthresh=%u snd_wnd=%u srtt=%u rcv_wnd=%u sock_cookie=%llx",
 | 
			
		||||
	TP_printk("family=%s src=%pISpc dest=%pISpc mark=%#x data_len=%d snd_nxt=%#x snd_una=%#x snd_cwnd=%u ssthresh=%u snd_wnd=%u srtt=%u rcv_wnd=%u sock_cookie=%llx",
 | 
			
		||||
		  show_family_name(__entry->family),
 | 
			
		||||
		  __entry->saddr, __entry->daddr, __entry->mark,
 | 
			
		||||
		  __entry->data_len, __entry->snd_nxt, __entry->snd_una,
 | 
			
		||||
		  __entry->snd_cwnd, __entry->ssthresh, __entry->snd_wnd,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue