update IPv6 utils

This commit is contained in:
luwenpeng
2024-02-21 15:06:48 +08:00
parent bd3735d3c4
commit 5e5ac458f2
8 changed files with 118 additions and 20 deletions

View File

@@ -109,6 +109,16 @@ static inline uint32_t ipv4_hdr_get_dst_addr(const struct ip *hdr)
return ntohl(hdr->ip_dst.s_addr);
}
static inline struct in_addr ipv4_hdr_get_src_in_addr(const struct ip *hdr)
{
return hdr->ip_src;
}
static inline struct in_addr ipv4_hdr_get_dst_in_addr(const struct ip *hdr)
{
return hdr->ip_dst;
}
static inline uint8_t ipv4_hdr_get_opt_len(const struct ip *hdr)
{
return ipv4_hdr_get_hdr_len(hdr) - sizeof(struct ip);
@@ -219,6 +229,16 @@ static inline void ipv4_hdr_set_dst_addr(struct ip *hdr, uint32_t daddr)
hdr->ip_dst.s_addr = htonl(daddr);
}
static inline void ipv4_hdr_set_src_in_addr(struct ip *hdr, struct in_addr saddr)
{
hdr->ip_src = saddr;
}
static inline void ipv4_hdr_set_dst_in_addr(struct ip *hdr, struct in_addr daddr)
{
hdr->ip_dst = daddr;
}
static inline void ipv4_hdr_set_opt_len(struct ip *hdr, uint8_t opt_len)
{
ipv4_hdr_set_hdr_len(hdr, opt_len + sizeof(struct ip));