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 stir, breaking up clumps, until the meat changes color and released liquid evaporates; continue until lightly browned, about 5 minutes.
Add the minced onion and crushed garlic to the skillet and cook, stirring, until the onion is translucent.
Stir in the minced tomato and minced red bell pepper and cook for 2 minutes.
Add the tomato sauce and season with 3 teaspoons salt and 1½ teaspoons pepper (adjust to taste). Cover and simmer over low heat until most liquid has evaporated, about 10 minutes. Stir in 4 tablespoons minced parsley and set the filling aside.
Make the béchamel: melt the butter in a medium saucepan over medium-low heat. Add the flour all at once and stir vigorously to combine; cook, stirring, 2–3 minutes until the roux lightens slightly.
Slowly whisk in the milk, adding a little at a time and stirring constantly to avoid lumps. Once smooth, continue stirring over medium-low heat until the sauce thickens slightly, about 2–3 minutes. Season with 1 teaspoon salt and 1 teaspoon pepper (adjust to taste). Remove from heat and let cool to room temperature; it will thicken more as it cools.
Pour half of the béchamel into a lasagna baking pan and spread it evenly to coat the bottom.
Fill each uncooked cannelloni tube with the meat filling using a small spoon, then place the filled tubes in the baking 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. Remove the foil, sprinkle shredded mozzarella over the top, and broil briefly until the cheese is bubbly and golden in spots.
Remove from the oven, sprinkle with the remaining 4 tablespoons minced parsley, and serve.