36#if defined (PACKET_ASSEMBLY) || defined (PACKET_DECODING)
57#ifdef DEBUG_CHECKSUM_VERBOSE
69#ifdef DEBUG_CHECKSUM_VERBOSE
91#ifdef DEBUG_CHECKSUM_VERBOSE
101#ifdef PACKET_ASSEMBLY
109#if defined(HAVE_TR_SUPPORT)
114#if defined (DEC_FDDI)
120 log_error(
"Attempt to assemble hw header for infiniband");
132 from, to, port, data, len)
157 ip.ip_src.s_addr = from;
170#if defined(RELAY_PORT)
187 2 *
sizeof ip.ip_src,
194 *bufix +=
sizeof udp;
198#ifdef PACKET_DECODING
211#if defined (HAVE_TR_SUPPORT)
215#if defined (DEC_FDDI)
220 log_error(
"Attempt to decode hw header for infiniband");
253 unsigned char *buf,
unsigned bufix,
271 if (
sizeof(
ip) > buflen)
280 ip_len = (*
upp & 0x0f) << 2;
291 if ((ip_len > buflen) ||
293 ((ip_len +
sizeof(
udp)) > buflen))
299#ifdef USERLAND_FILTER
305#if defined(RELAY_PORT)
320 if ((ip_len +
ulen) > buflen) {
325 log_info(
"%u udp packets in %u too long - dropped",
346 log_info (
"%u bad IP checksums seen in %u packets",
360 memcpy(&from->sin_addr, &
ip.ip_src, 4);
379 log_debug (
"%u bad udp checksums in %u packets",
402 return ip_len +
sizeof udp;
ssize_t decode_ethernet_header(struct interface_info *, unsigned char *, unsigned, struct hardware *)
void assemble_hw_header(struct interface_info *, unsigned char *, unsigned *, struct hardware *)
ssize_t decode_udp_ip_header(struct interface_info *, unsigned char *, unsigned, struct sockaddr_in *, unsigned, unsigned *, int)
void assemble_udp_ip_header(struct interface_info *, unsigned char *, unsigned *, u_int32_t, u_int32_t, u_int32_t, unsigned char *, unsigned)
void assemble_tr_header(struct interface_info *, unsigned char *, unsigned *, struct hardware *)
void assemble_ethernet_header(struct interface_info *, unsigned char *, unsigned *, struct hardware *)
ssize_t decode_tr_header(struct interface_info *, unsigned char *, unsigned, struct hardware *)
ssize_t decode_hw_header(struct interface_info *, unsigned char *, unsigned, struct hardware *)
#define IP_HL_SET(iph, x)
int log_error(const char *,...) __attribute__((__format__(__printf__
int int int log_debug(const char *,...) __attribute__((__format__(__printf__
int int log_info(const char *,...) __attribute__((__format__(__printf__
u_int32_t checksum(unsigned char *buf, unsigned nbytes, u_int32_t sum)
u_int32_t wrapsum(u_int32_t sum)
u_int8_t hbuf[HARDWARE_ADDR_LEN+1]
struct hardware hw_address
struct in_addr ip_src ip_dst