There is unfortunately no "formula" for tensor products in prime characteristic. Instead you can derive a list of composition factors $L(\lambda)$ (with multiplicity) by recursion. When $p=2$ there are only two simple modules with restricted highest weights (abbreviated by non-negative integers), namely the trivial module $L(0)$ of dimension 1 and the natural module $L(1)$ of dimension 2. After this you need to rely on Steinberg's twisted tensor product theorem relative to a $p$-adic expansion of the highest weight. For instance, $L(2) \cong L(1)^{(1)}$, the first Frobenius twist of the natural module (still having dimension 2).
In your specific example, the recursion is easy to carry out: peel off the composition factor of highest weight and see what weights remain. Here yuu are looking at the tensor product of the natural module $L(1)^{(1)}$ with the "induced" module $H^0(3)$ of dimension 4 as in Jnntzen's book (polynomials in two variables of homogeneous degree 3) which is actually simple when $p=2$, isomorphic to $L(1) \otimes L(1)^{(1)}$. (These factors are the respective Steinberg modules for the first and second Frobenius kernels.)
From the recursion one arrives at a list of composition factors (having total dimension 8): $L(1)^{(2)}, \: L(1)^{(1)} \text{ twice }, L(0)\: \text{ twice}.$
Here at least there is a recursive method, but getting the precise module structure can be quite tricky. In this special case, you might take advantage of the fact that you are tensoring with a projective module for a certain Frobenius kernel. But in general it's complicated even in rank 1.
ADDED: For some recent work on decomposition of tensor products into indecomposables, see for example a paper by Doty and Henke, Decomposition of tensor products of modular irreducibles for SL$_2$. Q. J. Math. 56 (2005), no. 2, 189-207 (preprint here). This involves tilting modules and their Frobenius twists.