So far I've only got that $f(x) = x + 1 \qquad\forall x \in\mathbb{R}$ is probably the only solution, and that
Substitute (1,y): $f(f(y)+f(1))=y+2f(1) \implies f\text{ surjective}$
$f(x)=f(y) \implies f(f(x)+f(1))=f(f(y)+f(1)) \implies x+2f(1)=y+2f(1) \implies f \text{ injective}$
Let $c$ be such that $f(c)=0$.
Substitute (c,0): $f(cf(0)+f(c))=2f(c)+(0)(c)\implies f(cf(0))=f(c) \implies cf(0)=c \implies c=0 \text{ or } f(0)=1$
If $c=0$, $f(0)=0$. Substitute (x,0): $f(xf(0)+f(x))=2f(x)+x(0)\implies f(f(x))=2f(x) \implies f(y)=2y$ (since $\forall y, \exists x$ such that $f(x)=y$). But this fails when substituted back into the original equation. Hence $f(0)=1$
I've looked at the very similar $f(xf(y)−f(x))=2f(x)+xy$, but I still fail to solve this question without f being involutive ($f(f(x)) = x$)