diff --git a/makefiles/pseudomodules.inc.mk b/makefiles/pseudomodules.inc.mk
index 8ca9125b0e..779125f8f3 100644
--- a/makefiles/pseudomodules.inc.mk
+++ b/makefiles/pseudomodules.inc.mk
@@ -87,7 +87,21 @@ PSEUDOMODULES += gcoap_dns
PSEUDOMODULES += gcoap_dns_proxied
## @}
PSEUDOMODULES += fido2_tests
-PSEUDOMODULES += gnrc_dhcpv6_%
+## @addtogroup net_dhcpv6_client
+## @{
+## @defgroup net_gnrc_dhcpv6_client gnrc_dhcpv6_client: Basic DHCPv6 client implementation in GNRC
+## @{
+PSEUDOMODULES += gnrc_dhcpv6_client
+## @}
+## @defgroup net_gnrc_dhcpv6_client_6lbr gnrc_dhcpv6_client_6lbr: Basic client for GNRC 6LoWPAN BRs
+## @{
+PSEUDOMODULES += gnrc_dhcpv6_client_6lbr
+## @}
+## @addtogroup net_dhcpv6_client_simple_pd
+## @{
+PSEUDOMODULES += gnrc_dhcpv6_client_simple_pd
+## @}
+## @}
PSEUDOMODULES += gnrc_ipv6_auto_subnets_auto_init
PSEUDOMODULES += gnrc_ipv6_auto_subnets_simple
PSEUDOMODULES += gnrc_ipv6_default
@@ -134,7 +148,79 @@ PSEUDOMODULES += gnrc_netif_single
PSEUDOMODULES += gnrc_netif_cmd_lora
## @}
PSEUDOMODULES += gnrc_netif_dedup
-PSEUDOMODULES += gnrc_nettype_%
+
+
+## @addtogroup net_gnrc_nettype
+## @{
+
+## @defgroup net_gnrc_nettype_ccn gnrc_nettype_ccn
+## @{
+## Enables @ref GNRC_NETTYPE_CCN and @ref GNRC_NETTYPE_CCN_CHUNK
+PSEUDOMODULES += gnrc_nettype_ccn
+## @}
+
+## @defgroup net_gnrc_nettype_gomac gnrc_nettype_gomac
+## @{
+## Enables @ref GNRC_NETTYPE_GOMACH
+PSEUDOMODULES += gnrc_nettype_gomach
+## @}
+
+## @defgroup net_gnrc_nettype_icmpv6 gnrc_nettype_icmpv6
+## Enables @ref GNRC_NETTYPE_ICMPV6.
+## @{
+PSEUDOMODULES += gnrc_nettype_icmpv6
+## @}
+
+## @defgroup net_gnrc_nettype_ipv6 gnrc_nettype_ipv6
+## Enables @ref GNRC_NETTYPE_IPV6.
+## @{
+PSEUDOMODULES += gnrc_nettype_ipv6
+## @}
+
+## @defgroup net_gnrc_nettype_ipv6_ext gnrc_nettype_ipv6_ext
+## @{
+## Enables @ref GNRC_NETTYPE_IPV6_EXT.
+PSEUDOMODULES += gnrc_nettype_ipv6_ext
+## @}
+
+## @defgroup net_gnrc_nettype_lorawan gnrc_nettype_lorawan
+## Enables @ref GNRC_NETTYPE_LORAWAN
+## @{
+PSEUDOMODULES += gnrc_nettype_lorawan
+## @}
+
+## @defgroup net_gnrc_nettype_lwmac gnrc_nettype_lwmac
+## Enables @ref GNRC_NETTYPE_LWMAC
+## @{
+PSEUDOMODULES += gnrc_nettype_lwmac
+## @}
+
+## @defgroup net_gnrc_nettype_ndn gnrc_nettype_ndn
+## Enables @ref GNRC_NETTYPE_NDN
+## @{
+PSEUDOMODULES += gnrc_nettype_ndn
+## @}
+
+## @defgroup net_gnrc_nettype_sixlowpan gnrc_nettype_sixlowpan
+## Enables @ref GNRC_NETTYPE_SIXLOWPAN
+## @{
+PSEUDOMODULES += gnrc_nettype_sixlowpan
+## @}
+
+## @defgroup net_gnrc_nettype_tcp gnrc_nettype_tcp
+## Enables @ref GNRC_NETTYPE_TCP
+## @{
+PSEUDOMODULES += gnrc_nettype_tcp
+## @}
+
+## @defgroup net_gnrc_nettype_udp gnrc_nettype_udp
+## Enables @ref GNRC_NETTYPE_UDP
+## @{
+PSEUDOMODULES += gnrc_nettype_udp
+## @}
+## @}
+
+
PSEUDOMODULES += gnrc_sixloenc
PSEUDOMODULES += gnrc_sixlowpan_border_router_default
PSEUDOMODULES += gnrc_sixlowpan_default
diff --git a/sys/include/net/gnrc/dhcpv6/client/simple_pd.h b/sys/include/net/gnrc/dhcpv6/client/simple_pd.h
index d532454e41..9f36780afa 100644
--- a/sys/include/net/gnrc/dhcpv6/client/simple_pd.h
+++ b/sys/include/net/gnrc/dhcpv6/client/simple_pd.h
@@ -7,8 +7,8 @@
*/
/**
- * @defgroup net_dhcpv6_client_simple_pd DHCPv6 client for simple prefix
- * delegation
+ * @defgroup net_dhcpv6_client_simple_pd gnrc_dhcpv6_client_simple_pd: DHCPv6 client for
+ * simple prefix delegation
* @ingroup net_dhcpv6_client
* @brief DHCPv6 client bootstrapping for prefix deligation with routers &
* 6LoWPAN border routers
diff --git a/sys/include/net/gnrc/nettype.h b/sys/include/net/gnrc/nettype.h
index 556970b030..3584ca4cd4 100644
--- a/sys/include/net/gnrc/nettype.h
+++ b/sys/include/net/gnrc/nettype.h
@@ -7,7 +7,7 @@
*/
/**
- * @defgroup net_gnrc_nettype Protocol type
+ * @defgroup net_gnrc_nettype gnrc_nettype: Protocol type
* @ingroup net_gnrc
* @brief Protocol type definitions and helper functions
*
@@ -15,8 +15,9 @@
* the @ref net_gnrc_netreg, and the @ref net_gnrc_pkt to identify network protocols
* throughout the network stack.
*
- * To include a nettype into your build, use the corresponding pseudo-module
- * e.g. to use `GNRC_NETTYPE_IPV6` in your code, use
+ *
+ * To include a nettype into your build, use the corresponding module of the same name in
+ * lower-case, e.g., to use @ref GNRC_NETTYPE_IPV6 in your code, use:
*
* ```
* USEMODULE += gnrc_nettype_ipv6
@@ -60,10 +61,6 @@ typedef enum {
GNRC_NETTYPE_NETIF = -1,
GNRC_NETTYPE_UNDEF = 0, /**< Protocol is undefined */
-#if IS_USED(MODULE_GNRC_NETTYPE_SIXLOWPAN) || defined(DOXYGEN)
- GNRC_NETTYPE_SIXLOWPAN, /**< Protocol is 6LoWPAN */
-#endif
-
/**
* @{
* @name Link layer
@@ -71,31 +68,21 @@ typedef enum {
#if IS_USED(MODULE_GNRC_NETTYPE_GOMACH) || defined(DOXYGEN)
GNRC_NETTYPE_GOMACH, /**< Protocol is GoMacH */
#endif
- /**
- * @}
- */
-
- /**
- * @{
- * @name Link layer
- */
#if IS_USED(MODULE_GNRC_NETTYPE_LWMAC) || defined(DOXYGEN)
GNRC_NETTYPE_LWMAC, /**< Protocol is lwMAC */
#endif
- /**
- * @}
- */
-
- /**
- * @{
- * @name Link layer
- */
#if IS_USED(MODULE_GNRC_NETTYPE_CUSTOM) || defined(DOXYGEN)
- GNRC_NETTYPE_CUSTOM, /**< Custom ethertype */
+ GNRC_NETTYPE_CUSTOM, /**< Custom ethertype */
+#endif
+ /** @} */
+
+#if IS_USED(MODULE_GNRC_NETTYPE_SIXLOWPAN) || defined(DOXYGEN)
+ GNRC_NETTYPE_SIXLOWPAN, /**< Protocol is 6LoWPAN */
+#endif
+
+#if IS_USED(MODULE_GNRC_NETTYPE_LORAWAN) || defined(DOXYGEN)
+ GNRC_NETTYPE_LORAWAN, /**< Protocol is LoRaWAN */
#endif
- /**
- * @}
- */
/**
* @{
@@ -110,9 +97,17 @@ typedef enum {
#if IS_USED(MODULE_GNRC_NETTYPE_ICMPV6) || defined(DOXYGEN)
GNRC_NETTYPE_ICMPV6, /**< Protocol is ICMPv6 */
#endif
- /**
- * @}
- */
+
+#if IS_USED(MODULE_GNRC_NETTYPE_CCN) || defined(DOXYGEN)
+ GNRC_NETTYPE_CCN, /**< Protocol is CCN */
+ GNRC_NETTYPE_CCN_CHUNK, /**< Protocol is CCN, packet contains a content
+ chunk */
+#endif
+
+#if IS_USED(MODULE_GNRC_NETTYPE_NDN) || defined(DOXYGEN)
+ GNRC_NETTYPE_NDN, /**< Protocol is NDN */
+#endif
+ /** @} */
/**
* @{
@@ -124,46 +119,27 @@ typedef enum {
#if IS_USED(MODULE_GNRC_NETTYPE_UDP) || defined(DOXYGEN)
GNRC_NETTYPE_UDP, /**< Protocol is UDP */
#endif
- /**
- * @}
- */
-
-#if IS_USED(MODULE_GNRC_NETTYPE_CCN) || defined(DOXYGEN)
- GNRC_NETTYPE_CCN, /**< Protocol is CCN */
- GNRC_NETTYPE_CCN_CHUNK, /**< Protocol is CCN, packet contains a content
- chunk */
-#endif
-
-#if IS_USED(MODULE_GNRC_NETTYPE_NDN) || defined(DOXYGEN)
- GNRC_NETTYPE_NDN, /**< Protocol is NDN */
-#endif
-
-#if IS_USED(MODULE_GNRC_NETTYPE_LORAWAN) || defined(DOXYGEN)
- GNRC_NETTYPE_LORAWAN, /**< Protocol is LoRaWAN */
-#endif
+ /** @} */
/**
* @{
* @name Testing
*/
#ifdef TEST_SUITES
- GNRC_NETTYPE_TEST,
+ GNRC_NETTYPE_TEST, /**< Usable with test vectors */
#endif
- /**
- * @}
- */
+ /** @} */
GNRC_NETTYPE_NUMOF, /**< maximum number of available protocols */
} gnrc_nettype_t;
/**
- * @brief Translates an Ether Type number to @ref net_gnrc_nettype
- * @see [IANA, ETHER TYPES]
- * (http://www.iana.org/assignments/ieee-802-numbers/ieee-802-numbers.xhtml)
+ * @brief Translates an Ether Type number to @ref gnrc_nettype_t
+ * @see [IANA, ETHER TYPES](http://www.iana.org/assignments/ieee-802-numbers/ieee-802-numbers.xhtml)
*
* @param[in] type An Ether Type number
*
- * @return The corresponding @ref net_gnrc_nettype to @p type.
+ * @return The corresponding @ref gnrc_nettype_t to @p type.
* @return @ref GNRC_NETTYPE_UNDEF if @p type not translatable.
*/
static inline gnrc_nettype_t gnrc_nettype_from_ethertype(uint16_t type)
@@ -195,9 +171,8 @@ static inline gnrc_nettype_t gnrc_nettype_from_ethertype(uint16_t type)
}
/**
- * @brief Translates @ref net_gnrc_nettype to an Ether Type number
- * @see [IANA, ETHER TYPES]
- * (http://www.iana.org/assignments/ieee-802-numbers/ieee-802-numbers.xhtml)
+ * @brief Translates @ref gnrc_nettype_t to an Ether Type number
+ * @see [IANA, ETHER TYPES](http://www.iana.org/assignments/ieee-802-numbers/ieee-802-numbers.xhtml)
*
* @param[in] type A protocol type
*
@@ -207,6 +182,10 @@ static inline gnrc_nettype_t gnrc_nettype_from_ethertype(uint16_t type)
static inline uint16_t gnrc_nettype_to_ethertype(gnrc_nettype_t type)
{
switch (type) {
+#if IS_USED(MODULE_GNRC_NETTYPE_CUSTOM)
+ case GNRC_NETTYPE_CUSTOM:
+ return ETHERTYPE_CUSTOM;
+#endif
#if IS_USED(MODULE_GNRC_SIXLOENC) && IS_USED(MODULE_GNRC_NETTYPE_SIXLOWPAN)
case GNRC_NETTYPE_SIXLOWPAN:
return ETHERTYPE_6LOENC;
@@ -222,10 +201,6 @@ static inline uint16_t gnrc_nettype_to_ethertype(gnrc_nettype_t type)
#if IS_USED(MODULE_GNRC_NETTYPE_NDN)
case GNRC_NETTYPE_NDN:
return ETHERTYPE_NDN;
-#endif
-#if IS_USED(MODULE_GNRC_NETTYPE_CUSTOM)
- case GNRC_NETTYPE_CUSTOM:
- return ETHERTYPE_CUSTOM;
#endif
default:
return ETHERTYPE_UNKNOWN;
@@ -233,14 +208,14 @@ static inline uint16_t gnrc_nettype_to_ethertype(gnrc_nettype_t type)
}
/**
- * @brief Translates a Protocol Number to @ref net_gnrc_nettype
+ * @brief Translates a Protocol Number to @ref gnrc_nettype_t
* @see
* IANA, Assigned Internet Protocol Numbers
*
*
* @param[in] num A Protocol Number
*
- * @return The corresponding @ref net_gnrc_nettype to @p num.
+ * @return The corresponding @ref gnrc_nettype_t to @p num.
* @return @ref GNRC_NETTYPE_UNDEF if @p num not translatable.
*/
static inline gnrc_nettype_t gnrc_nettype_from_protnum(uint8_t num)
@@ -278,7 +253,7 @@ static inline gnrc_nettype_t gnrc_nettype_from_protnum(uint8_t num)
}
/**
- * @brief Translates @ref net_gnrc_nettype to a Protocol Number
+ * @brief Translates @ref gnrc_nettype_t to a Protocol Number
* @see
* IANA, Assigned Internet Protocol Numbers
*
@@ -291,14 +266,14 @@ static inline gnrc_nettype_t gnrc_nettype_from_protnum(uint8_t num)
static inline uint8_t gnrc_nettype_to_protnum(gnrc_nettype_t type)
{
switch (type) {
-#if IS_USED(MODULE_GNRC_NETTYPE_ICMPV6)
- case GNRC_NETTYPE_ICMPV6:
- return PROTNUM_ICMPV6;
-#endif
#if IS_USED(MODULE_GNRC_NETTYPE_IPV6)
case GNRC_NETTYPE_IPV6:
return PROTNUM_IPV6;
#endif
+#if IS_USED(MODULE_GNRC_NETTYPE_ICMPV6)
+ case GNRC_NETTYPE_ICMPV6:
+ return PROTNUM_ICMPV6;
+#endif
#if IS_USED(MODULE_GNRC_NETTYPE_TCP)
case GNRC_NETTYPE_TCP:
return PROTNUM_TCP;
diff --git a/sys/net/gnrc/pktdump/gnrc_pktdump.c b/sys/net/gnrc/pktdump/gnrc_pktdump.c
index d5a8fb03e4..539af12f5a 100644
--- a/sys/net/gnrc/pktdump/gnrc_pktdump.c
+++ b/sys/net/gnrc/pktdump/gnrc_pktdump.c
@@ -50,91 +50,91 @@ static void _dump_snip(gnrc_pktsnip_t *pkt)
size_t hdr_len = 0;
switch (pkt->type) {
- case GNRC_NETTYPE_NETIF:
- printf("NETTYPE_NETIF (%i)\n", pkt->type);
- if (IS_USED(MODULE_GNRC_NETIF_HDR)) {
- gnrc_netif_hdr_print(pkt->data);
- hdr_len = pkt->size;
- }
- break;
- case GNRC_NETTYPE_UNDEF:
- printf("NETTYPE_UNDEF (%i)\n", pkt->type);
- break;
+ case GNRC_NETTYPE_NETIF:
+ printf("NETTYPE_NETIF (%i)\n", pkt->type);
+ if (IS_USED(MODULE_GNRC_NETIF_HDR)) {
+ gnrc_netif_hdr_print(pkt->data);
+ hdr_len = pkt->size;
+ }
+ break;
+ case GNRC_NETTYPE_UNDEF:
+ printf("NETTYPE_UNDEF (%i)\n", pkt->type);
+ break;
#if IS_USED(MODULE_GNRC_NETTYPE_SIXLOWPAN)
- case GNRC_NETTYPE_SIXLOWPAN:
- printf("NETTYPE_SIXLOWPAN (%i)\n", pkt->type);
- if (IS_USED(MODULE_SIXLOWPAN)) {
- sixlowpan_print(pkt->data, pkt->size);
- hdr_len = pkt->size;
- }
- break;
+ case GNRC_NETTYPE_SIXLOWPAN:
+ printf("NETTYPE_SIXLOWPAN (%i)\n", pkt->type);
+ if (IS_USED(MODULE_SIXLOWPAN)) {
+ sixlowpan_print(pkt->data, pkt->size);
+ hdr_len = pkt->size;
+ }
+ break;
#endif /* IS_USED(MODULE_GNRC_NETTYPE_SIXLOWPAN) */
+#if IS_USED(MODULE_GNRC_NETTYPE_LORAWAN)
+ case GNRC_NETTYPE_LORAWAN:
+ printf("NETTYPE_LORAWAN (%i)\n", pkt->type);
+ break;
+#endif /* IS_USED(MODULE_GNRC_NETTYPE_LORAWAN) */
#if IS_USED(MODULE_GNRC_NETTYPE_IPV6)
- case GNRC_NETTYPE_IPV6:
- printf("NETTYPE_IPV6 (%i)\n", pkt->type);
- if (IS_USED(MODULE_IPV6_HDR)) {
- ipv6_hdr_print(pkt->data);
- hdr_len = sizeof(ipv6_hdr_t);
- }
- break;
+ case GNRC_NETTYPE_IPV6:
+ printf("NETTYPE_IPV6 (%i)\n", pkt->type);
+ if (IS_USED(MODULE_IPV6_HDR)) {
+ ipv6_hdr_print(pkt->data);
+ hdr_len = sizeof(ipv6_hdr_t);
+ }
+ break;
#endif /* IS_USED(MODULE_GNRC_NETTYPE_IPV6) */
#if IS_USED(MODULE_GNRC_NETTYPE_IPV6_EXT)
- case GNRC_NETTYPE_IPV6_EXT:
- printf("NETTYPE_IPV6_EXT (%i)\n", pkt->type);
- break;
+ case GNRC_NETTYPE_IPV6_EXT:
+ printf("NETTYPE_IPV6_EXT (%i)\n", pkt->type);
+ break;
#endif /* IS_USED(MODULE_GNRC_NETTYPE_IPV6_EXT) */
#if IS_USED(MODULE_GNRC_NETTYPE_ICMPV6)
- case GNRC_NETTYPE_ICMPV6:
- printf("NETTYPE_ICMPV6 (%i)\n", pkt->type);
- if (IS_USED(MODULE_ICMPV6)) {
- icmpv6_hdr_print(pkt->data);
- hdr_len = sizeof(icmpv6_hdr_t);
- }
- break;
+ case GNRC_NETTYPE_ICMPV6:
+ printf("NETTYPE_ICMPV6 (%i)\n", pkt->type);
+ if (IS_USED(MODULE_ICMPV6)) {
+ icmpv6_hdr_print(pkt->data);
+ hdr_len = sizeof(icmpv6_hdr_t);
+ }
+ break;
#endif /* IS_USED(MODULE_GNRC_NETTYPE_ICMPV6) */
-#if IS_USED(MODULE_GNRC_NETTYPE_TCP)
- case GNRC_NETTYPE_TCP:
- printf("NETTYPE_TCP (%i)\n", pkt->type);
- if (IS_USED(MODULE_TCP)) {
- tcp_hdr_print(pkt->data);
- hdr_len = sizeof(tcp_hdr_t);
- }
- break;
-#endif /* IS_USED(MODULE_GNRC_NETTYPE_TCP) */
-#if IS_USED(MODULE_GNRC_NETTYPE_UDP)
- case GNRC_NETTYPE_UDP:
- printf("NETTYPE_UDP (%i)\n", pkt->type);
- if (IS_USED(MODULE_UDP)) {
- udp_hdr_print(pkt->data);
- hdr_len = sizeof(udp_hdr_t);
- }
- break;
-#endif /* IS_USED(MODULE_GNRC_NETTYPE_UDP) */
#if IS_USED(MODULE_GNRC_NETTYPE_CCN)
- case GNRC_NETTYPE_CCN_CHUNK:
- printf("GNRC_NETTYPE_CCN_CHUNK (%i)\n", pkt->type);
- printf("Content is: %.*s\n", (int)pkt->size, (char*)pkt->data);
- hdr_len = pkt->size;
- break;
+ case GNRC_NETTYPE_CCN_CHUNK:
+ printf("GNRC_NETTYPE_CCN_CHUNK (%i)\n", pkt->type);
+ printf("Content is: %.*s\n", (int)pkt->size, (char*)pkt->data);
+ hdr_len = pkt->size;
+ break;
#endif /* IS_USED(MODULE_GNRC_NETTYPE_CCN) */
#if IS_USED(MODULE_GNRC_NETTYPE_NDN)
case GNRC_NETTYPE_NDN:
printf("NETTYPE_NDN (%i)\n", pkt->type);
break;
#endif /* IS_USED(MODULE_GNRC_NETTYPE_NDN) */
-#if IS_USED(MODULE_GNRC_NETTYPE_LORAWAN)
- case GNRC_NETTYPE_LORAWAN:
- printf("NETTYPE_LORAWAN (%i)\n", pkt->type);
+#if IS_USED(MODULE_GNRC_NETTYPE_TCP)
+ case GNRC_NETTYPE_TCP:
+ printf("NETTYPE_TCP (%i)\n", pkt->type);
+ if (IS_USED(MODULE_TCP)) {
+ tcp_hdr_print(pkt->data);
+ hdr_len = sizeof(tcp_hdr_t);
+ }
break;
-#endif /* IS_USED(MODULE_GNRC_NETTYPE_LORAWAN) */
+#endif /* IS_USED(MODULE_GNRC_NETTYPE_TCP) */
+#if IS_USED(MODULE_GNRC_NETTYPE_UDP)
+ case GNRC_NETTYPE_UDP:
+ printf("NETTYPE_UDP (%i)\n", pkt->type);
+ if (IS_USED(MODULE_UDP)) {
+ udp_hdr_print(pkt->data);
+ hdr_len = sizeof(udp_hdr_t);
+ }
+ break;
+#endif /* IS_USED(MODULE_GNRC_NETTYPE_UDP) */
#ifdef TEST_SUITES
- case GNRC_NETTYPE_TEST:
- printf("NETTYPE_TEST (%i)\n", pkt->type);
- break;
+ case GNRC_NETTYPE_TEST:
+ printf("NETTYPE_TEST (%i)\n", pkt->type);
+ break;
#endif
- default:
- printf("NETTYPE_UNKNOWN (%i)\n", pkt->type);
- break;
+ default:
+ printf("NETTYPE_UNKNOWN (%i)\n", pkt->type);
+ break;
}
if (hdr_len < pkt->size) {
size_t size = pkt->size - hdr_len;