net/tap: restore state of remote device when closing
[dpdk.git] / examples / link_status_interrupt / main.c
index 9981598..d585789 100644 (file)
@@ -67,7 +67,6 @@
 #include <rte_debug.h>
 #include <rte_ether.h>
 #include <rte_ethdev.h>
-#include <rte_ring.h>
 #include <rte_mempool.h>
 #include <rte_mbuf.h>
 
@@ -117,7 +116,7 @@ static const struct rte_eth_conf port_conf = {
                .hw_ip_checksum = 0, /**< IP checksum offload disabled */
                .hw_vlan_filter = 0, /**< VLAN filtering disabled */
                .jumbo_frame    = 0, /**< Jumbo Frame Support disabled */
-               .hw_strip_crc   = 0, /**< CRC stripped by hardware */
+               .hw_strip_crc   = 1, /**< CRC stripped by hardware */
        },
        .txmode = {
                .mq_mode = ETH_MQ_TX_NONE,
@@ -452,7 +451,7 @@ lsi_parse_args(int argc, char **argv)
                argv[optind-1] = prgname;
 
        ret = optind-1;
-       optind = 0; /* reset getopt lib */
+       optind = 1; /* reset getopt lib */
        return ret;
 }
 
@@ -470,14 +469,16 @@ lsi_parse_args(int argc, char **argv)
  *  Pointer to(address of) the parameters.
  *
  * @return
- *  void.
+ *  int.
  */
-static void
-lsi_event_callback(uint8_t port_id, enum rte_eth_event_type type, void *param)
+static int
+lsi_event_callback(uint8_t port_id, enum rte_eth_event_type type, void *param,
+                   void *ret_param)
 {
        struct rte_eth_link link;
 
        RTE_SET_USED(param);
+       RTE_SET_USED(ret_param);
 
        printf("\n\nIn registered callback...\n");
        printf("Event type: %s\n", type == RTE_ETH_EVENT_INTR_LSC ? "LSC interrupt" : "unknown event");
@@ -489,6 +490,8 @@ lsi_event_callback(uint8_t port_id, enum rte_eth_event_type type, void *param)
                                ("full-duplex") : ("half-duplex"));
        } else
                printf("Port %d Link Down\n\n", port_id);
+
+       return 0;
 }
 
 /* Check the link status of all ports in up to 9s, and print them finally */
@@ -580,9 +583,6 @@ main(int argc, char **argv)
        if (nb_ports == 0)
                rte_panic("No Ethernet port - bye\n");
 
-       if (nb_ports > RTE_MAX_ETHPORTS)
-               nb_ports = RTE_MAX_ETHPORTS;
-
        /*
         * Each logical core is assigned a dedicated TX queue on each port.
         */