Lines Matching refs:r
69 static void inet_diag_msg_common_fill(struct inet_diag_msg *r, struct sock *sk) in inet_diag_msg_common_fill() argument
71 r->idiag_family = sk->sk_family; in inet_diag_msg_common_fill()
73 r->id.idiag_sport = htons(sk->sk_num); in inet_diag_msg_common_fill()
74 r->id.idiag_dport = sk->sk_dport; in inet_diag_msg_common_fill()
75 r->id.idiag_if = sk->sk_bound_dev_if; in inet_diag_msg_common_fill()
76 sock_diag_save_cookie(sk, r->id.idiag_cookie); in inet_diag_msg_common_fill()
80 *(struct in6_addr *)r->id.idiag_src = sk->sk_v6_rcv_saddr; in inet_diag_msg_common_fill()
81 *(struct in6_addr *)r->id.idiag_dst = sk->sk_v6_daddr; in inet_diag_msg_common_fill()
85 memset(&r->id.idiag_src, 0, sizeof(r->id.idiag_src)); in inet_diag_msg_common_fill()
86 memset(&r->id.idiag_dst, 0, sizeof(r->id.idiag_dst)); in inet_diag_msg_common_fill()
88 r->id.idiag_src[0] = sk->sk_rcv_saddr; in inet_diag_msg_common_fill()
89 r->id.idiag_dst[0] = sk->sk_daddr; in inet_diag_msg_common_fill()
117 struct inet_diag_msg *r; in inet_sk_diag_fill() local
125 nlh = nlmsg_put(skb, portid, seq, unlh->nlmsg_type, sizeof(*r), in inet_sk_diag_fill()
130 r = nlmsg_data(nlh); in inet_sk_diag_fill()
133 inet_diag_msg_common_fill(r, sk); in inet_sk_diag_fill()
134 r->idiag_state = sk->sk_state; in inet_sk_diag_fill()
135 r->idiag_timer = 0; in inet_sk_diag_fill()
136 r->idiag_retrans = 0; in inet_sk_diag_fill()
149 if (r->idiag_family == AF_INET6) { in inet_sk_diag_fill()
157 r->idiag_uid = from_kuid_munged(user_ns, sock_i_uid(sk)); in inet_sk_diag_fill()
158 r->idiag_inode = sock_i_ino(sk); in inet_sk_diag_fill()
177 handler->idiag_get_info(sk, r, NULL); in inet_sk_diag_fill()
186 r->idiag_timer = 1; in inet_sk_diag_fill()
187 r->idiag_retrans = icsk->icsk_retransmits; in inet_sk_diag_fill()
188 r->idiag_expires = EXPIRES_IN_MS(icsk->icsk_timeout); in inet_sk_diag_fill()
190 r->idiag_timer = 4; in inet_sk_diag_fill()
191 r->idiag_retrans = icsk->icsk_probes_out; in inet_sk_diag_fill()
192 r->idiag_expires = EXPIRES_IN_MS(icsk->icsk_timeout); in inet_sk_diag_fill()
194 r->idiag_timer = 2; in inet_sk_diag_fill()
195 r->idiag_retrans = icsk->icsk_probes_out; in inet_sk_diag_fill()
196 r->idiag_expires = EXPIRES_IN_MS(sk->sk_timer.expires); in inet_sk_diag_fill()
198 r->idiag_timer = 0; in inet_sk_diag_fill()
199 r->idiag_expires = 0; in inet_sk_diag_fill()
224 handler->idiag_get_info(sk, r, info); in inet_sk_diag_fill()
267 struct inet_diag_msg *r; in inet_twsk_diag_fill() local
271 nlh = nlmsg_put(skb, portid, seq, unlh->nlmsg_type, sizeof(*r), in inet_twsk_diag_fill()
276 r = nlmsg_data(nlh); in inet_twsk_diag_fill()
283 inet_diag_msg_common_fill(r, sk); in inet_twsk_diag_fill()
284 r->idiag_retrans = 0; in inet_twsk_diag_fill()
286 r->idiag_state = tw->tw_substate; in inet_twsk_diag_fill()
287 r->idiag_timer = 3; in inet_twsk_diag_fill()
288 r->idiag_expires = jiffies_to_msecs(tmo); in inet_twsk_diag_fill()
289 r->idiag_rqueue = 0; in inet_twsk_diag_fill()
290 r->idiag_wqueue = 0; in inet_twsk_diag_fill()
291 r->idiag_uid = 0; in inet_twsk_diag_fill()
292 r->idiag_inode = 0; in inet_twsk_diag_fill()
302 struct inet_diag_msg *r; in inet_req_diag_fill() local
306 nlh = nlmsg_put(skb, portid, seq, unlh->nlmsg_type, sizeof(*r), in inet_req_diag_fill()
311 r = nlmsg_data(nlh); in inet_req_diag_fill()
312 inet_diag_msg_common_fill(r, sk); in inet_req_diag_fill()
313 r->idiag_state = TCP_SYN_RECV; in inet_req_diag_fill()
314 r->idiag_timer = 1; in inet_req_diag_fill()
315 r->idiag_retrans = inet_reqsk(sk)->num_retrans; in inet_req_diag_fill()
321 r->idiag_expires = (tmo >= 0) ? jiffies_to_msecs(tmo) : 0; in inet_req_diag_fill()
322 r->idiag_rqueue = 0; in inet_req_diag_fill()
323 r->idiag_wqueue = 0; in inet_req_diag_fill()
324 r->idiag_uid = 0; in inet_req_diag_fill()
325 r->idiag_inode = 0; in inet_req_diag_fill()
332 const struct inet_diag_req_v2 *r, in sk_diag_fill() argument
345 return inet_csk_diag_fill(sk, skb, r, user_ns, portid, seq, in sk_diag_fill()
691 const struct inet_diag_req_v2 *r, in inet_csk_diag_dump() argument
697 return inet_csk_diag_fill(sk, skb, r, in inet_csk_diag_dump()
731 const struct inet_diag_req_v2 *r, in inet_diag_dump_reqs() argument
769 if (r->id.idiag_dport != ireq->ir_rmt_port && in inet_diag_dump_reqs()
770 r->id.idiag_dport) in inet_diag_dump_reqs()
804 const struct inet_diag_req_v2 *r, struct nlattr *bc) in inet_diag_dump_icsk() argument
813 if (!(r->idiag_states & (TCPF_LISTEN | TCPF_SYN_RECV))) in inet_diag_dump_icsk()
835 if (r->sdiag_family != AF_UNSPEC && in inet_diag_dump_icsk()
836 sk->sk_family != r->sdiag_family) in inet_diag_dump_icsk()
839 if (r->id.idiag_sport != inet->inet_sport && in inet_diag_dump_icsk()
840 r->id.idiag_sport) in inet_diag_dump_icsk()
843 if (!(r->idiag_states & TCPF_LISTEN) || in inet_diag_dump_icsk()
844 r->id.idiag_dport || in inet_diag_dump_icsk()
848 if (inet_csk_diag_dump(sk, skb, cb, r, bc) < 0) { in inet_diag_dump_icsk()
854 if (!(r->idiag_states & TCPF_SYN_RECV)) in inet_diag_dump_icsk()
857 if (inet_diag_dump_reqs(skb, sk, cb, r, bc) < 0) { in inet_diag_dump_icsk()
878 if (!(r->idiag_states & ~(TCPF_LISTEN | TCPF_SYN_RECV))) in inet_diag_dump_icsk()
905 if (!(r->idiag_states & (1 << state))) in inet_diag_dump_icsk()
907 if (r->sdiag_family != AF_UNSPEC && in inet_diag_dump_icsk()
908 sk->sk_family != r->sdiag_family) in inet_diag_dump_icsk()
910 if (r->id.idiag_sport != htons(sk->sk_num) && in inet_diag_dump_icsk()
911 r->id.idiag_sport) in inet_diag_dump_icsk()
913 if (r->id.idiag_dport != sk->sk_dport && in inet_diag_dump_icsk()
914 r->id.idiag_dport) in inet_diag_dump_icsk()
921 res = sk_diag_fill(sk, skb, r, in inet_diag_dump_icsk()
946 const struct inet_diag_req_v2 *r, in __inet_diag_dump() argument
952 handler = inet_diag_lock_handler(r->sdiag_protocol); in __inet_diag_dump()
954 handler->dump(skb, cb, r, bc); in __inet_diag_dump()