• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */
2 /*
3  * Copyright 2021 Marvell. All rights reserved.
4  */
5 
6 #ifndef _QED_IP_SERVICES_IF_H
7 #define _QED_IP_SERVICES_IF_H
8 
9 #include <linux/types.h>
10 #include <net/route.h>
11 #include <net/ip6_route.h>
12 #include <linux/inetdevice.h>
13 
14 int qed_route_ipv4(struct sockaddr_storage *local_addr,
15 		   struct sockaddr_storage *remote_addr,
16 		   struct sockaddr *hardware_address,
17 		   struct net_device **ndev);
18 int qed_route_ipv6(struct sockaddr_storage *local_addr,
19 		   struct sockaddr_storage *remote_addr,
20 		   struct sockaddr *hardware_address,
21 		   struct net_device **ndev);
22 void qed_vlan_get_ndev(struct net_device **ndev, u16 *vlan_id);
23 struct pci_dev *qed_validate_ndev(struct net_device *ndev);
24 void qed_return_tcp_port(struct socket *sock);
25 int qed_fetch_tcp_port(struct sockaddr_storage local_ip_addr,
26 		       struct socket **sock, u16 *port);
27 __be16 qed_get_in_port(struct sockaddr_storage *sa);
28 
29 #endif /* _QED_IP_SERVICES_IF_H */
30