I am 22 years old and am currently very underweight. I am 5ft 3 inches and weigh 6.7 stone (41kg). I am about 1 stone underweight. I am trying to gain on a paleo/ primal inspired diet however am struggling. I do take part in quite a lot of exercise per week as it makes me feel alive and keeps me happy, I really enjoy working out. I train 5-6 days a week mixing up cardio, weights, fitness classes, yoga and swimming. Generally 1 to 1.5 hour per day.
I have given an example of what I eat per day and wondered if anyone could advise me as to where im going right and wrong?

Breakfast- Egg and banana pancake (1 egg, 1 banana, teaspoon of flaxseed, teaspoon of coconut oil, cinnamon, tablespoon of natural yogurt)

(training/ gym workouts)

Mid morning- handful of mixed nuts and 1 apple

Lunch- chicken breast or 2 eggs or salmon fillet with mixed salad (lettuce, cucumber, tomatoes, sweetcorn, beetroot, avocado, broccoli, half sweet potato), teaspoon of olive oil and balsamic vinegar 1 gluten free oat cake.

Mid afternoon- fruit or carrot sticks

Dinner- Whole fish baked (sea bass, trout, mackerel, herring, salmon fillet), mixed vegetable, slow roasted tomato and butternut squash tagine with lots of herbs and spices. Homemade buckwheat flatbread (gluten free buckwheat flour and water.

Bed time snack- pot of natural yogurt with teaspoon of whey protein powder and 3 cashew nuts, few blueberries.

Please, help any advise?