This question already has an answer here:
I will have a flight from Boston (USA) to Hanoi (Vietnam) via Toronto (Canada). My first flight will be from Boston to Toronto with Air Canada (2h 45m transit), the second flight will be from Toronto to Tokyo with Air Canada (1h transit) and the last one will be from Tokyo to Hanoi with Vietnam Airlines.
I want to know if I need a Canadian visa just to transit in Canada without going out at the airport?
I have my US visa but it expired six months ago. My nationality is Vietnamese.