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