Hi Avatli,
can you please explain what exactly you are trying to do?
What is your overall goal? Which software do you want to use as GGSN/P-GW?
In case you assume that GTP is symmetric and that you can simply establish GTP tunnels with some command line tunnels between two linux machines: That's not the case.
GTP exists to dynamically manage [lots of] per-subscriber tunnels, all of which are represented within one GTP "link" by the kernel GTP module.
You always need a userspace application implementing the control plane instance (GTP-C v1 for GGSN, v2 for P-GW). And even with that, it always only implements the GGSN / P-GW side and not the SGSN / S-GW side.