mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/
synced 2026-04-17 22:23:45 -04:00
qed: Add IP services APIs support
This patch introduces APIs which the NVMeTCP Offload device (qedn) will use through the paired net-device (qede). It includes APIs for: - ipv4/ipv6 routing - get VLAN from net-device - TCP ports reservation Acked-by: Igor Russkikh <irusskikh@marvell.com> Signed-off-by: Nikolay Assa <nassa@marvell.com> Signed-off-by: Prabhakar Kushwaha <pkushwaha@marvell.com> Signed-off-by: Omkar Kulkarni <okulkarni@marvell.com> Signed-off-by: Michal Kalderon <mkalderon@marvell.com> Signed-off-by: Ariel Elior <aelior@marvell.com> Signed-off-by: Shai Malin <smalin@marvell.com> Reviewed-by: Hannes Reinecke <hare@suse.de> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
826da48614
commit
806ee7f81a
29
include/linux/qed/qed_nvmetcp_ip_services_if.h
Normal file
29
include/linux/qed/qed_nvmetcp_ip_services_if.h
Normal file
@@ -0,0 +1,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 */
|
||||
Reference in New Issue
Block a user