Clarification about UEFI networking stack


Hello everyone,

I am thinking about writing better networking for UEFI Rust development. As
such, I was trying to understand the relation and availability of UNDI/NII,
SNP, MNP, TCP protocols, etc. What would be the best protocol to base the
networking stack on?

From this [1] documentation I found, it seems that as long as SNP is
implemented, MNP will be layered on top of SNP by firmware. So can I assume
that at least MNP will almost always be available if networking is present
in any form?

Yours Sincerely
Ayush Singh