diff --git a/drivers/slip/slip.c b/drivers/slip/slip.c index a2b0e0049cf..7f2d8f25b18 100644 --- a/drivers/slip/slip.c +++ b/drivers/slip/slip.c @@ -273,7 +273,7 @@ static inline int slip_input_byte(struct slip_context *slip, } net_buf_frag_add(slip->rx, slip->last); - net_nbuf_ll_reserve(slip->rx) = slip->ll_reserve; + net_nbuf_set_ll_reserve(slip->rx, slip->ll_reserve); slip->ptr = net_nbuf_ip_data(slip->rx) - slip->ll_reserve; } diff --git a/include/net/yaip/nbuf.h b/include/net/yaip/nbuf.h index 73460efaeb4..c5cfc85c88e 100644 --- a/include/net/yaip/nbuf.h +++ b/include/net/yaip/nbuf.h @@ -33,6 +33,9 @@ #include #include +#include +#include +#include #ifdef __cplusplus extern "C" { @@ -82,35 +85,187 @@ struct net_nbuf { /** @cond ignore */ -/* Value returned by nbuf_len() contains length of all the protocol headers, - * like IP and UDP, and the length of the user payload. - */ -#define net_nbuf_len(buf) ((buf)->len) -/* This returns pointer to start of the protocol IP header */ -#define net_nbuf_ip_data(buf) ((buf)->frags->data) -#define net_nbuf_udp_data(buf) (&(buf)->frags->data[net_nbuf_ip_hdr_len(buf)]) -#define net_nbuf_tcp_data(buf) (&(buf)->frags->data[net_nbuf_ip_hdr_len(buf)]) -#define net_nbuf_icmp_data(buf) (&(buf)->frags->data[net_nbuf_ip_hdr_len(buf) +\ - net_nbuf_ext_len(buf)]) +/* The interface real ll address */ +static inline struct net_linkaddr *net_nbuf_ll_if(struct net_buf *buf) +{ + return net_if_get_link_addr( + ((struct net_nbuf *)net_buf_user_data(buf))->iface); +} -/* These two return only the application data length without - * IP and other protocol header length. - */ -#define net_nbuf_appdata(buf) (((struct net_nbuf *) \ - net_buf_user_data((buf)))->appdata) -#define net_nbuf_appdatalen(buf) (((struct net_nbuf *) \ - net_buf_user_data((buf)))->appdatalen) -#define net_nbuf_reserve(buf) (((struct net_nbuf *) \ - net_buf_user_data((buf)))->reserve) -#define net_nbuf_ll_reserve(buf) (((struct net_nbuf *) \ - net_buf_user_data((buf)))->ll_reserve) -#define net_nbuf_ll(buf) (net_nbuf_ip_data(buf) - net_nbuf_ll_reserve(buf)) +static inline struct net_context *net_nbuf_context(struct net_buf *buf) +{ + return ((struct net_nbuf *)net_buf_user_data(buf))->context; +} -#define net_nbuf_ll_src(buf) \ - (&(((struct net_nbuf *)net_buf_user_data((buf)))->lladdr_src)) -#define net_nbuf_ll_dst(buf) \ - (&(((struct net_nbuf *)net_buf_user_data((buf)))->lladdr_dst)) +static inline void net_nbuf_set_context(struct net_buf *buf, + struct net_context *ctx) +{ + ((struct net_nbuf *)net_buf_user_data(buf))->context = ctx; +} + +static inline struct net_if *net_nbuf_iface(struct net_buf *buf) +{ + return ((struct net_nbuf *)net_buf_user_data(buf))->iface; +} + +static inline void net_nbuf_set_iface(struct net_buf *buf, struct net_if *iface) +{ + ((struct net_nbuf *)net_buf_user_data(buf))->iface = iface; +} + +static inline enum net_nbuf_type net_nbuf_type(struct net_buf *buf) +{ + return ((struct net_nbuf *)net_buf_user_data(buf))->type; +} + +static inline void net_nbuf_set_type(struct net_buf *buf, uint8_t type) +{ + ((struct net_nbuf *)net_buf_user_data(buf))->type = type; +} + +static inline uint8_t net_nbuf_family(struct net_buf *buf) +{ + return ((struct net_nbuf *)net_buf_user_data(buf))->family; +} + +static inline void net_nbuf_set_family(struct net_buf *buf, uint8_t family) +{ + ((struct net_nbuf *)net_buf_user_data(buf))->family = family; +} + +static inline uint8_t net_nbuf_ip_hdr_len(struct net_buf *buf) +{ + return ((struct net_nbuf *) net_buf_user_data(buf))->ip_hdr_len; +} + +static inline void net_nbuf_set_ip_hdr_len(struct net_buf *buf, uint8_t len) +{ + ((struct net_nbuf *) net_buf_user_data(buf))->ip_hdr_len = len; +} + +static inline uint8_t net_nbuf_ext_len(struct net_buf *buf) +{ + return ((struct net_nbuf *)net_buf_user_data(buf))->ext_len; +} + +static inline void net_nbuf_set_ext_len(struct net_buf *buf, uint8_t len) +{ + ((struct net_nbuf *)net_buf_user_data(buf))->ext_len = len; +} + +static inline uint8_t net_nbuf_ext_bitmap(struct net_buf *buf) +{ + return ((struct net_nbuf *)net_buf_user_data(buf))->ext_bitmap; +} + +static inline void net_nbuf_set_ext_bitmap(struct net_buf *buf, uint8_t bm) +{ + ((struct net_nbuf *)net_buf_user_data(buf))->ext_bitmap = bm; +} + +static inline uint8_t *net_nbuf_next_hdr(struct net_buf *buf) +{ + return ((struct net_nbuf *)net_buf_user_data(buf))->next_hdr; +} + +static inline void net_nbuf_set_next_hdr(struct net_buf *buf, uint8_t *hdr) +{ + ((struct net_nbuf *)net_buf_user_data(buf))->next_hdr = hdr; +} + +#if defined(CONFIG_NET_IPV6) +static inline uint8_t net_nbuf_ext_opt_len(struct net_buf *buf) +{ + return ((struct net_nbuf *)net_buf_user_data(buf))->ext_opt_len; +} + +static inline void net_nbuf_set_ext_opt_len(struct net_buf *buf, uint8_t len) +{ + ((struct net_nbuf *)net_buf_user_data(buf))->ext_opt_len = len; +} +#endif + +static inline uint16_t net_nbuf_get_len(struct net_buf *buf) +{ + return buf->len; +} + +static inline void net_nbuf_set_len(struct net_buf *buf, uint16_t len) +{ + buf->len = len; +} + +static inline uint8_t *net_nbuf_ip_data(struct net_buf *buf) +{ + return buf->frags->data; +} + +static inline uint8_t *net_nbuf_udp_data(struct net_buf *buf) +{ + return &buf->frags->data[net_nbuf_ip_hdr_len(buf)]; +} + +static inline uint8_t *net_nbuf_tcp_data(struct net_buf *buf) +{ + return &buf->frags->data[net_nbuf_ip_hdr_len(buf)]; +} + +static inline uint8_t *net_nbuf_icmp_data(struct net_buf *buf) +{ + return &buf->frags->data[net_nbuf_ip_hdr_len(buf) + + net_nbuf_ext_len(buf)]; +} + +static inline uint8_t *net_nbuf_appdata(struct net_buf *buf) +{ + return ((struct net_nbuf *)net_buf_user_data(buf))->appdata; +} + +static inline void net_nbuf_set_appdata(struct net_buf *buf, uint8_t *data) +{ + ((struct net_nbuf *)net_buf_user_data(buf))->appdata = data; +} + +static inline uint16_t net_nbuf_appdatalen(struct net_buf *buf) +{ + return ((struct net_nbuf *)net_buf_user_data(buf))->appdatalen; +} + +static inline void net_nbuf_set_appdatalen(struct net_buf *buf, uint16_t len) +{ + ((struct net_nbuf *)net_buf_user_data(buf))->appdatalen = len; +} + +static inline uint16_t net_nbuf_reserve(struct net_buf *buf) +{ + return ((struct net_nbuf *)net_buf_user_data(buf))->reserve; +} + +static inline uint8_t net_nbuf_ll_reserve(struct net_buf *buf) +{ + return ((struct net_nbuf *) net_buf_user_data(buf))->ll_reserve; +} + +static inline void net_nbuf_set_ll_reserve(struct net_buf *buf, uint8_t len) +{ + ((struct net_nbuf *) net_buf_user_data(buf))->ll_reserve = len; +} + +static inline uint8_t *net_nbuf_ll(struct net_buf *buf) +{ + return net_nbuf_ip_data(buf) - net_nbuf_ll_reserve(buf); +} + +static inline struct net_linkaddr *net_nbuf_ll_src(struct net_buf *buf) +{ + return &((struct net_nbuf *)net_buf_user_data(buf))->lladdr_src; +} + +static inline struct net_linkaddr *net_nbuf_ll_dst(struct net_buf *buf) +{ + return &((struct net_nbuf *)net_buf_user_data(buf))->lladdr_dst; +} static inline void net_nbuf_ll_clear(struct net_buf *buf) { @@ -127,37 +282,18 @@ static inline void net_nbuf_ll_swap(struct net_buf *buf) net_nbuf_ll_dst(buf)->addr = addr; } -/* The interface real ll address */ -#define net_nbuf_ll_if(buf) \ - net_if_get_link_addr(((struct net_nbuf *)net_buf_user_data(buf))->iface) - -#define net_nbuf_context(buf) \ - (((struct net_nbuf *)net_buf_user_data((buf)))->context) -#define net_nbuf_iface(buf) \ - (((struct net_nbuf *)net_buf_user_data((buf)))->iface) -#define net_nbuf_type(ptr) (((struct net_nbuf *)net_buf_user_data((ptr)))->type) -#define net_nbuf_family(ptr) (((struct net_nbuf *) \ - net_buf_user_data((ptr)))->family) -#define net_nbuf_ip_hdr_len(buf) (((struct net_nbuf *) \ - net_buf_user_data((buf)))->ip_hdr_len) -#define net_nbuf_ext_len(buf) \ - (((struct net_nbuf *)net_buf_user_data((buf)))->ext_len) -#define net_nbuf_ext_bitmap(buf) \ - (((struct net_nbuf *)net_buf_user_data((buf)))->ext_bitmap) -#define net_nbuf_next_hdr(buf) \ - (((struct net_nbuf *)net_buf_user_data((buf)))->next_hdr) -#define net_nbuf_ext_opt_len(buf) \ - (((struct net_nbuf *)net_buf_user_data((buf)))->ext_opt_len) - #define NET_IPV6_BUF(buf) ((struct net_ipv6_hdr *)net_nbuf_ip_data(buf)) #define NET_IPV4_BUF(buf) ((struct net_ipv4_hdr *)net_nbuf_ip_data(buf)) #define NET_ICMP_BUF(buf) ((struct net_icmp_hdr *)net_nbuf_icmp_data(buf)) #define NET_UDP_BUF(buf) ((struct net_udp_hdr *)(net_nbuf_udp_data(buf))) -#define net_nbuf_set_src_ipv6_addr(buf) \ - net_if_select_src(net_context_get_if(nbuf_context(buf)), \ - &NET_IPV6_BUF(buf)->src, \ - &NET_IPV6_BUF(buf)->dst) +static inline void net_nbuf_set_src_ipv6_addr(struct net_buf *buf) +{ + net_if_ipv6_select_src_addr(net_context_get_iface( + net_nbuf_context(buf)), + &NET_IPV6_BUF(buf)->src); +} + /* @endcond */ #if defined(CONFIG_NETWORK_IP_STACK_DEBUG_NET_BUF) diff --git a/net/yaip/icmpv4.c b/net/yaip/icmpv4.c index 47d10efc351..818f5a836b2 100644 --- a/net/yaip/icmpv4.c +++ b/net/yaip/icmpv4.c @@ -92,7 +92,7 @@ static inline void setup_ipv4_header(struct net_buf *buf, uint8_t extra_len, NET_IPV4_BUF(buf)->offset[0] = NET_IPV4_BUF(buf)->offset[1] = 0; NET_IPV4_BUF(buf)->id[0] = NET_IPV4_BUF(buf)->id[1] = 0; - net_nbuf_ip_hdr_len(buf) = sizeof(struct net_ipv4_hdr); + net_nbuf_set_ip_hdr_len(buf, sizeof(struct net_ipv4_hdr)); NET_ICMP_BUF(buf)->type = icmp_type; NET_ICMP_BUF(buf)->code = icmp_code; @@ -165,9 +165,9 @@ int net_icmpv4_send_error(struct net_buf *orig, uint8_t type, uint8_t code) } net_buf_frag_add(buf, frag); - net_nbuf_family(buf) = AF_INET; - net_nbuf_iface(buf) = iface; - net_nbuf_ll_reserve(buf) = net_buf_headroom(frag); + net_nbuf_set_family(buf, AF_INET); + net_nbuf_set_iface(buf, iface); + net_nbuf_set_ll_reserve(buf, net_buf_headroom(frag)); setup_ipv4_header(buf, extra_len, net_if_ipv4_get_ttl(iface), type, code); diff --git a/net/yaip/icmpv6.c b/net/yaip/icmpv6.c index aa1f7ca73aa..6fbe2c62823 100644 --- a/net/yaip/icmpv6.c +++ b/net/yaip/icmpv6.c @@ -110,7 +110,7 @@ static inline void setup_ipv6_header(struct net_buf *buf, uint8_t extra_len, NET_IPV6_BUF(buf)->nexthdr = IPPROTO_ICMPV6; NET_IPV6_BUF(buf)->hop_limit = hop_limit; - net_nbuf_ip_hdr_len(buf) = sizeof(struct net_ipv6_hdr); + net_nbuf_set_ip_hdr_len(buf, sizeof(struct net_ipv6_hdr)); NET_ICMP_BUF(buf)->type = icmp_type; NET_ICMP_BUF(buf)->code = icmp_code; @@ -175,10 +175,10 @@ int net_icmpv6_send_error(struct net_buf *orig, uint8_t type, uint8_t code) } net_buf_frag_add(buf, frag); - net_nbuf_family(buf) = AF_INET6; - net_nbuf_iface(buf) = iface; - net_nbuf_ll_reserve(buf) = net_buf_headroom(frag); - net_nbuf_ext_len(buf) = 0; + net_nbuf_set_family(buf, AF_INET6); + net_nbuf_set_iface(buf, iface); + net_nbuf_set_ll_reserve(buf, net_buf_headroom(frag)); + net_nbuf_set_ext_len(buf, 0); setup_ipv6_header(buf, extra_len, net_if_ipv6_get_hop_limit(iface), type, code); diff --git a/net/yaip/ipv6.c b/net/yaip/ipv6.c index b763664d6a8..afe932b4ab8 100644 --- a/net/yaip/ipv6.c +++ b/net/yaip/ipv6.c @@ -364,7 +364,7 @@ static enum net_verdict handle_ns_input(struct net_buf *buf) goto drop; } - net_nbuf_ext_opt_len(buf) = sizeof(struct net_icmpv6_ns_hdr); + net_nbuf_set_ext_opt_len(buf, sizeof(struct net_icmpv6_ns_hdr)); hdr = NET_ICMPV6_ND_OPT_HDR_BUF(buf); /* The parsing gets tricky if the ND struct is split @@ -398,7 +398,8 @@ static enum net_verdict handle_ns_input(struct net_buf *buf) break; } - net_nbuf_ext_opt_len(buf) += hdr->len << 3; + net_nbuf_set_ext_opt_len(buf, net_nbuf_ext_opt_len(buf) + + (hdr->len << 3)); } ifaddr = net_if_ipv6_addr_lookup_by_iface(net_nbuf_iface(buf), @@ -479,7 +480,7 @@ send_na: llao_len = get_llao_len(net_nbuf_iface(buf)); net_nbuf_ll_swap(buf); - net_nbuf_ext_len(buf) = 0; + net_nbuf_set_ext_len(buf, 0); setup_headers(buf, sizeof(struct net_icmpv6_na_hdr) + llao_len, NET_ICMPV6_NA); @@ -497,9 +498,9 @@ send_na: NET_ICMP_BUF(buf)->chksum = 0; NET_ICMP_BUF(buf)->chksum = ~net_calc_chksum_icmpv6(buf); - net_nbuf_len(buf->frags) = NET_IPV6ICMPH_LEN + - sizeof(struct net_icmpv6_na_hdr) + - llao_len; + net_nbuf_set_len(buf->frags, NET_IPV6ICMPH_LEN + + sizeof(struct net_icmpv6_na_hdr) + + llao_len); if (net_send_data(buf) < 0) { goto drop; @@ -664,7 +665,7 @@ static enum net_verdict handle_na_input(struct net_buf *buf) goto drop; } - net_nbuf_ext_opt_len(buf) = sizeof(struct net_icmpv6_na_hdr); + net_nbuf_set_ext_opt_len(buf, sizeof(struct net_icmpv6_na_hdr)); hdr = NET_ICMPV6_ND_OPT_HDR_BUF(buf); /* The parsing gets tricky if the ND struct is split @@ -693,7 +694,8 @@ static enum net_verdict handle_na_input(struct net_buf *buf) break; } - net_nbuf_ext_opt_len(buf) += hdr->len << 3; + net_nbuf_set_ext_opt_len(buf, net_nbuf_ext_opt_len(buf) + + (hdr->len << 3)); } ifaddr = net_if_ipv6_addr_lookup_by_iface(net_nbuf_iface(buf), @@ -749,10 +751,10 @@ int net_ipv6_send_ns(struct net_if *iface, net_buf_frag_add(buf, frag); - net_nbuf_ll_reserve(buf) = net_buf_headroom(frag); - net_nbuf_iface(buf) = iface; - net_nbuf_family(buf) = AF_INET6; - net_nbuf_ip_hdr_len(buf) = sizeof(struct net_ipv6_hdr); + net_nbuf_set_ll_reserve(buf, net_buf_headroom(frag)); + net_nbuf_set_iface(buf, iface); + net_nbuf_set_family(buf, AF_INET6); + net_nbuf_set_ip_hdr_len(buf, sizeof(struct net_ipv6_hdr)); net_nbuf_ll_clear(buf); @@ -867,10 +869,10 @@ int net_ipv6_send_rs(struct net_if *iface) net_buf_frag_add(buf, frag); - net_nbuf_ll_reserve(buf) = net_buf_headroom(frag); - net_nbuf_iface(buf) = iface; - net_nbuf_family(buf) = AF_INET6; - net_nbuf_ip_hdr_len(buf) = sizeof(struct net_ipv6_hdr); + net_nbuf_set_ll_reserve(buf, net_buf_headroom(frag)); + net_nbuf_set_iface(buf, iface); + net_nbuf_set_family(buf, AF_INET6); + net_nbuf_set_ip_hdr_len(buf, sizeof(struct net_ipv6_hdr)); net_nbuf_ll_clear(buf); @@ -1188,7 +1190,7 @@ static enum net_verdict handle_ra_input(struct net_buf *buf) ntohl(NET_ICMPV6_RA_BUF(buf)->retrans_timer)); } - net_nbuf_ext_opt_len(buf) = sizeof(struct net_icmpv6_ra_hdr); + net_nbuf_set_ext_opt_len(buf, sizeof(struct net_icmpv6_ra_hdr)); hdr = NET_ICMPV6_ND_OPT_HDR_BUF(buf); /* The parsing gets tricky if the ND struct is split @@ -1236,7 +1238,8 @@ static enum net_verdict handle_ra_input(struct net_buf *buf) break; } - net_nbuf_ext_opt_len(buf) += hdr->len << 3; + net_nbuf_set_ext_opt_len(buf, net_nbuf_ext_opt_len(buf) + + (hdr->len << 3)); } router = net_if_ipv6_router_lookup(net_nbuf_iface(buf), diff --git a/net/yaip/l2/arp.c b/net/yaip/l2/arp.c index b65ffd821d6..30de776ee62 100644 --- a/net/yaip/l2/arp.c +++ b/net/yaip/l2/arp.c @@ -127,9 +127,9 @@ static inline struct net_buf *prepare_arp(struct net_if *iface, } net_buf_frag_add(buf, frag); - net_nbuf_iface(buf) = iface; - net_nbuf_family(buf) = AF_INET; - net_nbuf_ll_reserve(buf) = sizeof(struct net_eth_hdr); + net_nbuf_set_iface(buf, iface); + net_nbuf_set_family(buf, AF_INET); + net_nbuf_set_ll_reserve(buf, sizeof(struct net_eth_hdr)); hdr = NET_ARP_BUF(buf); eth = NET_ETH_BUF(buf); @@ -390,9 +390,9 @@ static inline struct net_buf *prepare_arp_reply(struct net_if *iface, } net_buf_frag_add(buf, frag); - net_nbuf_iface(buf) = iface; - net_nbuf_family(buf) = AF_INET; - net_nbuf_ll_reserve(buf) = sizeof(struct net_eth_hdr); + net_nbuf_set_iface(buf, iface); + net_nbuf_set_family(buf, AF_INET); + net_nbuf_set_ll_reserve(buf, sizeof(struct net_eth_hdr)); hdr = NET_ARP_BUF(buf); eth = NET_ETH_BUF(buf); @@ -438,7 +438,8 @@ enum net_verdict net_arp_input(struct net_buf *buf) net_nbuf_ll_reserve(buf))) { NET_DBG("Invalid ARP header (len %d, min %d bytes)", net_buf_frags_len(buf), - sizeof(struct net_arp_hdr) - net_nbuf_ll_reserve(buf)); + sizeof(struct net_arp_hdr) - + net_nbuf_ll_reserve(buf)); return NET_DROP; } diff --git a/net/yaip/l2/ethernet.c b/net/yaip/l2/ethernet.c index f1258eb2614..51087b4613a 100644 --- a/net/yaip/l2/ethernet.c +++ b/net/yaip/l2/ethernet.c @@ -64,14 +64,14 @@ static enum net_verdict ethernet_recv(struct net_if *iface, switch (ntohs(hdr->type)) { case NET_ETH_PTYPE_IP: case NET_ETH_PTYPE_ARP: - net_nbuf_family(buf) = AF_INET; + net_nbuf_set_family(buf, AF_INET); break; case NET_ETH_PTYPE_IPV6: - net_nbuf_family(buf) = AF_INET6; + net_nbuf_set_family(buf, AF_INET6); break; } - net_nbuf_ll_reserve(buf) = sizeof(struct net_eth_hdr); + net_nbuf_set_ll_reserve(buf, sizeof(struct net_eth_hdr)); /* Set the pointers to ll src and dst addresses */ lladdr = net_nbuf_ll_src(buf); diff --git a/net/yaip/nbuf.c b/net/yaip/nbuf.c index 3e3ad25d806..3a80d304bac 100644 --- a/net/yaip/nbuf.c +++ b/net/yaip/nbuf.c @@ -333,7 +333,7 @@ static struct net_buf *net_nbuf_get_reserve(enum net_nbuf_type type, NET_ASSERT(buf->ref); dec_free_rx_bufs(buf); - net_nbuf_type(buf) = type; + net_nbuf_set_type(buf, type); break; case NET_NBUF_TX: buf = net_buf_get(&free_tx_bufs, 0); @@ -344,7 +344,7 @@ static struct net_buf *net_nbuf_get_reserve(enum net_nbuf_type type, NET_ASSERT(buf->ref); dec_free_tx_bufs(buf); - net_nbuf_type(buf) = type; + net_nbuf_set_type(buf, type); break; case NET_NBUF_DATA: buf = net_buf_get(&free_data_bufs, 0); @@ -479,8 +479,8 @@ static struct net_buf *net_nbuf_get(enum net_nbuf_type type, } if (type != NET_NBUF_DATA) { - net_nbuf_context(buf) = context; - net_nbuf_ll_reserve(buf) = (uint16_t)reserve; + net_nbuf_set_context(buf, context); + net_nbuf_set_ll_reserve(buf, (uint8_t)reserve); } return buf; diff --git a/net/yaip/net_core.c b/net/yaip/net_core.c index 53837dfa109..8afbed9261e 100644 --- a/net/yaip/net_core.c +++ b/net/yaip/net_core.c @@ -190,19 +190,21 @@ static inline enum net_verdict process_ipv6_pkt(struct net_buf *buf) } /* Check extension headers */ - net_nbuf_next_hdr(buf) = &hdr->nexthdr; - net_nbuf_ext_len(buf) = 0; - net_nbuf_ext_bitmap(buf) = 0; + net_nbuf_set_next_hdr(buf, &hdr->nexthdr); + net_nbuf_set_ext_len(buf, 0); + net_nbuf_set_ext_bitmap(buf, 0); while (1) { switch (*(net_nbuf_next_hdr(buf))) { case IPPROTO_ICMPV6: - net_nbuf_ip_hdr_len(buf) = sizeof(struct net_ipv6_hdr); + net_nbuf_set_ip_hdr_len(buf, + sizeof(struct net_ipv6_hdr)); return process_icmpv6_pkt(buf, hdr); case IPPROTO_UDP: - net_nbuf_ip_hdr_len(buf) = sizeof(struct net_ipv6_hdr); + net_nbuf_set_ip_hdr_len(buf, + sizeof(struct net_ipv6_hdr)); return net_conn_input(IPPROTO_UDP, buf); default: @@ -265,11 +267,11 @@ static inline enum net_verdict process_ipv4_pkt(struct net_buf *buf) switch (hdr->proto) { case IPPROTO_ICMP: - net_nbuf_ip_hdr_len(buf) = sizeof(struct net_ipv4_hdr); + net_nbuf_set_ip_hdr_len(buf, sizeof(struct net_ipv4_hdr)); return process_icmpv4_pkt(buf, hdr); case IPPROTO_UDP: - net_nbuf_ip_hdr_len(buf) = sizeof(struct net_ipv4_hdr); + net_nbuf_set_ip_hdr_len(buf, sizeof(struct net_ipv4_hdr)); return net_conn_input(IPPROTO_UDP, buf); } @@ -307,13 +309,13 @@ static inline enum net_verdict process_data(struct net_buf *buf) #if defined(CONFIG_NET_IPV6) case 0x60: NET_STATS(++net_stats.ipv6.recv); - net_nbuf_family(buf) = PF_INET6; + net_nbuf_set_family(buf, PF_INET6); return process_ipv6_pkt(buf); #endif #if defined(CONFIG_NET_IPV4) case 0x40: NET_STATS(++net_stats.ipv4.recv); - net_nbuf_family(buf) = PF_INET; + net_nbuf_set_family(buf, PF_INET); return process_ipv4_pkt(buf); #endif } @@ -409,7 +411,7 @@ int net_recv_data(struct net_if *iface, struct net_buf *buf) NET_DBG("fifo %p iface %p buf %p len %d", &rx_queue, iface, buf, net_buf_frags_len(buf)); - net_nbuf_iface(buf) = iface; + net_nbuf_set_iface(buf, iface); net_buf_put(&rx_queue, buf); diff --git a/net/yaip/net_private.h b/net/yaip/net_private.h index b9dff5bd8eb..b94fe288892 100644 --- a/net/yaip/net_private.h +++ b/net/yaip/net_private.h @@ -138,7 +138,7 @@ static inline void net_hexdump_frags(const char *str, struct net_buf *buf) struct net_buf *frag = buf->frags; while (frag) { - net_hexdump(str, frag->data, net_nbuf_len(frag)); + net_hexdump(str, frag->data, net_nbuf_get_len(frag)); frag = frag->frags; } } diff --git a/tests/net/arp/src/main.c b/tests/net/arp/src/main.c index a4dbf789025..bac50a6491a 100644 --- a/tests/net/arp/src/main.c +++ b/tests/net/arp/src/main.c @@ -205,8 +205,8 @@ static inline struct net_buf *prepare_arp_reply(struct net_if *iface, } net_buf_frag_add(buf, frag); - net_nbuf_iface(buf) = iface; - net_nbuf_ll_reserve(buf) = net_buf_headroom(frag); + net_nbuf_set_iface(buf, iface); + net_nbuf_set_ll_reserve(buf, net_buf_headroom(frag)); hdr = NET_ARP_BUF(buf); eth = NET_ETH_BUF(buf); @@ -259,8 +259,8 @@ static inline struct net_buf *prepare_arp_request(struct net_if *iface, } net_buf_frag_add(buf, frag); - net_nbuf_iface(buf) = iface; - net_nbuf_ll_reserve(buf) = sizeof(struct net_eth_hdr); + net_nbuf_set_iface(buf, iface); + net_nbuf_set_ll_reserve(buf, sizeof(struct net_eth_hdr)); hdr = NET_ARP_BUF(buf); eth = NET_ETH_BUF(buf); @@ -364,8 +364,8 @@ void main_fiber(void) net_buf_frag_add(buf, frag); - net_nbuf_ll_reserve(buf) = net_buf_headroom(frag); - net_nbuf_iface(buf) = iface; + net_nbuf_set_ll_reserve(buf, net_buf_headroom(frag)); + net_nbuf_set_iface(buf, iface); ipv4 = (struct net_ipv4_hdr *)net_buf_add(frag, sizeof(struct net_ipv4_hdr)); @@ -438,8 +438,8 @@ void main_fiber(void) net_buf_frag_add(buf, frag); - net_nbuf_ll_reserve(buf) = net_buf_headroom(frag); - net_nbuf_iface(buf) = iface; + net_nbuf_set_ll_reserve(buf, net_buf_headroom(frag)); + net_nbuf_set_iface(buf, iface); setup_eth_header(iface, buf, &hwaddr, NET_ETH_PTYPE_IP); @@ -666,8 +666,8 @@ void main_fiber(void) net_buf_frag_add(buf, frag); - net_nbuf_ll_reserve(buf) = net_buf_headroom(frag); - net_nbuf_iface(buf) = iface; + net_nbuf_set_ll_reserve(buf, net_buf_headroom(frag)); + net_nbuf_set_iface(buf, iface); arp_hdr = NET_ARP_BUF(buf); net_buf_add(frag, sizeof(struct net_arp_hdr)); @@ -720,8 +720,8 @@ void main_fiber(void) net_buf_frag_add(buf, frag); - net_nbuf_ll_reserve(buf) = sizeof(struct net_eth_hdr); - net_nbuf_iface(buf) = iface; + net_nbuf_set_ll_reserve(buf, sizeof(struct net_eth_hdr)); + net_nbuf_set_iface(buf, iface); send_status = -EINVAL; arp_hdr = NET_ARP_BUF(buf); diff --git a/tests/net/nbuf/src/main.c b/tests/net/nbuf/src/main.c index c2f6beaf7a6..27192b895c7 100644 --- a/tests/net/nbuf/src/main.c +++ b/tests/net/nbuf/src/main.c @@ -90,8 +90,8 @@ static int test_ipv6_multi_frags(void) return -EINVAL; } - net_nbuf_appdata(buf) = (void *)udp + sizeof(*udp); - net_nbuf_appdatalen(buf) = 0; + net_nbuf_set_appdata(buf, (void *)udp + sizeof(*udp)); + net_nbuf_set_appdatalen(buf, 0); } net_buf_frag_add(buf, frag); @@ -216,8 +216,8 @@ static int test_fragment_copy(void) memcpy(net_buf_add(frag, 15), example_data, 15); - net_nbuf_appdata(buf) = (void *)udp + sizeof(*udp) + 15; - net_nbuf_appdatalen(buf) = 0; + net_nbuf_set_appdata(buf, (void *)udp + sizeof(*udp) + 15); + net_nbuf_set_appdatalen(buf, 0); } net_buf_frag_add(buf, frag); diff --git a/tests/net/udp/src/main.c b/tests/net/udp/src/main.c index 685baad6bf5..2c30b498fd4 100644 --- a/tests/net/udp/src/main.c +++ b/tests/net/udp/src/main.c @@ -188,12 +188,12 @@ static void setup_ipv6_udp(struct net_buf *buf, net_ipaddr_copy(&NET_IPV6_BUF(buf)->src, remote_addr); net_ipaddr_copy(&NET_IPV6_BUF(buf)->dst, local_addr); - net_nbuf_ip_hdr_len(buf) = sizeof(struct net_ipv6_hdr); + net_nbuf_set_ip_hdr_len(buf, sizeof(struct net_ipv6_hdr)); NET_UDP_BUF(buf)->src_port = htons(remote_port); NET_UDP_BUF(buf)->dst_port = htons(local_port); - net_nbuf_ext_len(buf) = 0; + net_nbuf_set_ext_len(buf, 0); net_buf_add(buf->frags, net_nbuf_ip_hdr_len(buf) + sizeof(struct net_udp_hdr)); @@ -216,12 +216,12 @@ static void setup_ipv4_udp(struct net_buf *buf, net_ipaddr_copy(&NET_IPV4_BUF(buf)->src, remote_addr); net_ipaddr_copy(&NET_IPV4_BUF(buf)->dst, local_addr); - net_nbuf_ip_hdr_len(buf) = sizeof(struct net_ipv4_hdr); + net_nbuf_set_ip_hdr_len(buf, sizeof(struct net_ipv4_hdr)); NET_UDP_BUF(buf)->src_port = htons(remote_port); NET_UDP_BUF(buf)->dst_port = htons(local_port); - net_nbuf_ext_len(buf) = 0; + net_nbuf_set_ext_len(buf, 0); net_buf_add(buf->frags, net_nbuf_ip_hdr_len(buf) + sizeof(struct net_udp_hdr)); @@ -245,8 +245,8 @@ static bool send_ipv6_udp_msg(struct net_if *iface, frag = net_nbuf_get_reserve_data(0); net_buf_frag_add(buf, frag); - net_nbuf_iface(buf) = iface; - net_nbuf_ll_reserve(buf) = net_buf_headroom(frag); + net_nbuf_set_iface(buf, iface); + net_nbuf_set_ll_reserve(buf, net_buf_headroom(frag)); setup_ipv6_udp(buf, src, dst, src_port, dst_port); @@ -293,8 +293,8 @@ static bool send_ipv4_udp_msg(struct net_if *iface, frag = net_nbuf_get_reserve_data(0); net_buf_frag_add(buf, frag); - net_nbuf_iface(buf) = iface; - net_nbuf_ll_reserve(buf) = net_buf_headroom(frag); + net_nbuf_set_iface(buf, iface); + net_nbuf_set_ll_reserve(buf, net_buf_headroom(frag)); setup_ipv4_udp(buf, src, dst, src_port, dst_port); diff --git a/tests/net/utils/src/main.c b/tests/net/utils/src/main.c index 06308ee4062..d0089ff3910 100644 --- a/tests/net/utils/src/main.c +++ b/tests/net/utils/src/main.c @@ -176,9 +176,9 @@ void main(void) return; } - net_nbuf_ip_hdr_len(buf) = sizeof(struct net_ipv6_hdr); - net_nbuf_family(buf) = AF_INET6; - net_nbuf_ext_len(buf) = 0; + net_nbuf_set_ip_hdr_len(buf, sizeof(struct net_ipv6_hdr)); + net_nbuf_set_family(buf, AF_INET6); + net_nbuf_set_ext_len(buf, 0); /* We need to zero the ICMP checksum */ hdr_len = net_nbuf_ip_hdr_len(buf); @@ -200,9 +200,9 @@ void main(void) net_buf_frag_add(buf, frag); memcpy(net_buf_add(frag, sizeof(pkt2) / 2), pkt2, sizeof(pkt2) / 2); - net_nbuf_ip_hdr_len(buf) = sizeof(struct net_ipv6_hdr); - net_nbuf_family(buf) = AF_INET6; - net_nbuf_ext_len(buf) = 0; + net_nbuf_set_ip_hdr_len(buf, sizeof(struct net_ipv6_hdr)); + net_nbuf_set_family(buf, AF_INET6); + net_nbuf_set_ext_len(buf, 0); hdr_len = net_nbuf_ip_hdr_len(buf); orig_chksum = (frag->data[hdr_len + 2] << 8) + frag->data[hdr_len + 3]; @@ -229,9 +229,9 @@ void main(void) memcpy(net_buf_add(frag, sizeof(pkt3) / 2), pkt3, sizeof(pkt3) / 2); printk("First fragment will have %d bytes\n", sizeof(pkt3) / 2); - net_nbuf_ip_hdr_len(buf) = sizeof(struct net_ipv6_hdr); - net_nbuf_family(buf) = AF_INET6; - net_nbuf_ext_len(buf) = 0; + net_nbuf_set_ip_hdr_len(buf, sizeof(struct net_ipv6_hdr)); + net_nbuf_set_family(buf, AF_INET6); + net_nbuf_set_ext_len(buf, 0); hdr_len = net_nbuf_ip_hdr_len(buf); orig_chksum = (frag->data[hdr_len + 2] << 8) + frag->data[hdr_len + 3]; @@ -261,9 +261,9 @@ void main(void) sizeof(struct net_ipv6_hdr)); printk("[0] IPv6 fragment will have %d bytes\n", frag->len); - net_nbuf_ip_hdr_len(buf) = sizeof(struct net_ipv6_hdr); - net_nbuf_family(buf) = AF_INET6; - net_nbuf_ext_len(buf) = 0; + net_nbuf_set_ip_hdr_len(buf, sizeof(struct net_ipv6_hdr)); + net_nbuf_set_family(buf, AF_INET6); + net_nbuf_set_ext_len(buf, 0); chunk = 29; datalen = sizeof(pkt3) - sizeof(struct net_ipv6_hdr); @@ -324,13 +324,13 @@ void main(void) frag = net_nbuf_get_reserve_data(sizeof(struct net_eth_hdr)); net_buf_frag_add(buf, frag); - net_nbuf_ll_reserve(buf) = sizeof(struct net_eth_hdr); + net_nbuf_set_ll_reserve(buf, sizeof(struct net_eth_hdr)); memcpy(net_nbuf_ll(buf), pkt4, sizeof(pkt4)); net_buf_add(frag, sizeof(pkt4) - sizeof(struct net_eth_hdr)); - net_nbuf_ip_hdr_len(buf) = sizeof(struct net_ipv4_hdr); - net_nbuf_family(buf) = AF_INET; - net_nbuf_ext_len(buf) = 0; + net_nbuf_set_ip_hdr_len(buf, sizeof(struct net_ipv4_hdr)); + net_nbuf_set_family(buf, AF_INET); + net_nbuf_set_ext_len(buf, 0); hdr_len = net_nbuf_ip_hdr_len(buf); orig_chksum = (frag->data[hdr_len + 2] << 8) + frag->data[hdr_len + 3]; @@ -352,13 +352,13 @@ void main(void) frag = net_nbuf_get_reserve_data(sizeof(struct net_eth_hdr)); net_buf_frag_add(buf, frag); - net_nbuf_ll_reserve(buf) = sizeof(struct net_eth_hdr); + net_nbuf_set_ll_reserve(buf, sizeof(struct net_eth_hdr)); memcpy(net_nbuf_ll(buf), pkt5, sizeof(pkt5)); net_buf_add(frag, sizeof(pkt5) - sizeof(struct net_eth_hdr)); - net_nbuf_ip_hdr_len(buf) = sizeof(struct net_ipv4_hdr); - net_nbuf_family(buf) = AF_INET; - net_nbuf_ext_len(buf) = 0; + net_nbuf_set_ip_hdr_len(buf, sizeof(struct net_ipv4_hdr)); + net_nbuf_set_family(buf, AF_INET); + net_nbuf_set_ext_len(buf, 0); hdr_len = net_nbuf_ip_hdr_len(buf); orig_chksum = (frag->data[hdr_len + 2] << 8) + frag->data[hdr_len + 3];