Am I over reacting?

So Wednesday my BF dropped me and my son of at work/nursery not long after my friend comes to me sand said she has just seen him smoking which he did a couple of years ago and I've had a few feelings he was doing it again but when is asked he bit my head off for asking so I never asked again but this time he's been caught again for the 3rd time. I sent him away to stay somewhere else that night. I've told him if he wanted to do it or got the feeling he needed too just to tell me and I wouldn't be bothered as he isn't lying about it, he's openly admitted he's done it for the past year and half. I no if I forgive him again he will just do it again behind my back and this time no one will see so I'm not going to no. My son is nearly 2 and we have another little boy due in November and each to their own but I don't want to be with someone who smokes and I certainly don't want my kid/kids around it. Am I over reacting not speaking to him?