Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 
0003 #if !defined(_TRACE_NET_PROBE_COMMON_H) || defined(TRACE_HEADER_MULTI_READ)
0004 #define _TRACE_NET_PROBE_COMMON_H
0005 
0006 #define TP_STORE_ADDR_PORTS_V4(__entry, inet, sk)           \
0007     do {                                \
0008         struct sockaddr_in *v4 = (void *)__entry->saddr;    \
0009                                     \
0010         v4->sin_family = AF_INET;               \
0011         v4->sin_port = inet->inet_sport;            \
0012         v4->sin_addr.s_addr = inet->inet_saddr;         \
0013         v4 = (void *)__entry->daddr;                \
0014         v4->sin_family = AF_INET;               \
0015         v4->sin_port = inet->inet_dport;            \
0016         v4->sin_addr.s_addr = inet->inet_daddr;         \
0017     } while (0)
0018 
0019 #if IS_ENABLED(CONFIG_IPV6)
0020 
0021 #define TP_STORE_ADDR_PORTS(__entry, inet, sk)              \
0022     do {                                \
0023         if (sk->sk_family == AF_INET6) {            \
0024             struct sockaddr_in6 *v6 = (void *)__entry->saddr; \
0025                                     \
0026             v6->sin6_family = AF_INET6;         \
0027             v6->sin6_port = inet->inet_sport;       \
0028             v6->sin6_addr = inet6_sk(sk)->saddr;        \
0029             v6 = (void *)__entry->daddr;            \
0030             v6->sin6_family = AF_INET6;         \
0031             v6->sin6_port = inet->inet_dport;       \
0032             v6->sin6_addr = sk->sk_v6_daddr;        \
0033         } else                          \
0034             TP_STORE_ADDR_PORTS_V4(__entry, inet, sk);  \
0035     } while (0)
0036 
0037 #else
0038 
0039 #define TP_STORE_ADDR_PORTS(__entry, inet, sk)      \
0040     TP_STORE_ADDR_PORTS_V4(__entry, inet, sk);
0041 
0042 #endif
0043 
0044 #endif