diff --git a/sys/include/net/gnrc/netif/hdr.h b/sys/include/net/gnrc/netif/hdr.h
index a2ff14d4708e2753ff0bfdace17ea60252b35e53..1bd9aefd32350125d61e1107474a578aa3b628d1 100644
--- a/sys/include/net/gnrc/netif/hdr.h
+++ b/sys/include/net/gnrc/netif/hdr.h
@@ -158,8 +158,9 @@ static inline uint8_t *gnrc_netif_hdr_get_src_addr(const gnrc_netif_hdr_t *hdr)
  * @param[in] addr          new source address
  * @param[in] addr_len      *addr* length
  */
-static inline void gnrc_netif_hdr_set_src_addr(gnrc_netif_hdr_t *hdr, uint8_t *addr,
-        uint8_t addr_len)
+static inline void gnrc_netif_hdr_set_src_addr(gnrc_netif_hdr_t *hdr,
+                                               const uint8_t *addr,
+                                               uint8_t addr_len)
 {
     if (addr_len != hdr->src_l2addr_len) {
         return;
@@ -189,8 +190,9 @@ static inline uint8_t *gnrc_netif_hdr_get_dst_addr(const gnrc_netif_hdr_t *hdr)
  * @param[in] addr          new destination address
  * @param[in] addr_len      *addr* length
  */
-static inline void gnrc_netif_hdr_set_dst_addr(gnrc_netif_hdr_t *hdr, uint8_t *addr,
-        uint8_t addr_len)
+static inline void gnrc_netif_hdr_set_dst_addr(gnrc_netif_hdr_t *hdr,
+                                               const uint8_t *addr,
+                                               uint8_t addr_len)
 {
     if (addr_len != hdr->dst_l2addr_len) {
         return;
@@ -272,7 +274,8 @@ static inline int gnrc_netif_hdr_ipv6_iid_from_dst(const gnrc_netif_t *netif,
  * @return  The generic network layer header on success.
  * @return  NULL on error.
  */
-gnrc_pktsnip_t *gnrc_netif_hdr_build(uint8_t *src, uint8_t src_len, uint8_t *dst, uint8_t dst_len);
+gnrc_pktsnip_t *gnrc_netif_hdr_build(const uint8_t *src, uint8_t src_len,
+                                     const uint8_t *dst, uint8_t dst_len);
 
 /**
  * @brief   Convenience function to get the corresponding interface struct for
diff --git a/sys/net/gnrc/netif/hdr/gnrc_netif_hdr.c b/sys/net/gnrc/netif/hdr/gnrc_netif_hdr.c
index abdfa1e64680acbcb4cc7c5e5bbd255e19c711d0..bc2d959bb47bc7fc083918ac6adb22dbd7fb2057 100644
--- a/sys/net/gnrc/netif/hdr/gnrc_netif_hdr.c
+++ b/sys/net/gnrc/netif/hdr/gnrc_netif_hdr.c
@@ -15,7 +15,8 @@
 
 #include "net/gnrc/netif/hdr.h"
 
-gnrc_pktsnip_t *gnrc_netif_hdr_build(uint8_t *src, uint8_t src_len, uint8_t *dst, uint8_t dst_len)
+gnrc_pktsnip_t *gnrc_netif_hdr_build(const uint8_t *src, uint8_t src_len,
+                                     const uint8_t *dst, uint8_t dst_len)
 {
     gnrc_pktsnip_t *pkt = gnrc_pktbuf_add(NULL, NULL,
                                           sizeof(gnrc_netif_hdr_t) + src_len + dst_len,