To make the Cannelloni Filling: In a large skillet over medium heat, warm oil and saute ground beef with the onion, sage and rosemary; cook until meat is evenly browned and crumbly.
Add salt and 1/2 cup white wine; cook until wine is evaporated.
To make the Bechamel sauce: Melt 4 tablespoons butter in a medium saucepan over medium heat.
Add flour and stir until well incorporated. Stir in milk and bring to a slow boil until mixture thickens. Stir into the meat mixture and mix well. Stir in the mozzarella and egg yolks; set aside.
In a medium saucepan over medium-low heat, melt 2 tablespoons butter and saute onion until soft and translucent.
Add 1/2 cup white wine and let it cook down to evaporate; add tomato and salt.
Mix well; simmer for 15 minutes.
Bring a large pot of lightly salted water to a boil.
Add pasta, a few at a time, and cook for 8 to 10 minutes or until al dente; using a slotted spoon, remove immediately to a pot filled with cold water. Lift pasta out with slotted spoon and arrange on a flat surface.
Preheat oven to 400 degrees F (200 degrees C).
Spoon a line of filling into each shell, starting from one end and using your finger to push the filling inside of each shell. In a 9x13 inch baking dish, place cannelloni and cover with tomato mixture.
Bake in preheated oven for 15 minutes or until heated through; when finished baking, allow to stand for 5 minutes and serve.