diff options
author | smh <smh@FreeBSD.org> | 2017-05-18 03:32:01 +0000 |
---|---|---|
committer | smh <smh@FreeBSD.org> | 2017-05-18 03:32:01 +0000 |
commit | f3701f2336f6474bbfc0ae7ee01811c32400c9f5 (patch) | |
tree | 33744586fff3860ea734ca4dddec02d43088a83e | |
parent | 89c4df979530ad70fc93cc1aa124cbd165cdad07 (diff) | |
download | FreeBSD-src-f3701f2336f6474bbfc0ae7ee01811c32400c9f5.zip FreeBSD-src-f3701f2336f6474bbfc0ae7ee01811c32400c9f5.tar.gz |
Revert the partial MFC of r313045 which broke dtrace
This removes the mbuf to ipinfo_t translator and switches tcp_autorcvbuf to
use the older mtod macro.
This was originally merged to stable/10 as part of r317375.
Reported by: markj
Reviewed by: markj, hiren
Sponsored by: Multiplay
Differential Revision: https://reviews.freebsd.org/D10769
-rw-r--r-- | cddl/lib/libdtrace/ip.d | 18 | ||||
-rw-r--r-- | sys/netinet/in_kdtrace.c | 12 | ||||
-rw-r--r-- | sys/netinet/tcp_input.c | 3 |
3 files changed, 8 insertions, 25 deletions
diff --git a/cddl/lib/libdtrace/ip.d b/cddl/lib/libdtrace/ip.d index 15dfc34..f8fa9b1 100644 --- a/cddl/lib/libdtrace/ip.d +++ b/cddl/lib/libdtrace/ip.d @@ -240,24 +240,6 @@ translator ipinfo_t < uint8_t *p > { #pragma D binding "1.0" IFF_LOOPBACK inline int IFF_LOOPBACK = 0x8; -#pragma D binding "1.13" translator -translator ipinfo_t < struct mbuf *m > { - ip_ver = m == NULL ? 0 : ((struct ip *)m->m_data)->ip_v; - ip_plength = m == NULL ? 0 : - ((struct ip *)m->m_data)->ip_v == 4 ? - ntohs(((struct ip *)m->m_data)->ip_len) - - (((struct ip *)m->m_data)->ip_hl << 2): - ntohs(((struct ip6_hdr *)m->m_data)->ip6_ctlun.ip6_un1.ip6_un1_plen); - ip_saddr = m == NULL ? 0 : - ((struct ip *)m->m_data)->ip_v == 4 ? - inet_ntoa(&((struct ip *)m->m_data)->ip_src.s_addr) : - inet_ntoa6(&((struct ip6_hdr *)m->m_data)->ip6_src); - ip_daddr = m == NULL ? 0 : - ((struct ip *)m->m_data)->ip_v == 4 ? - inet_ntoa(&((struct ip *)m->m_data)->ip_dst.s_addr) : - inet_ntoa6(&((struct ip6_hdr *)m->m_data)->ip6_dst); -}; - #pragma D binding "1.0" translator translator ifinfo_t < struct ifnet *p > { if_name = p->if_xname; diff --git a/sys/netinet/in_kdtrace.c b/sys/netinet/in_kdtrace.c index d34abc5..fabfd54 100644 --- a/sys/netinet/in_kdtrace.c +++ b/sys/netinet/in_kdtrace.c @@ -58,28 +58,28 @@ SDT_PROBE_DEFINE6_XLATE(ip, , , send, SDT_PROBE_DEFINE5_XLATE(tcp, , , accept__established, "void *", "pktinfo_t *", "struct tcpcb *", "csinfo_t *", - "struct mbuf *", "ipinfo_t *", + "uint8_t *", "ipinfo_t *", "struct tcpcb *", "tcpsinfo_t *" , "struct tcphdr *", "tcpinfoh_t *"); SDT_PROBE_DEFINE5_XLATE(tcp, , , accept__refused, "void *", "pktinfo_t *", "struct tcpcb *", "csinfo_t *", - "struct mbuf *", "ipinfo_t *", + "uint8_t *", "ipinfo_t *", "struct tcpcb *", "tcpsinfo_t *" , "struct tcphdr *", "tcpinfo_t *"); SDT_PROBE_DEFINE5_XLATE(tcp, , , connect__established, "void *", "pktinfo_t *", "struct tcpcb *", "csinfo_t *", - "struct mbuf *", "ipinfo_t *", + "uint8_t *", "ipinfo_t *", "struct tcpcb *", "tcpsinfo_t *" , "struct tcphdr *", "tcpinfoh_t *"); SDT_PROBE_DEFINE5_XLATE(tcp, , , connect__refused, "void *", "pktinfo_t *", "struct tcpcb *", "csinfo_t *", - "struct mbuf *", "ipinfo_t *", + "uint8_t *", "ipinfo_t *", "struct tcpcb *", "tcpsinfo_t *" , "struct tcphdr *", "tcpinfoh_t *"); @@ -93,7 +93,7 @@ SDT_PROBE_DEFINE5_XLATE(tcp, , , connect__request, SDT_PROBE_DEFINE5_XLATE(tcp, , , receive, "void *", "pktinfo_t *", "struct tcpcb *", "csinfo_t *", - "struct mbuf *", "ipinfo_t *", + "uint8_t *", "ipinfo_t *", "struct tcpcb *", "tcpsinfo_t *" , "struct tcphdr *", "tcpinfoh_t *"); @@ -115,7 +115,7 @@ SDT_PROBE_DEFINE6_XLATE(tcp, , , state__change, SDT_PROBE_DEFINE6_XLATE(tcp, , , receive__autoresize, "void *", "void *", "struct tcpcb *", "csinfo_t *", - "struct mbuf *", "ipinfo_t *", + "uint8_t *", "ipinfo_t *", "struct tcpcb *", "tcpsinfo_t *" , "struct tcphdr *", "tcpinfoh_t *", "int", "int"); diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c index 95c4d53..125125a 100644 --- a/sys/netinet/tcp_input.c +++ b/sys/netinet/tcp_input.c @@ -1519,7 +1519,8 @@ tcp_autorcvbuf(struct mbuf *m, struct tcphdr *th, struct socket *so, newsize = min(so->so_rcv.sb_hiwat + V_tcp_autorcvbuf_inc, V_tcp_autorcvbuf_max); } - TCP_PROBE6(receive__autoresize, NULL, tp, m, tp, th, newsize); + TCP_PROBE6(receive__autoresize, NULL, tp, mtod(m, const char *), + tp, th, newsize); /* Start over with next RTT. */ tp->rfbuf_ts = 0; |