xref: /freebsd/sys/dev/ena/ena_datapath.h (revision 8d6806cd08c093fc001db1f94cf122368b8d1549)
138c7b965SMarcin Wojtas /*-
20835cc78SMarcin Wojtas  * SPDX-License-Identifier: BSD-2-Clause
338c7b965SMarcin Wojtas  *
4*8d6806cdSOsama Abboud  * Copyright (c) 2015-2024 Amazon.com, Inc. or its affiliates.
538c7b965SMarcin Wojtas  * All rights reserved.
638c7b965SMarcin Wojtas  *
738c7b965SMarcin Wojtas  * Redistribution and use in source and binary forms, with or without
838c7b965SMarcin Wojtas  * modification, are permitted provided that the following conditions
938c7b965SMarcin Wojtas  * are met:
1038c7b965SMarcin Wojtas  *
1138c7b965SMarcin Wojtas  * 1. Redistributions of source code must retain the above copyright
1238c7b965SMarcin Wojtas  *    notice, this list of conditions and the following disclaimer.
1338c7b965SMarcin Wojtas  *
1438c7b965SMarcin Wojtas  * 2. Redistributions in binary form must reproduce the above copyright
1538c7b965SMarcin Wojtas  *    notice, this list of conditions and the following disclaimer in the
1638c7b965SMarcin Wojtas  *    documentation and/or other materials provided with the distribution.
1738c7b965SMarcin Wojtas  *
1838c7b965SMarcin Wojtas  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1938c7b965SMarcin Wojtas  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
2038c7b965SMarcin Wojtas  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
2138c7b965SMarcin Wojtas  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
2238c7b965SMarcin Wojtas  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
2338c7b965SMarcin Wojtas  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
2438c7b965SMarcin Wojtas  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
2538c7b965SMarcin Wojtas  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
2638c7b965SMarcin Wojtas  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2738c7b965SMarcin Wojtas  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
2838c7b965SMarcin Wojtas  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2938c7b965SMarcin Wojtas  *
3038c7b965SMarcin Wojtas  */
3138c7b965SMarcin Wojtas 
3238c7b965SMarcin Wojtas #ifndef ENA_TXRX_H
3338c7b965SMarcin Wojtas #define ENA_TXRX_H
3438c7b965SMarcin Wojtas 
3502a2a7ceSMarcin Wojtas void ena_cleanup(void *arg, int pending);
3602a2a7ceSMarcin Wojtas void ena_qflush(if_t ifp);
3702a2a7ceSMarcin Wojtas int ena_mq_start(if_t ifp, struct mbuf *m);
3802a2a7ceSMarcin Wojtas void ena_deferred_mq_start(void *arg, int pending);
3938c7b965SMarcin Wojtas 
40eb4c4f4aSMarcin Wojtas #define CSUM_OFFLOAD (CSUM_IP | CSUM_TCP | CSUM_UDP)
412bbef9d9SDawid Gorecki #define CSUM6_OFFLOAD (CSUM_IP6_UDP | CSUM_IP6_TCP)
42eb4c4f4aSMarcin Wojtas 
4338c7b965SMarcin Wojtas #endif /* ENA_TXRX_H */
44