使用自定义的udp_hdr替换linux的udphdr
This commit is contained in:
@@ -7,7 +7,6 @@
|
||||
#include <netinet/ip6.h>
|
||||
#define __FAVOR_BSD 1
|
||||
#include <netinet/tcp.h>
|
||||
#include <netinet/udp.h>
|
||||
#include <netinet/ether.h>
|
||||
#include <linux/ppp_defs.h>
|
||||
|
||||
@@ -471,7 +470,7 @@ static const char *ldbc_method_to_string(enum ldbc_method ldbc_method)
|
||||
static void set_addr_tuple4(const void *data, enum layer_type layer_type, struct addr_tuple4 *addr)
|
||||
{
|
||||
const struct tcphdr *tcp_hdr = NULL;
|
||||
const struct udphdr *udp_hdr = NULL;
|
||||
const struct udp_hdr *udp_hdr = NULL;
|
||||
const struct ip *ipv4_hdr = NULL;
|
||||
const struct ip6_hdr *ipv6_hdr = NULL;
|
||||
|
||||
@@ -483,7 +482,7 @@ static void set_addr_tuple4(const void *data, enum layer_type layer_type, struct
|
||||
addr->dst_port = tcp_hdr->th_dport;
|
||||
break;
|
||||
case LAYER_TYPE_UDP:
|
||||
udp_hdr = (const struct udphdr *)data;
|
||||
udp_hdr = (const struct udp_hdr *)data;
|
||||
addr->src_port = udp_hdr->uh_sport;
|
||||
addr->dst_port = udp_hdr->uh_dport;
|
||||
break;
|
||||
@@ -737,7 +736,7 @@ static const void *parse_tcp(struct raw_pkt_parser *handler, const void *data, s
|
||||
|
||||
static const void *parse_udp(struct raw_pkt_parser *handler, const void *data, size_t length, enum layer_type this_type)
|
||||
{
|
||||
if (length < sizeof(struct udphdr))
|
||||
if (length < sizeof(struct udp_hdr))
|
||||
{
|
||||
LOG_ERROR("%s: pkt_trace_id: %lu, this_layer: %s, err: data not enough", LOG_TAG_RAWPKT, handler->pkt_trace_id, layer_type2str(this_type));
|
||||
return data;
|
||||
@@ -748,8 +747,8 @@ static const void *parse_udp(struct raw_pkt_parser *handler, const void *data, s
|
||||
return data;
|
||||
}
|
||||
|
||||
struct udphdr *hdr = (struct udphdr *)data;
|
||||
uint16_t hdr_len = sizeof(struct udphdr);
|
||||
struct udp_hdr *hdr = (struct udp_hdr *)data;
|
||||
uint16_t hdr_len = sizeof(struct udp_hdr);
|
||||
const void *data_next_layer = (const char *)data + hdr_len;
|
||||
size_t data_next_length = length - hdr_len;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user