in reply to
determine the name of a function that contains a specified string
The easiest way would be not to go back: Just search for ipconfig and sub in parallel. If you find a sub, just store the related function-name (as this is the function you are currently in). And if you find an ipconfig, just take that name.
You could also do a two-pass-reading: in the first pass you would read all functions that are defined in your file, and store their name and the line where they start. In the second pass you would search for your keyword, check the line where it occurs and use this to determine the function name.
You will of course still need to handle the case of your keywords occuring in strings, comments and so on...