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 it up with a spoon, stirring constantly until the meat changes color and all released liquid evaporates, then continue until lightly browned, about 5 minutes.
Add the minced onion and crushed garlic to the meat and cook, stirring, until the onion becomes translucent.
Stir in the minced tomato and minced red bell pepper and cook for 2–3 minutes.
Add the tomato sauce, 3 teaspoons salt and 1½ teaspoons pepper (or to taste), mix well, cover and simmer over low heat until nearly all the liquid has evaporated, about 10 minutes.
Stir the 4 tablespoons minced parsley into the meat mixture, remove from heat, and set the filling aside.
Make the béchamel: in a medium saucepan, melt the butter over medium-low heat. Add the flour all at once and stir vigorously for 2–3 minutes until the roux turns slightly golden.
Slowly pour in the milk while stirring constantly to avoid lumps. Continue stirring over medium-low heat for 2–3 minutes until the sauce thickens to a drinkable-yogurt consistency. Season with the remaining 1 teaspoon salt and 1 teaspoon pepper (or to taste), then remove from heat and let cool slightly.
Pour half of the béchamel into a lasagna or baking pan and spread it evenly to form a base layer.
Fill each uncooked cannelloni tube with the meat mixture using a small spoon. Arrange the filled cannelloni 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. Uncover, sprinkle the shredded mozzarella evenly over the top, and broil briefly until the cheese is bubbly and golden in spots.
Remove from the oven, sprinkle with the remaining minced parsley, and serve.