aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mlx4
diff options
context:
space:
mode:
authorEugenia Emantayev <eugenia@mellanox.co.il>2011-12-12 23:16:21 -0500
committerDavid S. Miller <davem@davemloft.net>2011-12-13 13:56:07 -0500
commitffe455ad04681f3fc48eef595fe526a795f809a3 (patch)
treeba21abb4371d780357dd1a91810dd171ce3b05b2 /include/linux/mlx4
parent0ec2c0f86d31ab36547307f133b0016006bdc6b5 (diff)
mlx4: Ethernet port management modifications
The physical port is now common to the PF and VFs. The port resources and configuration is managed by the PF, VFs can only influence the MTU of the port, it is set as max among all functions, Each function allocates RX buffers of required size to meet it's MTU enforcement. Port management code was moved to mlx4_core, as the mlx4_en module is virtualization unaware Move handling qp functionality to mlx4_get_eth_qp/mlx4_put_eth_qp including reserve/release range and add/release unicast steering. Let mlx4_register/unregister_mac deal only with MAC (un)registration. Signed-off-by: Eugenia Emantayev <eugenia@mellanox.co.il> Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/mlx4')
-rw-r--r--include/linux/mlx4/device.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/include/linux/mlx4/device.h b/include/linux/mlx4/device.h
index e4be34a908a..3ef73b05e24 100644
--- a/include/linux/mlx4/device.h
+++ b/include/linux/mlx4/device.h
@@ -599,6 +599,10 @@ int mlx4_srq_query(struct mlx4_dev *dev, struct mlx4_srq *srq, int *limit_waterm
599int mlx4_INIT_PORT(struct mlx4_dev *dev, int port); 599int mlx4_INIT_PORT(struct mlx4_dev *dev, int port);
600int mlx4_CLOSE_PORT(struct mlx4_dev *dev, int port); 600int mlx4_CLOSE_PORT(struct mlx4_dev *dev, int port);
601 601
602int mlx4_unicast_attach(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16],
603 int block_mcast_loopback, enum mlx4_protocol prot);
604int mlx4_unicast_detach(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16],
605 enum mlx4_protocol prot);
602int mlx4_multicast_attach(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16], 606int mlx4_multicast_attach(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16],
603 int block_mcast_loopback, enum mlx4_protocol protocol); 607 int block_mcast_loopback, enum mlx4_protocol protocol);
604int mlx4_multicast_detach(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16], 608int mlx4_multicast_detach(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16],
@@ -609,9 +613,11 @@ int mlx4_unicast_promisc_add(struct mlx4_dev *dev, u32 qpn, u8 port);
609int mlx4_unicast_promisc_remove(struct mlx4_dev *dev, u32 qpn, u8 port); 613int mlx4_unicast_promisc_remove(struct mlx4_dev *dev, u32 qpn, u8 port);
610int mlx4_SET_MCAST_FLTR(struct mlx4_dev *dev, u8 port, u64 mac, u64 clear, u8 mode); 614int mlx4_SET_MCAST_FLTR(struct mlx4_dev *dev, u8 port, u64 mac, u64 clear, u8 mode);
611 615
612int mlx4_register_mac(struct mlx4_dev *dev, u8 port, u64 mac, int *qpn, u8 wrap); 616int mlx4_register_mac(struct mlx4_dev *dev, u8 port, u64 mac);
613void mlx4_unregister_mac(struct mlx4_dev *dev, u8 port, int qpn); 617void mlx4_unregister_mac(struct mlx4_dev *dev, u8 port, u64 mac);
614int mlx4_replace_mac(struct mlx4_dev *dev, u8 port, int qpn, u64 new_mac, u8 wrap); 618int mlx4_replace_mac(struct mlx4_dev *dev, u8 port, int qpn, u64 new_mac);
619int mlx4_get_eth_qp(struct mlx4_dev *dev, u8 port, u64 mac, int *qpn);
620void mlx4_put_eth_qp(struct mlx4_dev *dev, u8 port, u64 mac, int qpn);
615 621
616int mlx4_find_cached_vlan(struct mlx4_dev *dev, u8 port, u16 vid, int *idx); 622int mlx4_find_cached_vlan(struct mlx4_dev *dev, u8 port, u16 vid, int *idx);
617int mlx4_register_vlan(struct mlx4_dev *dev, u8 port, u16 vlan, int *index); 623int mlx4_register_vlan(struct mlx4_dev *dev, u8 port, u16 vlan, int *index);