pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/35610?usp=email )
Change subject: WIP: Initial gtp tunnel implementation ......................................................................
WIP: Initial gtp tunnel implementation
Change-Id: I1cb5a88b714242d579aac22cc13a2474abb195c6 --- M Makefile M config/sys.config M debian/osmo-epdg.install M rebar.config M rebar.lock M src/osmo_epdg.app.src 6 files changed, 59 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/erlang/osmo-epdg refs/changes/10/35610/1
diff --git a/Makefile b/Makefile index 0470458..346ea91 100644 --- a/Makefile +++ b/Makefile @@ -23,3 +23,9 @@ else rm -f src/diameter_*.erl endif + +NETDEV=gtp0 + +pespin-test: + sudo ip link del $(NETDEV) || true + sudo rebar3 shell --config ./config/sys.config diff --git a/config/sys.config b/config/sys.config index 3f9d607..ce033ca 100755 --- a/config/sys.config +++ b/config/sys.config @@ -38,6 +38,27 @@ {gtpc_remote_port, 2123} ]}, %% =========================================== + %% gtp_u_kmod config + %% =========================================== + {gtp_u_kmod, [ + {sockets, [{grx, [{ip, {192,0,2,16}}, + %%{netdev, "grx"}, + freebind, + {vrf, [{routes, [{{10, 180, 0, 0}, 16}]}%%, + %%{netdev, "upstream"} + ] + } + ] + }] + } + ]}, + %% =========================================== + %% gen_socket config + %% =========================================== + {gen_socket, [ + {libdir, "_build/default/lib/gen_socket/priv/lib"} +]}, + %% =========================================== %% SASL config %% =========================================== {sasl, [{sasl_error_logger, false}]}, diff --git a/debian/osmo-epdg.install b/debian/osmo-epdg.install index 0840d06..62aec37 100644 --- a/debian/osmo-epdg.install +++ b/debian/osmo-epdg.install @@ -1,2 +1,3 @@ /contrib/systemd/osmo-epdg.service /lib/systemd/system/ /_build/default/bin/osmo-epdg /usr/bin/ +/_build/default/lib/gen_socket/priv/lib/gen_socket*.so /usr/lib/${DEB_HOST_MULTIARCH}/ diff --git a/rebar.config b/rebar.config index d834c32..35f17e3 100644 --- a/rebar.config +++ b/rebar.config @@ -5,6 +5,7 @@ {deps, [ {lager, {git, "https://github.com/erlang-lager/lager", {tag, "3.9.2"}}}, {gtplib, "3.2.0"}, + {gtp_u_kmod, {git, "https://github.com/osmocom/gtp_u_kmod", {branch, "pespin/master"}}}, {osmo_ss7, {git, "https://gitea.osmocom.org/erlang/osmo_ss7", {ref, "9f294d3612f998860004820d1d85b4264721577b"}}}, {osmo_gsup, {git, "https://gitea.osmocom.org/erlang/osmo_gsup", {ref, "07672d8ab1608aa9c9e50ca035521876558fcd42"}}} ]}. diff --git a/rebar.lock b/rebar.lock index 8f00ea6..d63ebd5 100644 --- a/rebar.lock +++ b/rebar.lock @@ -2,9 +2,25 @@ [{<<"cut">>,{pkg,<<"cut">>,<<"1.0.3">>},1}, {<<"epcap">>, {git,"https://github.com/msantos/epcap", - {ref,"d5c03caf608c1369e68cfed0a606d3eb82ddfd21"}}, + {ref,"b98edbfbb0392101cd874b098caa5180f2f44b2e"}}, 1}, + {<<"erlando">>, + {git,"https://github.com/travelping/erlando.git", + {ref,"2cb56e06308beb4d65ae2217a02dc60bafc99b9d"}}, + 1}, + {<<"gen_netlink">>, + {git,"https://github.com/osmocom/gen_netlink", + {ref,"b6a450f0f79df7d74814a031bc1b8f99f573979f"}}, + 1}, + {<<"gen_socket">>, + {git,"https://github.com/osmocom/gen_socket", + {ref,"35e11d6e2f6d87b02dcfc7507a9500bf7ca7329e"}}, + 2}, {<<"goldrush">>,{pkg,<<"goldrush">>,<<"0.1.9">>},1}, + {<<"gtp_u_kmod">>, + {git,"https://github.com/osmocom/gtp_u_kmod", + {ref,"5a4974b9f26985a0a0e5cb5423f8921f7a48083b"}}, + 0}, {<<"gtplib">>,{pkg,<<"gtplib">>,<<"3.2.0">>},0}, {<<"lager">>, {git,"https://github.com/erlang-lager/lager", @@ -12,7 +28,7 @@ 0}, {<<"osmo_gsup">>, {git,"https://gitea.osmocom.org/erlang/osmo_gsup", - {ref,"e23f118e6e8f7ee1247db34e4cb79e4cecdb0947"}}, + {ref,"07672d8ab1608aa9c9e50ca035521876558fcd42"}}, 0}, {<<"osmo_ss7">>, {git,"https://gitea.osmocom.org/erlang/osmo_ss7", @@ -20,7 +36,7 @@ 0}, {<<"parse_trans">>, {git,"https://github.com/uwiger/parse_trans", - {ref,"cdb01ba260ba9a00b2aafa17affead0f6fac081c"}}, + {ref,"d99fb36755c813a5db23e6f93741aa58323ef911"}}, 1}, {<<"pkt">>, {git,"https://github.com/msantos/pkt", diff --git a/src/osmo_epdg.app.src b/src/osmo_epdg.app.src index ec60bd2..4481df5 100644 --- a/src/osmo_epdg.app.src +++ b/src/osmo_epdg.app.src @@ -11,7 +11,8 @@ gtplib, diameter, osmo_gsup, - osmo_ss7 + osmo_ss7, + gtp_u_kmod ]}, {mod, {osmo_epdg_app, []}}, {env, []}