i have no idea how this ever worked; apparently my linux's struct tcphdr contains BOTH linux and bsd header names