eal: introduce macro for always inline
[dpdk.git] / examples / l3fwd / l3fwd_em_hlm_sse.h
index ee0211f..d272f11 100644 (file)
@@ -36,9 +36,9 @@
 
 #include "l3fwd_sse.h"
 
-static inline __attribute__((always_inline)) void
+static __rte_always_inline void
 em_get_dst_port_ipv4x8(struct lcore_conf *qconf, struct rte_mbuf *m[8],
-               uint8_t portid, uint32_t dst_port[8])
+               uint8_t portid, uint16_t dst_port[8])
 {
        int32_t ret[8];
        union ipv4_5tuple_host key[8];
@@ -81,7 +81,7 @@ em_get_dst_port_ipv4x8(struct lcore_conf *qconf, struct rte_mbuf *m[8],
        const void *key_array[8] = {&key[0], &key[1], &key[2], &key[3],
                                &key[4], &key[5], &key[6], &key[7]};
 
-       rte_hash_lookup_multi(qconf->ipv4_lookup_struct, &key_array[0], 8, ret);
+       rte_hash_lookup_bulk(qconf->ipv4_lookup_struct, &key_array[0], 8, ret);
 
        dst_port[0] = (uint8_t) ((ret[0] < 0) ?
                        portid : ipv4_l3fwd_out_if[ret[0]]);
@@ -160,9 +160,9 @@ get_ipv6_5tuple(struct rte_mbuf *m0, __m128i mask0,
        key->xmm[2] = _mm_and_si128(tmpdata2, mask1);
 }
 
-static inline __attribute__((always_inline)) void
+static __rte_always_inline void
 em_get_dst_port_ipv6x8(struct lcore_conf *qconf, struct rte_mbuf *m[8],
-               uint8_t portid, uint32_t dst_port[8])
+               uint8_t portid, uint16_t dst_port[8])
 {
        int32_t ret[8];
        union ipv6_5tuple_host key[8];
@@ -179,7 +179,7 @@ em_get_dst_port_ipv6x8(struct lcore_conf *qconf, struct rte_mbuf *m[8],
        const void *key_array[8] = {&key[0], &key[1], &key[2], &key[3],
                        &key[4], &key[5], &key[6], &key[7]};
 
-       rte_hash_lookup_multi(qconf->ipv6_lookup_struct, &key_array[0], 8, ret);
+       rte_hash_lookup_bulk(qconf->ipv6_lookup_struct, &key_array[0], 8, ret);
 
        dst_port[0] = (uint8_t) ((ret[0] < 0) ?
                        portid : ipv6_l3fwd_out_if[ret[0]]);
@@ -232,7 +232,7 @@ em_get_dst_port_ipv6x8(struct lcore_conf *qconf, struct rte_mbuf *m[8],
 
 }
 
-static inline __attribute__((always_inline)) uint16_t
+static __rte_always_inline uint16_t
 em_get_dst_port(const struct lcore_conf *qconf, struct rte_mbuf *pkt,
                uint8_t portid)
 {
@@ -289,7 +289,7 @@ l3fwd_em_send_packets(int nb_rx, struct rte_mbuf **pkts_burst,
                uint8_t portid, struct lcore_conf *qconf)
 {
        int32_t j;
-       uint32_t dst_port[MAX_PKT_BURST];
+       uint16_t dst_port[MAX_PKT_BURST];
 
        /*
         * Send nb_rx - nb_rx%8 packets