Determine all functions $f:\mathbb R\to\mathbb R$ such that equality
$$f(x + y + yf(x)) = f(x) + f(y) + xf(y)$$
holds for all real numbers $x$, $y$.

Proposed by Athanasios Kontogeorgis
1. **Initial Setup and Constant Solution**:
   Let \( P(x, y) \) be the assertion of the given functional equation:
   \[
   P(x, y): f(x + y + yf(x)) = f(x) + f(y) + xf(y)
   \]
   We first check if \( f(x) \equiv 0 \) is a solution. Substituting \( f(x) = 0 \) into the equation, we get:
   \[
   f(x + y + y \cdot 0) = f(x) + f(y) + x \cdot f(y) \implies 0 = 0 + 0 + x \cdot 0 \implies 0 = 0
   \]
   Thus, \( f(x) \equiv 0 \) is indeed a solution. We now assume \( f(x) \) is non-constant and proceed to find other possible solutions.

2. **Finding \( f(0) \)**:
   \[
   P(0, 0): f(0 + 0 + 0 \cdot f(0)) = f(0) + f(0) + 0 \cdot f(0) \implies f(0) = 2f(0) \implies f(0) = 0
   \]

3. **Non-zero \( f(g) \) leads to contradiction**:
   Assume \( f(g) = 0 \) for some \( g \neq 0 \). Then:
   \[
   P(g, y): f(g + y + yf(g)) = f(g) + f(y) + gf(y) \implies f(g + y) = f(y) + gf(y)
   \]
   Setting \( y = g \):
   \[
   f(2g) = f(g) + gf(g) = 0
   \]
   Now, using \( P(2g, y) \):
   \[
   f(2g + y + yf(2g)) = f(2g) + f(y) + 2gf(y) \implies f(2g + y) = f(y) + 2gf(y)
   \]
   Since \( f(2g) = 0 \):
   \[
   f(y) + 2gf(y) = f(y) + g^2f(y) + 2gf(y) \implies 0 = g^2f(y)
   \]
   Since \( g \neq 0 \), \( f(y) = 0 \) for all \( y \), which contradicts the assumption that \( f \) is non-constant. Hence, \( f(x) = 0 \iff x = 0 \).

4. **Injectivity of \( f \)**:
   \[
   P(x, \frac{a-x}{f(x)+1}): f\left(\frac{a-x}{f(x)+1}\right) = \frac{f(a) - f(x)}{x+1}
   \]
   If \( f(a) = f(b) \) and \( a \neq b \):
   \[
   f\left(\frac{a-b}{f(b)+1}\right) = 0 \implies a = b
   \]
   Thus, \( f \) is injective.

5. **Finding Specific Values**:
   \[
   P(-1, 1): f(f(-1)) = f(-1) \implies f(-1) = -1
   \]
   \[
   P(-2, -2): f(-4 - 2f(-2)) = 0 \implies f(-2) = -2
   \]
   \[
   P(1, -1): f(-a) = a - 2 \implies f(1) = 1
   \]

6. **Defining \( g(x) \)**:
   Define \( g(x) = f(x-1) + 1 \). Then:
   \[
   P(x-1, y): g(x + yg(x)) = g(x) + x(g(y+1) - 1)
   \]
   \[
   g(-x) = -g(x)
   \]
   \[
   g(2y) = 2g(y)
   \]

7. **Additivity and Multiplicativity**:
   \[
   g(a+1) + g(b+1) = g(a+b+2) \implies g(x) \text{ is additive}
   \]
   \[
   g(yg(x)) = x(g(y+1) - 1) \implies g(y) = g(yg(1)) = g(y+1) - 1
   \]
   \[
   f(xy) = f(x)f(y)
   \]

8. **Conclusion**:
   Since \( f \) is both additive and multiplicative, the only non-constant solution is \( f(x) = x \).

The final answer is \( \boxed{f(x) \equiv x} \).