aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/qed/qed_nvmetcp_ip_services_if.h
blob: 3604aee53796a931d07d832a34fe5fe8f87189b9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */
/*
 * Copyright 2021 Marvell. All rights reserved.
 */

#ifndef _QED_IP_SERVICES_IF_H
#define _QED_IP_SERVICES_IF_H

#include <linux/types.h>
#include <net/route.h>
#include <net/ip6_route.h>
#include <linux/inetdevice.h>

int qed_route_ipv4(struct sockaddr_storage *local_addr,
		   struct sockaddr_storage *remote_addr,
		   struct sockaddr *hardware_address,
		   struct net_device **ndev);
int qed_route_ipv6(struct sockaddr_storage *local_addr,
		   struct sockaddr_storage *remote_addr,
		   struct sockaddr *hardware_address,
		   struct net_device **ndev);
void qed_vlan_get_ndev(struct net_device **ndev, u16 *vlan_id);
struct pci_dev *qed_validate_ndev(struct net_device *ndev);
void qed_return_tcp_port(struct socket *sock);
int qed_fetch_tcp_port(struct sockaddr_storage local_ip_addr,
		       struct socket **sock, u16 *port);
__be16 qed_get_in_port(struct sockaddr_storage *sa);

#endif /* _QED_IP_SERVICES_IF_H */