examples: remove extra new line after link duplex
[dpdk.git] / examples / ipv4_multicast / main.c
index adab321..7e255c3 100644 (file)
@@ -138,27 +138,23 @@ struct mcast_group_params {
 };
 
 static struct mcast_group_params mcast_group_table[] = {
-               {IPv4(224,0,0,101), 0x1},
-               {IPv4(224,0,0,102), 0x2},
-               {IPv4(224,0,0,103), 0x3},
-               {IPv4(224,0,0,104), 0x4},
-               {IPv4(224,0,0,105), 0x5},
-               {IPv4(224,0,0,106), 0x6},
-               {IPv4(224,0,0,107), 0x7},
-               {IPv4(224,0,0,108), 0x8},
-               {IPv4(224,0,0,109), 0x9},
-               {IPv4(224,0,0,110), 0xA},
-               {IPv4(224,0,0,111), 0xB},
-               {IPv4(224,0,0,112), 0xC},
-               {IPv4(224,0,0,113), 0xD},
-               {IPv4(224,0,0,114), 0xE},
-               {IPv4(224,0,0,115), 0xF},
+               {RTE_IPV4(224,0,0,101), 0x1},
+               {RTE_IPV4(224,0,0,102), 0x2},
+               {RTE_IPV4(224,0,0,103), 0x3},
+               {RTE_IPV4(224,0,0,104), 0x4},
+               {RTE_IPV4(224,0,0,105), 0x5},
+               {RTE_IPV4(224,0,0,106), 0x6},
+               {RTE_IPV4(224,0,0,107), 0x7},
+               {RTE_IPV4(224,0,0,108), 0x8},
+               {RTE_IPV4(224,0,0,109), 0x9},
+               {RTE_IPV4(224,0,0,110), 0xA},
+               {RTE_IPV4(224,0,0,111), 0xB},
+               {RTE_IPV4(224,0,0,112), 0xC},
+               {RTE_IPV4(224,0,0,113), 0xD},
+               {RTE_IPV4(224,0,0,114), 0xE},
+               {RTE_IPV4(224,0,0,115), 0xF},
 };
 
-#define N_MCAST_GROUPS \
-       (sizeof (mcast_group_table) / sizeof (mcast_group_table[0]))
-
-
 /* Send burst of packets on an output interface */
 static void
 send_burst(struct lcore_queue_conf *qconf, uint16_t port)
@@ -280,7 +276,7 @@ mcast_send_pkt(struct rte_mbuf *pkt, struct rte_ether_addr *dest_addr,
 
        rte_ether_addr_copy(dest_addr, &ethdr->d_addr);
        rte_ether_addr_copy(&ports_eth_addr[port], &ethdr->s_addr);
-       ethdr->ether_type = rte_be_to_cpu_16(RTE_ETHER_TYPE_IPv4);
+       ethdr->ether_type = rte_be_to_cpu_16(RTE_ETHER_TYPE_IPV4);
 
        /* Put new packet into the output queue */
        len = qconf->tx_mbufs[port].len;
@@ -297,7 +293,7 @@ static inline void
 mcast_forward(struct rte_mbuf *m, struct lcore_queue_conf *qconf)
 {
        struct rte_mbuf *mc;
-       struct ipv4_hdr *iphdr;
+       struct rte_ipv4_hdr *iphdr;
        uint32_t dest_addr, port_mask, port_num, use_clone;
        int32_t hash;
        uint16_t port;
@@ -307,7 +303,7 @@ mcast_forward(struct rte_mbuf *m, struct lcore_queue_conf *qconf)
        } dst_eth_addr;
 
        /* Remove the Ethernet header from the input packet */
-       iphdr = (struct ipv4_hdr *)
+       iphdr = (struct rte_ipv4_hdr *)
                rte_pktmbuf_adj(m, (uint16_t)sizeof(struct rte_ether_hdr));
        RTE_ASSERT(iphdr != NULL);
 
@@ -317,7 +313,7 @@ mcast_forward(struct rte_mbuf *m, struct lcore_queue_conf *qconf)
         * Check that it is a valid multicast address and
         * we have some active ports assigned to it.
         */
-       if(!IS_IPV4_MCAST(dest_addr) ||
+       if (!RTE_IS_IPV4_MCAST(dest_addr) ||
            (hash = rte_fbk_hash_lookup(mcast_hash, dest_addr)) <= 0 ||
            (port_mask = hash & enabled_port_mask) == 0) {
                rte_pktmbuf_free(m);
@@ -555,7 +551,7 @@ init_mcast_hash(void)
                return -1;
        }
 
-       for (i = 0; i < N_MCAST_GROUPS; i ++){
+       for (i = 0; i < RTE_DIM(mcast_group_table); i++) {
                if (rte_fbk_hash_add_key(mcast_hash,
                        mcast_group_table[i].ip,
                        mcast_group_table[i].port_mask) < 0) {
@@ -575,6 +571,7 @@ check_all_ports_link_status(uint32_t port_mask)
        uint16_t portid;
        uint8_t count, all_ports_up, print_flag = 0;
        struct rte_eth_link link;
+       int ret;
 
        printf("\nChecking link status");
        fflush(stdout);
@@ -584,7 +581,14 @@ check_all_ports_link_status(uint32_t port_mask)
                        if ((port_mask & (1 << portid)) == 0)
                                continue;
                        memset(&link, 0, sizeof(link));
-                       rte_eth_link_get_nowait(portid, &link);
+                       ret = rte_eth_link_get_nowait(portid, &link);
+                       if (ret < 0) {
+                               all_ports_up = 0;
+                               if (print_flag == 1)
+                                       printf("Port %u link get failed: %s\n",
+                                               portid, rte_strerror(-ret));
+                               continue;
+                       }
                        /* print link status if flag set */
                        if (print_flag == 1) {
                                if (link.link_status)
@@ -592,7 +596,7 @@ check_all_ports_link_status(uint32_t port_mask)
                                        "Port%d Link Up. Speed %u Mbps - %s\n",
                                        portid, link.link_speed,
                                (link.link_duplex == ETH_LINK_FULL_DUPLEX) ?
-                                       ("full-duplex") : ("half-duplex\n"));
+                                       ("full-duplex") : ("half-duplex"));
                                else
                                        printf("Port %d Link Down\n", portid);
                                continue;
@@ -686,7 +690,12 @@ main(int argc, char **argv)
                qconf = &lcore_queue_conf[rx_lcore_id];
 
                /* limit the frame size to the maximum supported by NIC */
-               rte_eth_dev_info_get(portid, &dev_info);
+               ret = rte_eth_dev_info_get(portid, &dev_info);
+               if (ret != 0)
+                       rte_exit(EXIT_FAILURE,
+                               "Error during getting device (port %u) info: %s\n",
+                               portid, strerror(-ret));
+
                local_port_conf.rxmode.max_rx_pkt_len = RTE_MIN(
                    dev_info.max_rx_pktlen,
                    local_port_conf.rxmode.max_rx_pkt_len);
@@ -726,7 +735,12 @@ main(int argc, char **argv)
                                 "Cannot adjust number of descriptors: err=%d, port=%d\n",
                                 ret, portid);
 
-               rte_eth_macaddr_get(portid, &ports_eth_addr[portid]);
+               ret = rte_eth_macaddr_get(portid, &ports_eth_addr[portid]);
+               if (ret < 0)
+                       rte_exit(EXIT_FAILURE,
+                                "Cannot get MAC address: err=%d, port=%d\n",
+                                ret, portid);
+
                print_ethaddr(" Address:", &ports_eth_addr[portid]);
                printf(", ");
 
@@ -765,7 +779,11 @@ main(int argc, char **argv)
                        qconf->tx_queue_id[portid] = queueid;
                        queueid++;
                }
-               rte_eth_allmulticast_enable(portid);
+               ret = rte_eth_allmulticast_enable(portid);
+               if (ret < 0)
+                       rte_exit(EXIT_FAILURE,
+                               "rte_eth_allmulticast_enable: err=%d, port=%d\n",
+                               ret, portid);
                /* Start device */
                ret = rte_eth_dev_start(portid);
                if (ret < 0)