title: Hardware Timestamping using tcpdump
body: <p>(Applogies for my bad english in advance. I'm not a native speaker)</p>
  
  <p>I'm currently working on my Bachelors Thesis.
  The aim of my project is to accuratly and precisely timestamp Packages(it has to be at least precise in the tenth of microsecond range).</p>
  
  <p>I am trying to accomplish hardware timestamping with tcpdump, but there are some problems I have encountered.</p>
  
  <p>My Setup:</p>
  
  <p>2 directly connected identical Servers.</p>
  
  <blockquote>
    <p>Linux: Debian 3.16.7<br>
    Network Interface: Intel i350-T4</p>
  </blockquote>
  
  <p>Used tcpdump command:</p>
  
  <pre><code>sudo /usr/sbin/tcpdump -i eth4 -s 59 port 33333 -x -n -tt -v -j adapter_unsynced --time-stamp-precision=nano -w name.pcap
  </code></pre>
  
  <p>Now, my results in itself make sense and would give me the desired results, but they have a big offset to them. 36 seconds to be exact.</p>
  
  <p>The jitter of my results with the <code>-j adapter_unsynced</code> option are about 10 µs,
  If I use the <code>-j adapter</code> option I get a Jitter of ~100µs(too imprecise for my application),  but not the 36 second offset.</p>
  
  <p>All clocks are syncronised as far as I can see.
  The system clocks were both syncronised, and the PHC Clock of the NIC was too.</p>
  
  <p>As a test run I changed the system clock of one of the servers and the change showed up on the results while using <code>-j adapter_unsynced</code>.</p>
  
  <p>So my question is: What am I doing wrong, and is what I want to do even possible with tcpdump?</p>
  
  <p>I'm thankfull for any advice.</p>
  
  <p>Greetings,
  Christian</p>