Mixing 'b' and 'd' is very common and most children seem to get the difference between the two sorted in time. 't' and 'f' are visually very similar, so that is understandable at this stage, too.
If he doesn't show signs of 'growing out of' the b/d confusion try this (it works for reading and for writing);
Ask child to say /b/ and to note that saying the sound starts with mouth closed. The 'straight line' that the closed lips make can be related to the ascender of the letter 'b'. The mouth is then opened, which is the 'ball' of the letter. So, see the 'straight line' followed by the 'ball', it's 'closed mouth' followed by 'open mouth' = 'b'.
For 'd' the mouth positions are reversed as 'd' starts with the 'open mouth' (sadly, it doesn't handily end with a 'closed mouth', but nothing's perfect!).
I know that OP was just talking about reading, but just in case anyone has a child who reverses them when writing, this works for writing too, as 'b' is written 'closed mouth' first, while 'd' is written 'open mouth' first. If you make sure that the letter formation is always started on the line and emphasise that letters are always written from R to L, the child can't go wrong.. It's when they start at the top of the ascender, get to the bottom and then can't remember which way to go that the confusion with the written forms arises.
It is a bit complex to explain, but easy to put into practice and often more effective than the 'bed' thing that teachers are very attached to! It also works for p/q confusion.