code: func (h *Handle) LinkSetVfTxRate(link Link, vf, rate int) error {
  	base := link.Attrs()
  	h.ensureIndex(base)
  	req := h.newNetlinkRequest(unix.RTM_SETLINK, unix.NLM_F_ACK)
  
  	msg := nl.NewIfInfomsg(unix.AF_UNSPEC)
  	msg.Index = int32(base.Index)
  	req.AddData(msg)
  
  	data := nl.NewRtAttr(unix.IFLA_VFINFO_LIST, nil)
  	info := data.AddRtAttr(nl.IFLA_VF_INFO, nil)
  	vfmsg := nl.VfTxRate{
  		Vf:   uint32(vf),
  		Rate: uint32(rate),
  	}
  	info.AddRtAttr(nl.IFLA_VF_TX_RATE, vfmsg.Serialize())
  	req.AddData(data)
  
  	_, err := req.Execute(unix.NETLINK_ROUTE, 0)
  	return err
  }
docs: // LinkSetVfTxRate sets the tx rate of a vf for the link.
  // Equivalent to: `ip link set $link vf $vf rate $rate`