<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>i.MX ProcessorsのトピックRe: i.MX6UL high TCP latency</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6UL-high-TCP-latency/m-p/1013002#M150037</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Unfortunately, reviewing. This problem seems to be more related to the Ethernet PHY and the topology of the connection that you are using. The PHY of the board could take some time to perform the connection.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Diego.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 26 Feb 2020 00:07:24 GMT</pubDate>
    <dc:creator>diegoadrian</dc:creator>
    <dc:date>2020-02-26T00:07:24Z</dc:date>
    <item>
      <title>i.MX6UL high TCP latency</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6UL-high-TCP-latency/m-p/1012999#M150034</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;We recently run some tests over TCP and UDP sockets to get a maximum amount of messages per second. &lt;/P&gt;&lt;P&gt;Over TCP we got an unexpected high RTT and a small amount of messages per second, see attached screenshot.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We also pinged from a&amp;nbsp;Linux machine to the imx6, the RTT is unexpected high too.&lt;/P&gt;&lt;P&gt;&amp;lt;p&amp;gt;sudo ping -i 0 -c 10000 172.20.230.123 -q&amp;lt;/p&amp;gt;&lt;BR /&gt;&amp;lt;p&amp;gt;PING 172.20.230.123 (172.20.230.123) 56(84) bytes of data.&amp;lt;/p&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;p&amp;gt;--- 172.20.230.123 ping statistics ---&amp;lt;/p&amp;gt;&lt;BR /&gt;&amp;lt;p&amp;gt;10000 packets transmitted, 10000 received, 0% packet loss, time 15269ms&amp;lt;/p&amp;gt;&lt;BR /&gt;&amp;lt;p&amp;gt;rtt min/avg/max/mdev = 1.377/1.454/1.712/0.066 ms, ipg/ewma 1.527/1.568 ms&amp;lt;/p&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Our receiver is the i.MX6UL and the sender is an Ubuntu machine. The imx6 is connected through a local network with only this two participants.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kernel 5.4 is running on the imx6, we tried it with and without preemption.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN class=""&gt;Someone has&lt;/SPAN&gt; &lt;SPAN class=""&gt;already&lt;/SPAN&gt; &lt;SPAN class=""&gt;encountered this&lt;/SPAN&gt; &lt;SPAN class=""&gt;kind of problem?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Is there any way to improve the latency?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Feb 2020 06:50:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6UL-high-TCP-latency/m-p/1012999#M150034</guid>
      <dc:creator>nadja_staerk</dc:creator>
      <dc:date>2020-02-12T06:50:43Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6UL high TCP latency</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6UL-high-TCP-latency/m-p/1013000#M150035</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Unfortunately, you are using a Linux kernel version that is not supported by us. I suggest you test with the BSP that we already provide. Please find them on the following web-page.&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://www.nxp.com/design/software/embedded-software/linux-software-and-development-tools/embedded-linux-for-i.mx-applications-processors:IMXLINUX?tab=Design_Tools_Tab" title="https://www.nxp.com/design/software/embedded-software/linux-software-and-development-tools/embedded-linux-for-i.mx-applications-processors:IMXLINUX?tab=Design_Tools_Tab"&gt;Embedded Linux for i.MX Applications Processors | NXP&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Diego.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Feb 2020 17:12:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6UL-high-TCP-latency/m-p/1013000#M150035</guid>
      <dc:creator>diegoadrian</dc:creator>
      <dc:date>2020-02-14T17:12:34Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6UL high TCP latency</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6UL-high-TCP-latency/m-p/1013001#M150036</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Diego, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks for your answer. I tried it with your latest BSP and the imxul-evk, still using my local network.&lt;/P&gt;&lt;P&gt;The ping shows the same high RTT.&lt;/P&gt;&lt;P&gt;PING 172.20.230.123 (172.20.230.123) 56(84) bytes of data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--- 172.20.230.123 ping statistics ---&lt;BR /&gt;10000 packets transmitted, 10000 received, 0% packet loss, time 15343ms&lt;BR /&gt;rtt min/avg/max/mdev = 1.337/1.468/14.059/0.137 ms, pipe 2, ipg/ewma 1.534/1.468 ms&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Over TCP I got the same behavior.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tried running a TCP receiver and sender on the EVK. Both using localhost.&lt;/P&gt;&lt;P&gt;I measured the time from receiving the first package until receiving 10 000 small packages and it needs over 1 second to receive them.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any way to improve this?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Many thanks,&lt;/P&gt;&lt;P&gt;Nadja&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Feb 2020 09:50:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6UL-high-TCP-latency/m-p/1013001#M150036</guid>
      <dc:creator>nadja_staerk</dc:creator>
      <dc:date>2020-02-19T09:50:50Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6UL high TCP latency</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6UL-high-TCP-latency/m-p/1013002#M150037</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Unfortunately, reviewing. This problem seems to be more related to the Ethernet PHY and the topology of the connection that you are using. The PHY of the board could take some time to perform the connection.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Diego.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Feb 2020 00:07:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6UL-high-TCP-latency/m-p/1013002#M150037</guid>
      <dc:creator>diegoadrian</dc:creator>
      <dc:date>2020-02-26T00:07:24Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6UL high TCP latency</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6UL-high-TCP-latency/m-p/1013003#M150038</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Diego,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I also tried it with the sender and the receiver on the same EVK, using local host.&lt;/P&gt;&lt;P&gt;I don't think the Ethernet Phy is used in this case. I measured the time from receiving the first package until receiving 10 000 small packages and it needs over 1 second to receive them.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Attached you find the sender and the receiver.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;sender:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;p&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;stdio.h&amp;gt; &lt;BR /&gt;#include &amp;lt;sys/socket.h&amp;gt; &lt;BR /&gt;#include &amp;lt;arpa/inet.h&amp;gt; &lt;BR /&gt;#include &amp;lt;unistd.h&amp;gt; &lt;BR /&gt;#include &amp;lt;string.h&amp;gt; &lt;BR /&gt;#include &amp;lt;sys/time.h&amp;gt;&lt;BR /&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;#define PORT 6180&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;int main(int argc, char const *argv[]) &lt;BR /&gt;{ &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int sock = 0, valread; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct sockaddr_in serv_addr; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; char *hello = "Hello from client"; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; char buffer[1024] = {0}; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i = atoi(argv[1]);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int delay = atoi(argv[2]);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;printf("messages to send: %d with delay of %dus\n",i,delay);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct timeval tval_before, tval_after, tval_result;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((sock = socket(AF_INET, SOCK_STREAM, 0)) &amp;lt; 0) &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("\n Socket creation error \n"); &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return -1; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR /&gt;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; serv_addr.sin_family = AF_INET; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; serv_addr.sin_port = htons(PORT); &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Convert IPv4 and IPv6 addresses from text to binary form &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(inet_pton(AF_INET, "127.0.0.1", &amp;amp;serv_addr.sin_addr)&amp;lt;=0) &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("\nInvalid address/ Address not supported \n"); &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return -1; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR /&gt;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (connect(sock, (struct sockaddr *)&amp;amp;serv_addr, sizeof(serv_addr)) &amp;lt; 0) &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("\nConnection Failed \n"); &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return -1; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; gettimeofday(&amp;amp;tval_before, NULL); &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(i &amp;gt; 0){&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;send(sock , hello , 17 , 0 ); &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;i--;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;if( delay &amp;gt; 0){&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;usleep(delay); &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;gettimeofday(&amp;amp;tval_after, NULL);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;timersub(&amp;amp;tval_after, &amp;amp;tval_before, &amp;amp;tval_result);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;printf("Time elapsed: %ld.%06lds\n", (long int)tval_result.tv_sec, (long int)tval_result.tv_usec);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0; &lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;lt;/p&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;receiver&lt;/STRONG&gt;:&lt;/P&gt;&lt;P&gt;&amp;lt;p&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;stdio.h&amp;gt; &lt;BR /&gt;#include &amp;lt;stdlib.h&amp;gt; &lt;BR /&gt;#include &amp;lt;unistd.h&amp;gt; &lt;BR /&gt;#include &amp;lt;string.h&amp;gt; &lt;BR /&gt;#include &amp;lt;sys/types.h&amp;gt; &lt;BR /&gt;#include &amp;lt;sys/socket.h&amp;gt; &lt;BR /&gt;#include &amp;lt;arpa/inet.h&amp;gt; &lt;BR /&gt;#include &amp;lt;netinet/in.h&amp;gt; &lt;BR /&gt;#include &amp;lt;sys/time.h&amp;gt;&lt;BR /&gt;#include &amp;lt;errno.h&amp;gt;&lt;BR /&gt;#include &amp;lt;netinet/tcp.h&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#define BUFSZ 1024&lt;BR /&gt;int port = 6180;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* no significance */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;int main(int argc, char *argv[]) {&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; char buf[BUFSZ];&lt;BR /&gt;&amp;nbsp; int rc;&lt;BR /&gt;&amp;nbsp; int amountOfMessages=0;&lt;BR /&gt;&amp;nbsp; struct timeval tval_before, tval_after, tval_result;&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp; /**********************************************************&lt;BR /&gt;&amp;nbsp;&amp;nbsp; * create an IPv4/TCP socket, not yet bound to any address&lt;BR /&gt;&amp;nbsp;&amp;nbsp; *********************************************************/&lt;BR /&gt;&amp;nbsp; int fd = socket(AF_INET, SOCK_STREAM, 0);&lt;BR /&gt;&amp;nbsp; if (fd == -1) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("socket: %s\n", strerror(errno));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit(-1);&lt;BR /&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /**********************************************************&lt;BR /&gt;&amp;nbsp;&amp;nbsp; * internet socket address structure: our address and port&lt;BR /&gt;&amp;nbsp;&amp;nbsp; *********************************************************/&lt;BR /&gt;&amp;nbsp; struct sockaddr_in sin;&lt;BR /&gt;&amp;nbsp; sin.sin_family = AF_INET;&lt;BR /&gt;&amp;nbsp; sin.sin_addr.s_addr = htonl(INADDR_ANY);&lt;BR /&gt;&amp;nbsp; sin.sin_port = htons(port);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /**********************************************************&lt;BR /&gt;&amp;nbsp;&amp;nbsp; * bind socket to address and port we'd like to receive on&lt;BR /&gt;&amp;nbsp;&amp;nbsp; *********************************************************/&lt;BR /&gt;&amp;nbsp; if (bind(fd, (struct sockaddr*)&amp;amp;sin, sizeof(sin)) == -1) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("bind: %s\n", strerror(errno));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit(-1);&lt;BR /&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /**********************************************************&lt;BR /&gt;&amp;nbsp;&amp;nbsp; * put socket into listening state &lt;BR /&gt;&amp;nbsp;&amp;nbsp; *********************************************************/&lt;BR /&gt;&amp;nbsp; if (listen(fd,1) == -1) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("listen: %s\n", strerror(errno));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit(-1);&lt;BR /&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /**********************************************************&lt;BR /&gt;&amp;nbsp;&amp;nbsp; * accept a connection, read til it closes, repeat&lt;BR /&gt;&amp;nbsp;&amp;nbsp; *********************************************************/&lt;BR /&gt;&amp;nbsp; while (1) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct sockaddr_in cin;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; socklen_t cin_sz = sizeof(cin);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i = 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int fa = accept(fd, (struct sockaddr*)&amp;amp;cin, &amp;amp;cin_sz);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (fa == -1) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("accept: %s\n", strerror(errno));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (sizeof(cin)==cin_sz){ &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;printf("connection from %s:%d\n", &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; inet_ntoa(cin.sin_addr), (int)ntohs(cin.sin_port));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; amountOfMessages = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gettimeofday(&amp;amp;tval_before, NULL);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rc = read(fa,buf,BUFSZ);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (rc==-1) printf("read: %s\n", strerror(errno));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (rc==0){&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; gettimeofday(&amp;amp;tval_after, NULL);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; printf("connection closed after %d messages\n", amountOfMessages);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; timersub(&amp;amp;tval_after, &amp;amp;tval_before, &amp;amp;tval_result);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Time from connect to close: %ld.%06lds\n", (long int)tval_result.tv_sec, (long int)tval_result.tv_usec);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else{ &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; amountOfMessages++;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } while (rc &amp;gt; 0);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; close(fa);&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;lt;/p&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Many thanks,&lt;/P&gt;&lt;P&gt;Nadja&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Feb 2020 06:38:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6UL-high-TCP-latency/m-p/1013003#M150038</guid>
      <dc:creator>nadja_staerk</dc:creator>
      <dc:date>2020-02-26T06:38:53Z</dc:date>
    </item>
  </channel>
</rss>

