First of all it is practically impossible to generate 10,00,00 users load from a single JMeter machine, no matter how powerful it is. For such kind of load may be you will need 20 machines or even more. But before we go into that.. you should ask yourself do you really need to test for 10,00,000 users? Is it a business requirement? So I recommend first you decide the realistic requirements for load testing as per the load you expect for application.
Secondly, if you are facing errors, it does not necessarily mean that there is bandwidth issue. These issues could be because of low CPU, memory as well.
I recommend you read answer in following questions that will help you finalize the hardware infrastructure that you need for JMeter load testing.
https://sqa.stackexchange.com/questions/15178/for-heavy-jmeter-scripts-what-type-of-servers-should-we-use-to-run-them