51
									
								
								vendor/github.com/vishvananda/netlink/rdma_link_linux.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										51
									
								
								vendor/github.com/vishvananda/netlink/rdma_link_linux.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -278,3 +278,54 @@ func (h *Handle) RdmaLinkSetNsFd(link *RdmaLink, fd uint32) error {
 | 
			
		||||
 | 
			
		||||
	return execRdmaSetLink(req)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// RdmaLinkDel deletes an rdma link
 | 
			
		||||
//
 | 
			
		||||
// Similar to: rdma link delete NAME
 | 
			
		||||
// REF: https://man7.org/linux/man-pages/man8/rdma-link.8.html
 | 
			
		||||
func RdmaLinkDel(name string) error {
 | 
			
		||||
	return pkgHandle.RdmaLinkDel(name)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// RdmaLinkDel deletes an rdma link.
 | 
			
		||||
func (h *Handle) RdmaLinkDel(name string) error {
 | 
			
		||||
	link, err := h.RdmaLinkByName(name)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	proto := getProtoField(nl.RDMA_NL_NLDEV, nl.RDMA_NLDEV_CMD_DELLINK)
 | 
			
		||||
	req := h.newNetlinkRequest(proto, unix.NLM_F_ACK)
 | 
			
		||||
 | 
			
		||||
	b := make([]byte, 4)
 | 
			
		||||
	native.PutUint32(b, link.Attrs.Index)
 | 
			
		||||
	req.AddData(nl.NewRtAttr(nl.RDMA_NLDEV_ATTR_DEV_INDEX, b))
 | 
			
		||||
 | 
			
		||||
	_, err = req.Execute(unix.NETLINK_RDMA, 0)
 | 
			
		||||
	return err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// RdmaLinkAdd adds an rdma link for the specified type to the network device.
 | 
			
		||||
// Similar to: rdma link add NAME type TYPE netdev NETDEV
 | 
			
		||||
//	NAME - specifies the new name of the rdma link to add
 | 
			
		||||
//	TYPE - specifies which rdma type to use.  Link types:
 | 
			
		||||
//		rxe - Soft RoCE driver
 | 
			
		||||
//		siw - Soft iWARP driver
 | 
			
		||||
//	NETDEV - specifies the network device to which the link is bound
 | 
			
		||||
//
 | 
			
		||||
// REF: https://man7.org/linux/man-pages/man8/rdma-link.8.html
 | 
			
		||||
func RdmaLinkAdd(linkName, linkType, netdev string) error {
 | 
			
		||||
	return pkgHandle.RdmaLinkAdd(linkName, linkType, netdev)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// RdmaLinkAdd adds an rdma link for the specified type to the network device.
 | 
			
		||||
func (h *Handle) RdmaLinkAdd(linkName string, linkType string, netdev string) error {
 | 
			
		||||
	proto := getProtoField(nl.RDMA_NL_NLDEV, nl.RDMA_NLDEV_CMD_NEWLINK)
 | 
			
		||||
	req := h.newNetlinkRequest(proto, unix.NLM_F_ACK)
 | 
			
		||||
 | 
			
		||||
	req.AddData(nl.NewRtAttr(nl.RDMA_NLDEV_ATTR_DEV_NAME, nl.ZeroTerminated(linkName)))
 | 
			
		||||
	req.AddData(nl.NewRtAttr(nl.RDMA_NLDEV_ATTR_LINK_TYPE, nl.ZeroTerminated(linkType)))
 | 
			
		||||
	req.AddData(nl.NewRtAttr(nl.RDMA_NLDEV_ATTR_NDEV_NAME, nl.ZeroTerminated(netdev)))
 | 
			
		||||
	_, err := req.Execute(unix.NETLINK_RDMA, 0)
 | 
			
		||||
	return err
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user