6. (51st Czech and Slovak Mathematical Olympiad (Final) Problem) Let $\mathrm{R}^{+}$ denote the set of positive real numbers. Find the function $f: \mathrm{R}^{+} \rightarrow \mathrm{R}^{+}$, such that for all $x, y \in \mathbf{R}$, we have $f(x f(y))=f(x y)+x$.
6. Replace $x$ in the original equation with $f(x)$, we get
$$
f(f(x) f(y))=f(f(x) y)+f(x).
$$

By swapping $x$ and $y$ in the original equation, we get
$$
f(y f(x))=f(y x)+y \text {, }
$$

Thus, $f(f(x) f(y))=f(y x)+y+f(x)$.
Swapping $x$ and $y$, the value on the left side remains unchanged, hence,
$$
f(y x)+y+f(x)=f(x y)+x+f(y),
$$

which implies $f(x)-x=f(y)-y$.
Therefore, $f(x)-x$ is a constant.
Let $f(x)=x+c$, where $c$ is a real number, and substitute it into the equation:
$$
\begin{array}{l}
f(x f(y))=x f(y)+c=x(y+c)+c=x y+c x+c, \\
f(x y)+x=x y+c+x .
\end{array}
$$

Thus, $c=1$. The function we seek is $f(x)=x+1$.