Wash the cilantro well in a bowl full of water, swishing the greens and roots around until completely free of dirt. Remove the upper portion of the stems, and setting them aside for garnish.Cut the lemongrass off where the white base portion ends and discard the tops. Pound the lemongrass until they are cracked and open. Slice the shallots. Peel and cut the ginger into chunks. Tear the lime leaves into smaller pieces. Slice the mushrooms. Peel and smash the garlic.In a medium saucepan, place the coconut milk, cilantro roots, lemongrass, shallots, chili, ginger, sugar, lime leaves, and garlic. Bring to a very gentle simmer and cook for about 15 minutes, with a lid on.Strain soup through a sieve into another saucepan. Discard all solids. Add the sliced mushrooms, lime juice, fish sauce (or tamari) and water until it is the right consistency. You want the soup to be light but still creamy. Bring soup up to a light simmer again just to cook the mushrooms slightly. Do not boil. Season to taste and serve immediately with cilantro leaves, a slice of chili, extra lime and thinly sliced lime leaves. Serve with rice, if desired.