Preheat the oven to 350°F (175°C).
Heat the olive oil in a large skillet over medium-high heat. Add the minced beef or veal and break up with a spoon; cook, stirring, until the meat changes color and most liquid has evaporated, about 5 minutes, then brown lightly.
Add the minced onion and crushed garlic and cook, stirring, until the onion is translucent.
Add the minced tomato and minced red bell pepper and cook for a couple of minutes, then stir in the tomato sauce. Season with 3 teaspoons salt and 1½ teaspoons pepper (or to taste). Reduce heat to low, cover, and simmer about 10 minutes until most liquid has evaporated.
Stir 4 tablespoons minced parsley into the meat mixture, remove from heat, and set aside.
Meanwhile, make the béchamel: melt 3 tablespoons butter in a medium saucepan over medium-low heat. Add 2 tablespoons flour all at once and stir vigorously to form a roux; cook 2–3 minutes until it changes color.
Slowly whisk in 2¼ cups milk a little at a time, stirring constantly to avoid lumps. Continue stirring for 2–3 minutes until the sauce thickens to a pourable, yogurt-like consistency. Season with the remaining 1 teaspoon salt and 1 teaspoon pepper (or to taste). Remove from heat and let cool to room temperature; it will thicken further as it cools.
Pour half of the béchamel into a lasagna or baking pan and spread evenly.
Fill each uncooked cannelloni tube with the meat filling using a small spoon, then arrange the filled tubes in the pan on top of the béchamel.
Pour the remaining béchamel over the cannelloni to cover them evenly. Cover the pan tightly with aluminum foil.
Bake covered for 30 minutes at 350°F (175°C). Remove the foil, sprinkle shredded mozzarella over the top, and broil or place under a hot oven element until the cheese is bubbly and golden in spots.
Remove from the oven, sprinkle with the remaining 4 tablespoons minced parsley, and serve.