diff options
| author | wangmenglan <[email protected]> | 2023-05-09 22:12:38 +0800 |
|---|---|---|
| committer | wangmenglan <[email protected]> | 2023-05-09 22:13:20 +0800 |
| commit | 542f4cbdfa6f58dd8a07e35663116a08f54170bd (patch) | |
| tree | a23444151ef7dbef555d3ed213cc1465d4843d88 /common/src/tfe_utils.cpp | |
| parent | fecc023418f9e659b46a47e7374c956080a9db67 (diff) | |
TSG-14930 TFE支持发送控制报文给SAPPv4.8.10-20230509
Diffstat (limited to 'common/src/tfe_utils.cpp')
| -rw-r--r-- | common/src/tfe_utils.cpp | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/common/src/tfe_utils.cpp b/common/src/tfe_utils.cpp index 0ae3492..d5c85c2 100644 --- a/common/src/tfe_utils.cpp +++ b/common/src/tfe_utils.cpp @@ -298,54 +298,6 @@ static int checksum(u_int16_t *addr, int len) return sum; } -void build_udp_header(const char *l3_hdr, int l3_hdr_len, struct udp_hdr *udp_hdr, u_int16_t udp_sport, u_int16_t udp_dport, int payload_len) -{ - memset(udp_hdr, 0, sizeof(struct udp_hdr)); - - int udp_hlen = sizeof(struct udp_hdr) + payload_len; - - udp_hdr->uh_sport = htons(udp_sport); - udp_hdr->uh_dport = htons(udp_dport); - - udp_hdr->uh_ulen = htons(udp_hlen); - udp_hdr->uh_sum = 0; - - int sum = checksum((u_int16_t *)l3_hdr, l3_hdr_len); - sum += ntohs(IPPROTO_UDP + udp_hlen); - sum += checksum((u_int16_t *)udp_hdr, udp_hlen); - udp_hdr->uh_sum = CHECKSUM_CARRY(sum); -} - -void build_ip_header(struct ip *ip_hdr, u_int8_t next_protocol, const char *src_addr, const char *dst_addr, uint16_t payload_len) -{ - memset(ip_hdr, 0, sizeof(struct ip)); - - ip_hdr->ip_hl = 5; /* 20 byte header */ - ip_hdr->ip_v = 4; /* version 4 */ - ip_hdr->ip_tos = 0; /* IP tos */ - ip_hdr->ip_id = htons(random()); /* IP ID */ - ip_hdr->ip_ttl = 80; /* time to live */ - ip_hdr->ip_p = next_protocol; /* transport protocol */ - ip_hdr->ip_src.s_addr = inet_addr(src_addr); - ip_hdr->ip_dst.s_addr = inet_addr(dst_addr); - ip_hdr->ip_len = htons(sizeof(struct ip) + payload_len); /* total length */ - ip_hdr->ip_off = htons(0); /* fragmentation flags */ - ip_hdr->ip_sum = 0; /* do this later */ - - int sum = checksum((u_int16_t *)ip_hdr, 20); - ip_hdr->ip_sum = CHECKSUM_CARRY(sum); -} - -// l3_protocol: ETH_P_IPV6/ETH_P_IP -void build_ether_header(struct ethhdr *eth_hdr, uint16_t next_protocol, const char *src_mac, const char *dst_mac) -{ - memset(eth_hdr, 0, sizeof(struct ethhdr)); - - str_to_mac(src_mac, (char *)eth_hdr->h_source); - str_to_mac(dst_mac, (char *)eth_hdr->h_dest); - eth_hdr->h_proto = htons(next_protocol); -} - int str_to_mac(const char *str, char *mac_buff) { if (sscanf(str, "%02hhx:%02hhx:%02hhx:%02hhx:%02hhx:%02hhx", &(mac_buff[0]), &(mac_buff[1]), &(mac_buff[2]), &(mac_buff[3]), &(mac_buff[4]), &(mac_buff[5])) == 6) @@ -382,12 +334,3 @@ int get_mac_by_device_name(const char *dev_name, char *mac_buff) return 0; } -/****************************************************************************** - * throughput_metrics - ******************************************************************************/ - -void throughput_metrics_inc(struct throughput_metrics *iterm, uint64_t n_pkts, uint64_t n_bytes) -{ - __atomic_fetch_add(&iterm->n_bytes, n_bytes, __ATOMIC_RELAXED); - __atomic_fetch_add(&iterm->n_pkts, n_pkts, __ATOMIC_RELAXED); -} |
