X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fark%2Fark_global.h;h=6f9b3013d8ac5b6d30a13d3a3fc2bf5b73787f21;hb=fdefe038eb9b06e7716b42b7e187dfc85231df81;hp=41eb260e6e6da97bdc1e527514e193cbce6289f3;hpb=ffc905f3b856b96c6d8d864dba4052104fae4064;p=dpdk.git diff --git a/drivers/net/ark/ark_global.h b/drivers/net/ark/ark_global.h index 41eb260e6e..6f9b3013d8 100644 --- a/drivers/net/ark/ark_global.h +++ b/drivers/net/ark/ark_global.h @@ -1,34 +1,5 @@ -/*- - * BSD LICENSE - * - * Copyright (c) 2015-2017 Atomic Rules LLC - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of copyright holder nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright (c) 2015-2018 Atomic Rules LLC */ #ifndef _ARK_GLOBAL_H_ @@ -38,7 +9,7 @@ #include #include -#include +#include #include #include #include @@ -86,6 +57,23 @@ void *v; \ } name + +/* Extension hooks for extraction and placement of user meta data + * during RX an TX operations. These functions are the bridge + * between the mbuf struct and the tuser fields on the AXIS + * interfaces in the FPGA + */ +/* RX hook populates mbuf fields from user defined *meta up to 20 bytes */ +typedef void (*rx_user_meta_hook_fn)(struct rte_mbuf *mbuf, + const uint32_t *meta, + void *ext_user_data); +/* TX hook poplulate *meta, with up to 20 bytes. meta_cnt + * returns the number of uint32_t words populated, 0 to 5 + */ +typedef void (*tx_user_meta_hook_fn)(const struct rte_mbuf *mbuf, + uint32_t *meta, uint8_t *meta_cnt, + void *ext_user_data); + struct ark_user_ext { void *(*dev_init)(struct rte_eth_dev *, void *abar, int port_id); void (*dev_uninit)(struct rte_eth_dev *, void *); @@ -100,13 +88,17 @@ struct ark_user_ext { int (*stats_get)(struct rte_eth_dev *, struct rte_eth_stats *, void *); void (*stats_reset)(struct rte_eth_dev *, void *); void (*mac_addr_add)(struct rte_eth_dev *, - struct ether_addr *, + struct rte_ether_addr *, uint32_t, uint32_t, void *); void (*mac_addr_remove)(struct rte_eth_dev *, uint32_t, void *); - void (*mac_addr_set)(struct rte_eth_dev *, struct ether_addr *, void *); + void (*mac_addr_set)(struct rte_eth_dev *, struct rte_ether_addr *, + void *); int (*set_mtu)(struct rte_eth_dev *, uint16_t, void *); + /* user meta, hook functions */ + rx_user_meta_hook_fn rx_user_meta_hook; + tx_user_meta_hook_fn tx_user_meta_hook; }; struct ark_adapter {