/*
* EMULAB-COPYRIGHT
* Copyright (c) 2006 University of Utah and the Flux Group.
* All rights reserved.
*/
// KernelTcp.cc
#include "lib.h"
#include "log.h"
#include "KernelTcp.h"
#include "Command.h"
#include "TSThroughputSensor.h"
using namespace std;
namespace
{
bool changeSocket(int sockfd, int level, int optname, int value,
string optstring);
void kernelTcpCallback(unsigned char *,
struct pcap_pkthdr const * pcapInfo,
unsigned char const * packet);
int getLinkLayer(struct pcap_pkthdr const * pcapInfo,
unsigned char const * packet);
void handleTcp(struct pcap_pkthdr const * pcapInfo,
struct ip const * ipPacket,
struct tcphdr const * tcpPacket,
unsigned char const * tcpPacketStart,
list