On 01/18/2018 10:16 AM, Andrew Rybchenko wrote:
On 01/17/2018 08:33 PM, Thomas Monjalon wrote:
Hi, 2 comments below

11/01/2018 09:12, Andrew Rybchenko:
From: Ivan Malov <ivan.ma...@oktetlabs.ru>

+#define    RTE_RX_OFFLOAD_BIT2STR(_name)    \
+    { DEV_RX_OFFLOAD_##_name, #_name }
+
+static const struct {
+    uint64_t offload;
+    const char *name;
+} rte_rx_offload_names[] = {
+    RTE_RX_OFFLOAD_BIT2STR(VLAN_STRIP),
+    RTE_RX_OFFLOAD_BIT2STR(IPV4_CKSUM),
+    RTE_RX_OFFLOAD_BIT2STR(UDP_CKSUM),
+    RTE_RX_OFFLOAD_BIT2STR(TCP_CKSUM),
+    RTE_RX_OFFLOAD_BIT2STR(TCP_LRO),
+    RTE_RX_OFFLOAD_BIT2STR(QINQ_STRIP),
+    RTE_RX_OFFLOAD_BIT2STR(OUTER_IPV4_CKSUM),
+    RTE_RX_OFFLOAD_BIT2STR(MACSEC_STRIP),
+    RTE_RX_OFFLOAD_BIT2STR(HEADER_SPLIT),
+    RTE_RX_OFFLOAD_BIT2STR(VLAN_FILTER),
+    RTE_RX_OFFLOAD_BIT2STR(VLAN_EXTEND),
+    RTE_RX_OFFLOAD_BIT2STR(JUMBO_FRAME),
+    RTE_RX_OFFLOAD_BIT2STR(CRC_STRIP),
+    RTE_RX_OFFLOAD_BIT2STR(SCATTER),
+    RTE_RX_OFFLOAD_BIT2STR(TIMESTAMP),
+    RTE_RX_OFFLOAD_BIT2STR(SECURITY),
+};
+
+#undef RTE_RX_OFFLOAD_BIT2STR
Why this undef?

It is a constant-local macro with assumption to be used as

I mean context-local, sorry.

initializer of the corresponding structure. So, under is just to
limit its context and be sure that it is will not clash or be reused
most likely in a wrong way.

Reply via email to