net_pkt: Let's make all IPv6 related attributes prefixed with ipv6_

Only 2 attributes lacked this prefix, which makes sense to have, so
applying it accordingly and changing the helpers as well.

Change-Id: I095b2729f977f8fb1624eff8801a4a4e21416693
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
This commit is contained in:
Tomasz Bursztyka 2017-04-12 11:29:19 +02:00 committed by Jukka Rissanen
commit f3ff4f7bd3
9 changed files with 65 additions and 62 deletions

View file

@ -82,8 +82,8 @@ struct net_pkt {
#if defined(CONFIG_NET_IPV6)
uint8_t ipv6_hop_limit; /* IPv6 hop limit for this network packet. */
uint8_t ext_len; /* length of extension headers */
uint8_t ext_opt_len; /* IPv6 ND option length */
uint8_t ipv6_ext_len; /* length of extension headers */
uint8_t ipv6_ext_opt_len; /* IPv6 ND option length */
/* Where is the start of the last header before payload data
* in IPv6 packet. This is offset value from start of the IPv6
@ -215,24 +215,25 @@ static inline bool net_pkt_forwarding(struct net_pkt *pkt)
#endif
#if defined(CONFIG_NET_IPV6)
static inline uint8_t net_pkt_ext_opt_len(struct net_pkt *pkt)
static inline uint8_t net_pkt_ipv6_ext_opt_len(struct net_pkt *pkt)
{
return pkt->ext_opt_len;
return pkt->ipv6_ext_opt_len;
}
static inline void net_pkt_set_ext_opt_len(struct net_pkt *pkt, uint8_t len)
static inline void net_pkt_set_ipv6_ext_opt_len(struct net_pkt *pkt,
uint8_t len)
{
pkt->ext_opt_len = len;
pkt->ipv6_ext_opt_len = len;
}
static inline uint8_t net_pkt_ext_len(struct net_pkt *pkt)
static inline uint8_t net_pkt_ipv6_ext_len(struct net_pkt *pkt)
{
return pkt->ext_len;
return pkt->ipv6_ext_len;
}
static inline void net_pkt_set_ext_len(struct net_pkt *pkt, uint8_t len)
static inline void net_pkt_set_ipv6_ext_len(struct net_pkt *pkt, uint8_t len)
{
pkt->ext_len = len;
pkt->ipv6_ext_len = len;
}
static inline uint16_t net_pkt_ipv6_hdr_prev(struct net_pkt *pkt)
@ -292,8 +293,8 @@ static inline void net_pkt_set_ipv6_fragment_id(struct net_pkt *pkt,
}
#endif /* CONFIG_NET_IPV6_FRAGMENT */
#else /* CONFIG_NET_IPV6 */
#define net_pkt_ext_len(...) 0
#define net_pkt_set_ext_len(...)
#define net_pkt_ipv6_ext_len(...) 0
#define net_pkt_set_ipv6_ext_len(...)
#endif /* CONFIG_NET_IPV6 */
static inline size_t net_pkt_get_len(struct net_pkt *pkt)
@ -309,19 +310,19 @@ static inline uint8_t *net_pkt_ip_data(struct net_pkt *pkt)
static inline uint8_t *net_pkt_udp_data(struct net_pkt *pkt)
{
return &pkt->frags->data[net_pkt_ip_hdr_len(pkt) +
net_pkt_ext_len(pkt)];
net_pkt_ipv6_ext_len(pkt)];
}
static inline uint8_t *net_pkt_tcp_data(struct net_pkt *pkt)
{
return &pkt->frags->data[net_pkt_ip_hdr_len(pkt) +
net_pkt_ext_len(pkt)];
net_pkt_ipv6_ext_len(pkt)];
}
static inline uint8_t *net_pkt_icmp_data(struct net_pkt *pkt)
{
return &pkt->frags->data[net_pkt_ip_hdr_len(pkt) +
net_pkt_ext_len(pkt)];
net_pkt_ipv6_ext_len(pkt)];
}
static inline uint8_t *net_pkt_appdata(struct net_pkt *pkt)

View file

@ -154,10 +154,10 @@ static enum net_verdict handle_echo_request(struct net_pkt *orig)
net_pkt_set_ll_reserve(pkt, net_buf_headroom(frag));
net_pkt_set_ip_hdr_len(pkt, sizeof(struct net_ipv6_hdr));
if (net_pkt_ext_len(orig)) {
net_pkt_set_ext_len(pkt, net_pkt_ext_len(orig));
if (net_pkt_ipv6_ext_len(orig)) {
net_pkt_set_ipv6_ext_len(pkt, net_pkt_ipv6_ext_len(orig));
} else {
net_pkt_set_ext_len(pkt, 0);
net_pkt_set_ipv6_ext_len(pkt, 0);
}
/* Set up IPv6 Header fields */
@ -291,7 +291,7 @@ int net_icmpv6_send_error(struct net_pkt *orig, uint8_t type, uint8_t code,
net_pkt_set_family(pkt, AF_INET6);
net_pkt_set_iface(pkt, iface);
net_pkt_set_ll_reserve(pkt, net_buf_headroom(frag));
net_pkt_set_ext_len(pkt, 0);
net_pkt_set_ipv6_ext_len(pkt, 0);
setup_ipv6_header(pkt, extra_len, net_if_ipv6_get_hop_limit(iface),
type, code);

View file

@ -82,7 +82,7 @@ struct net_icmpv6_nd_opt_6co {
#define NET_ICMPV6_ND_OPT_HDR_HDR(pkt) \
((struct net_icmpv6_nd_opt_hdr *)(net_pkt_icmp_data(pkt) + \
sizeof(struct net_icmp_hdr) + \
net_pkt_ext_opt_len(pkt)))
net_pkt_ipv6_ext_opt_len(pkt)))
#define NET_ICMPV6_NA_HDR(pkt) \
((struct net_icmpv6_na_hdr *)(net_pkt_icmp_data(pkt) + \

View file

@ -597,7 +597,7 @@ struct net_pkt *net_ipv6_create_raw(struct net_pkt *pkt,
net_ipaddr_copy(&NET_IPV6_HDR(pkt)->dst, dst);
net_ipaddr_copy(&NET_IPV6_HDR(pkt)->src, src);
net_pkt_set_ext_len(pkt, 0);
net_pkt_set_ipv6_ext_len(pkt, 0);
NET_IPV6_HDR(pkt)->nexthdr = next_header;
net_pkt_set_ip_hdr_len(pkt, sizeof(struct net_ipv6_hdr));
@ -1083,7 +1083,7 @@ int net_ipv6_send_na(struct net_if *iface, struct in6_addr *src,
llao_len = get_llao_len(iface);
net_pkt_set_ext_len(pkt, 0);
net_pkt_set_ipv6_ext_len(pkt, 0);
setup_headers(pkt, sizeof(struct net_icmpv6_na_hdr) + llao_len,
NET_ICMPV6_NA);
@ -1155,7 +1155,7 @@ static enum net_verdict handle_ns_input(struct net_pkt *pkt)
goto drop;
}
net_pkt_set_ext_opt_len(pkt, sizeof(struct net_icmpv6_ns_hdr));
net_pkt_set_ipv6_ext_opt_len(pkt, sizeof(struct net_icmpv6_ns_hdr));
hdr = NET_ICMPV6_ND_OPT_HDR_HDR(pkt);
/* The parsing gets tricky if the ND struct is split
@ -1169,7 +1169,7 @@ static enum net_verdict handle_ns_input(struct net_pkt *pkt)
left_len = pkt->frags->len - (sizeof(struct net_ipv6_hdr) +
sizeof(struct net_icmp_hdr));
while (net_pkt_ext_opt_len(pkt) < left_len &&
while (net_pkt_ipv6_ext_opt_len(pkt) < left_len &&
left_len < pkt->frags->len) {
if (!hdr->len) {
@ -1191,12 +1191,13 @@ static enum net_verdict handle_ns_input(struct net_pkt *pkt)
break;
}
prev_opt_len = net_pkt_ext_opt_len(pkt);
prev_opt_len = net_pkt_ipv6_ext_opt_len(pkt);
net_pkt_set_ext_opt_len(pkt, net_pkt_ext_opt_len(pkt) +
(hdr->len << 3));
net_pkt_set_ipv6_ext_opt_len(pkt,
net_pkt_ipv6_ext_opt_len(pkt) +
(hdr->len << 3));
if (prev_opt_len == net_pkt_ext_opt_len(pkt)) {
if (prev_opt_len == net_pkt_ipv6_ext_opt_len(pkt)) {
NET_ERR("Corrupted NS message");
goto drop;
}
@ -1597,7 +1598,7 @@ static enum net_verdict handle_na_input(struct net_pkt *pkt)
goto drop;
}
net_pkt_set_ext_opt_len(pkt, sizeof(struct net_icmpv6_na_hdr));
net_pkt_set_ipv6_ext_opt_len(pkt, sizeof(struct net_icmpv6_na_hdr));
hdr = NET_ICMPV6_ND_OPT_HDR_HDR(pkt);
/* The parsing gets tricky if the ND struct is split
@ -1611,7 +1612,7 @@ static enum net_verdict handle_na_input(struct net_pkt *pkt)
left_len = pkt->frags->len - (sizeof(struct net_ipv6_hdr) +
sizeof(struct net_icmp_hdr));
while (net_pkt_ext_opt_len(pkt) < left_len &&
while (net_pkt_ipv6_ext_opt_len(pkt) < left_len &&
left_len < pkt->frags->len) {
if (!hdr->len) {
@ -1628,12 +1629,13 @@ static enum net_verdict handle_na_input(struct net_pkt *pkt)
break;
}
prev_opt_len = net_pkt_ext_opt_len(pkt);
prev_opt_len = net_pkt_ipv6_ext_opt_len(pkt);
net_pkt_set_ext_opt_len(pkt, net_pkt_ext_opt_len(pkt) +
(hdr->len << 3));
net_pkt_set_ipv6_ext_opt_len(pkt,
net_pkt_ipv6_ext_opt_len(pkt) +
(hdr->len << 3));
if (prev_opt_len == net_pkt_ext_opt_len(pkt)) {
if (prev_opt_len == net_pkt_ipv6_ext_opt_len(pkt)) {
NET_ERR("Corrupted NA message");
goto drop;
}
@ -2207,7 +2209,7 @@ static enum net_verdict handle_ra_input(struct net_pkt *pkt)
}
frag = pkt->frags;
offset = sizeof(struct net_ipv6_hdr) + net_pkt_ext_len(pkt) +
offset = sizeof(struct net_ipv6_hdr) + net_pkt_ipv6_ext_len(pkt) +
sizeof(struct net_icmp_hdr);
frag = net_frag_read_u8(frag, offset, &offset, &hop_limit);
@ -2453,7 +2455,7 @@ static int send_mldv2_raw(struct net_if *iface, struct net_buf *frags)
goto drop;
}
net_pkt_set_ext_len(pkt, ROUTER_ALERT_LEN);
net_pkt_set_ipv6_ext_len(pkt, ROUTER_ALERT_LEN);
net_pkt_write_be16(pkt, pkt->frags,
NET_IPV6H_LEN + ROUTER_ALERT_LEN + 2,
@ -2608,7 +2610,7 @@ static enum net_verdict handle_mld_query(struct net_pkt *pkt)
goto drop;
}
pkt_len = sizeof(struct net_ipv6_hdr) + net_pkt_ext_len(pkt) +
pkt_len = sizeof(struct net_ipv6_hdr) + net_pkt_ipv6_ext_len(pkt) +
sizeof(struct net_icmp_hdr) + (2 + 2 + 16 + 2 + 2) +
sizeof(struct in6_addr) * num_src;
@ -2873,11 +2875,11 @@ static void reassemble_packet(struct net_ipv6_reassembly *reass)
}
/* Fix the total length of the IPv6 packet. */
len = net_pkt_ext_len(pkt);
len = net_pkt_ipv6_ext_len(pkt);
if (len > 0) {
NET_DBG("Old pkt %p IPv6 ext len is %d bytes", pkt, len);
net_pkt_set_ext_len(pkt,
len - sizeof(struct net_ipv6_frag_hdr));
net_pkt_set_ipv6_ext_len(pkt,
len - sizeof(struct net_ipv6_frag_hdr));
}
len = net_pkt_get_len(pkt) - sizeof(struct net_ipv6_hdr);
@ -3157,8 +3159,8 @@ static int send_ipv6_fragment(struct net_if *iface,
/* Update the extension length metadata so that upper layer checksum
* will be calculated properly by net_ipv6_finalize_raw().
*/
ext_len = net_pkt_ext_len(ipv6) + sizeof(struct net_ipv6_frag_hdr);
net_pkt_set_ext_len(ipv6, ext_len);
ext_len = net_pkt_ipv6_ext_len(ipv6) + sizeof(struct net_ipv6_frag_hdr);
net_pkt_set_ipv6_ext_len(ipv6, ext_len);
orig_copy = net_buf_clone(orig, FRAG_BUF_WAIT);
if (!orig_copy) {
@ -3262,7 +3264,7 @@ int net_ipv6_send_fragmented_pkt(struct net_if *iface, struct net_pkt *pkt,
* fragmentation header.
*/
ret = net_pkt_split(pkt, frag,
net_pkt_ip_hdr_len(pkt) + net_pkt_ext_len(pkt),
net_pkt_ip_hdr_len(pkt) + net_pkt_ipv6_ext_len(pkt),
&orig_ipv6, &rest, FRAG_BUF_WAIT);
if (ret < 0) {
return -ENOMEM;
@ -3556,7 +3558,7 @@ enum net_verdict net_ipv6_process_pkt(struct net_pkt *pkt)
/* Check extension headers */
net_pkt_set_next_hdr(pkt, &hdr->nexthdr);
net_pkt_set_ext_len(pkt, 0);
net_pkt_set_ipv6_ext_len(pkt, 0);
net_pkt_set_ip_hdr_len(pkt, sizeof(struct net_ipv6_hdr));
/* Fast path for main upper layer protocols. The handling of extension
@ -3581,8 +3583,8 @@ enum net_verdict net_ipv6_process_pkt(struct net_pkt *pkt)
if (is_upper_layer_protocol_header(next)) {
NET_DBG("IPv6 next header %d", next);
net_pkt_set_ext_len(pkt, offset -
sizeof(struct net_ipv6_hdr));
net_pkt_set_ipv6_ext_len(pkt, offset -
sizeof(struct net_ipv6_hdr));
goto upper_proto;
}
@ -3659,7 +3661,7 @@ enum net_verdict net_ipv6_process_pkt(struct net_pkt *pkt)
upper_proto:
if (total_len > 0) {
NET_DBG("Extension len %d", total_len);
net_pkt_set_ext_len(pkt, total_len);
net_pkt_set_ipv6_ext_len(pkt, total_len);
}
switch (next) {

View file

@ -3783,7 +3783,7 @@ struct net_buf *net_rpl_verify_header(struct net_pkt *pkt, struct net_buf *frag,
static inline int add_rpl_opt(struct net_pkt *pkt, uint16_t offset)
{
int ext_len = net_pkt_ext_len(pkt);
int ext_len = net_pkt_ipv6_ext_len(pkt);
bool ret;
/* next header */
@ -3836,7 +3836,7 @@ static inline int add_rpl_opt(struct net_pkt *pkt, uint16_t offset)
NET_IPV6_HDR(pkt)->nexthdr = NET_IPV6_NEXTHDR_HBHO;
net_pkt_set_ext_len(pkt, ext_len + NET_RPL_HOP_BY_HOP_LEN);
net_pkt_set_ipv6_ext_len(pkt, ext_len + NET_RPL_HOP_BY_HOP_LEN);
return 0;
}

View file

@ -405,7 +405,7 @@ static inline uint16_t calc_chksum_pkt(uint16_t sum, struct net_pkt *pkt,
{
struct net_buf *frag = pkt->frags;
uint16_t proto_len = net_pkt_ip_hdr_len(pkt) +
net_pkt_ext_len(pkt);
net_pkt_ipv6_ext_len(pkt);
int16_t len = frag->len - proto_len;
uint8_t *ptr = frag->data + proto_len;
@ -453,7 +453,7 @@ uint16_t net_calc_chksum(struct net_pkt *pkt, uint8_t proto)
case AF_INET:
upper_layer_len = (NET_IPV4_HDR(pkt)->len[0] << 8) +
NET_IPV4_HDR(pkt)->len[1] -
net_pkt_ext_len(pkt) -
net_pkt_ipv6_ext_len(pkt) -
net_pkt_ip_hdr_len(pkt);
if (proto == IPPROTO_ICMP) {
@ -470,7 +470,7 @@ uint16_t net_calc_chksum(struct net_pkt *pkt, uint8_t proto)
#if defined(CONFIG_NET_IPV6)
case AF_INET6:
upper_layer_len = (NET_IPV6_HDR(pkt)->len[0] << 8) +
NET_IPV6_HDR(pkt)->len[1] - net_pkt_ext_len(pkt);
NET_IPV6_HDR(pkt)->len[1] - net_pkt_ipv6_ext_len(pkt);
sum = calc_chksum(upper_layer_len + proto,
(uint8_t *)&NET_IPV6_HDR(pkt)->src,
2 * sizeof(struct in6_addr));

View file

@ -277,7 +277,7 @@ static void setup_ipv6_tcp(struct net_pkt *pkt,
NET_TCP_HDR(pkt)->src_port = htons(remote_port);
NET_TCP_HDR(pkt)->dst_port = htons(local_port);
net_pkt_set_ext_len(pkt, 0);
net_pkt_set_ipv6_ext_len(pkt, 0);
net_buf_add(pkt->frags, net_pkt_ip_hdr_len(pkt) +
sizeof(struct net_tcp_hdr));
@ -305,7 +305,7 @@ static void setup_ipv4_tcp(struct net_pkt *pkt,
NET_TCP_HDR(pkt)->src_port = htons(remote_port);
NET_TCP_HDR(pkt)->dst_port = htons(local_port);
net_pkt_set_ext_len(pkt, 0);
net_pkt_set_ipv6_ext_len(pkt, 0);
net_buf_add(pkt->frags, net_pkt_ip_hdr_len(pkt) +
sizeof(struct net_tcp_hdr));

View file

@ -194,7 +194,7 @@ static void setup_ipv6_udp(struct net_pkt *pkt,
NET_UDP_HDR(pkt)->src_port = htons(remote_port);
NET_UDP_HDR(pkt)->dst_port = htons(local_port);
net_pkt_set_ext_len(pkt, 0);
net_pkt_set_ipv6_ext_len(pkt, 0);
net_buf_add(pkt->frags, net_pkt_ip_hdr_len(pkt) +
sizeof(struct net_udp_hdr));
@ -222,7 +222,7 @@ static void setup_ipv4_udp(struct net_pkt *pkt,
NET_UDP_HDR(pkt)->src_port = htons(remote_port);
NET_UDP_HDR(pkt)->dst_port = htons(local_port);
net_pkt_set_ext_len(pkt, 0);
net_pkt_set_ipv6_ext_len(pkt, 0);
net_buf_add(pkt->frags, net_pkt_ip_hdr_len(pkt) +
sizeof(struct net_udp_hdr));

View file

@ -168,7 +168,7 @@ static bool run_tests(void)
net_pkt_set_ip_hdr_len(pkt, sizeof(struct net_ipv6_hdr));
net_pkt_set_family(pkt, AF_INET6);
net_pkt_set_ext_len(pkt, 0);
net_pkt_set_ipv6_ext_len(pkt, 0);
/* We need to zero the ICMP checksum */
hdr_len = net_pkt_ip_hdr_len(pkt);
@ -192,7 +192,7 @@ static bool run_tests(void)
net_pkt_set_ip_hdr_len(pkt, sizeof(struct net_ipv6_hdr));
net_pkt_set_family(pkt, AF_INET6);
net_pkt_set_ext_len(pkt, 0);
net_pkt_set_ipv6_ext_len(pkt, 0);
hdr_len = net_pkt_ip_hdr_len(pkt);
orig_chksum = (frag->data[hdr_len + 2] << 8) + frag->data[hdr_len + 3];
@ -221,7 +221,7 @@ static bool run_tests(void)
net_pkt_set_ip_hdr_len(pkt, sizeof(struct net_ipv6_hdr));
net_pkt_set_family(pkt, AF_INET6);
net_pkt_set_ext_len(pkt, 0);
net_pkt_set_ipv6_ext_len(pkt, 0);
hdr_len = net_pkt_ip_hdr_len(pkt);
orig_chksum = (frag->data[hdr_len + 2] << 8) + frag->data[hdr_len + 3];
@ -253,7 +253,7 @@ static bool run_tests(void)
net_pkt_set_ip_hdr_len(pkt, sizeof(struct net_ipv6_hdr));
net_pkt_set_family(pkt, AF_INET6);
net_pkt_set_ext_len(pkt, 0);
net_pkt_set_ipv6_ext_len(pkt, 0);
chunk = 29;
datalen = sizeof(pkt3) - sizeof(struct net_ipv6_hdr);
@ -321,7 +321,7 @@ static bool run_tests(void)
net_pkt_set_ip_hdr_len(pkt, sizeof(struct net_ipv4_hdr));
net_pkt_set_family(pkt, AF_INET);
net_pkt_set_ext_len(pkt, 0);
net_pkt_set_ipv6_ext_len(pkt, 0);
hdr_len = net_pkt_ip_hdr_len(pkt);
orig_chksum = (frag->data[hdr_len + 2] << 8) + frag->data[hdr_len + 3];
@ -350,7 +350,7 @@ static bool run_tests(void)
net_pkt_set_ip_hdr_len(pkt, sizeof(struct net_ipv4_hdr));
net_pkt_set_family(pkt, AF_INET);
net_pkt_set_ext_len(pkt, 0);
net_pkt_set_ipv6_ext_len(pkt, 0);
hdr_len = net_pkt_ip_hdr_len(pkt);
orig_chksum = (frag->data[hdr_len + 2] << 8) + frag->data[hdr_len + 3];