On 32-bit hosts and with CONFIG_DEBUG_LOCK_ALLOC we should be seeing a
lockdep splat indicating this seqcount is not correctly initialized, fix
that by using netdev_alloc_pcpu_stats() instead of an open coded
allocation.
Fixes: 459aa660eb1d ("gtp: add initial driver for datapath of GPRS Tunneling Protocol (GTP-U)")
Signed-off-by: Florian Fainelli <f.fainelli(a)gmail.com>
---
drivers/net/gtp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/gtp.c b/drivers/net/gtp.c
index 1542e837fdfa..f38e32a7ec9c 100644
--- a/drivers/net/gtp.c
+++ b/drivers/net/gtp.c
@@ -364,7 +364,7 @@ static int gtp_dev_init(struct net_device *dev)
gtp->dev = dev;
- dev->tstats = alloc_percpu(struct pcpu_sw_netstats);
+ dev->tstats = netdev_alloc_pcpu_stats(struct pcpu_sw_netstats);
if (!dev->tstats)
return -ENOMEM;
--
2.9.3
Hi,
I am currently working on building a GTP tunnel between two hosts. I used
two virtual machines to implement GTP tunnel. The machines have the kernel
4.8 since GTP is in mainline. (I just did 'modprobe gtp') I setup the
tunnel with libgtpnl tools.
What I would like to do is that I want to have GTP module in a kernel 3.18.
I did some google search and then I added the headers, libraries and the
source code to the source code of 3.18 to compile all the kernel, but it
didnt work. I am not experienced in kernel module programming or about the
consequences compiling GTP in previous kernels which have different
structural mechanisms than the 4.* versions.
Is there any way to achieve this? If so, how could it be possible to get
help from this community?
Thanks all,
Fırat
Hi,
I see that while adding decompression support dexter has fixed a bug in
the sndcp code. Before the GTP-U frame would include the LLC FCS and now
we do this:
npdu_len = (msg->data + msg->len) - npdu - 3;
What I wonder (and the commit message didn't say is) was the fragment
part handled as well. The calculation is:
/* make sure to subtract length of SNDCP header from 'len' */
rc = defrag_enqueue(sne, suh->seg_nr, data, len - (data - hdr));
and len is passed in from the TLV struct in gprs_llc_rcvmsg. I think the
fragmented case is working okay.
Shall we try to unify the length calculation to rely on the local "len"
variable instead of checking msg->data+msg->len?
cheers
holger
Hi,
I am currently working in a project where I was asked to implement a GTP
tunnel from client to company servers.
I have read through osmocom pages and tried to implement the simple network
structure. I have seen from Basic testing of openGGSN page:
" test GTP-U interoperability of the kernel with at least one other
implementation, not just kernel-to-kernel (which currently is not supported
in the kernel, as it only implements the GGSN/P-GW role) "
I would not like to implement openGGSN but just linux-kernel-gtp-u
implementation between two kernels.
To achieve kernel-to-kernel implementation, I found sgsn patch on the
internet:
https://patchwork.ozlabs.org/patch/739408/
and there is already a kernel-gtp-U in osmocom.
So, my basic network structure is below.
[image: Satır içi resim 2]
I would like make a tunnel between sgsn and ggsn. I have used libgtpnl
tools to create link and then tunnel. I have added a default gateway GTP
interface to route table on sgsn side, but the packets cannot reach ggsn
side.
Is there any detailed explanation for a simple bidirectional tunnel setup.
If so, it would be so nice to know about.
Thank you for all your efforts,
Fırat
Hi all,
the Osmocom Conference 2017 last week was an overwhelming success. We
received lots of positive feedback from all sides. Thanks to all the
speakers, to the attendees as well as to the anonymous sponsor of the
travel grant funds.
It is my great pleasure that due to the great support by C3VOC (The CCC
Video Operation Center), we have full recordings of all talks given at
OsmoCon 2017.
You can find the videos on the C3VOC site at
https://media.ccc.de/search/?q=osmocon
They are also linked individually from the OsmoCon 2017 homepage at
https://osmocom.org/projects/osmo-dev-con/wiki/OsmoCon2017
I hope the video recordings will be of help for everyone who could not
make it to the event in person.
We will also be collecting the slides and put them up on the wiki during
the next few days.
Please don't hesitate to raise any feedback and/or questions.
Technical feedback/questions regarding Osmocom software / projects
should be addressed to the appropriate mailing lists, such as
openbsc(a)lists.osmocom.org.
Feedback to the organizers should be sent to osmocon2017(a)sysmocom.de.
Looking forward to the next OsmoCon, which we'll expect to be spanning
ore than just a single day.
Regards,
Harald
--
- Harald Welte <laforge(a)gnumonks.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Hi Harald and Andreas,
I’m writing to inquiry about the development roadmap of the kernel gtp module. For example, is there any plan to support the following features soon
- lightweight tunnel
- ipv6
The openair-cn project I’m working on is a user of the kernel gtp module. I’m happy to help improve the kernel gtp support, so it’s good to first ask about the roadmap.
Regards,
-Jiannan
Hi everyone,
We're using kernel GTP developed by Osmocom on openair-cn. Turns out that we
are not able to connect an UE for longer than 20 seconds using an ZTE eNB
apparently because the GTP-U is not answering to the echo requests. As far I
know this response is supposed to be implemented but it is not answering. Do
you guys have any tips on this issue?
Thanks in advance,
Alandre
Hi All,
In current OAI implementation, we found that there are cases SPGW is out-of-sync with MME, because of the delete_session_request is not received by the SPGW because of some errors, however MME has cleared the state of that session. Then when the UE re-attaches, a new create_session_request is sent to SPGW; and because we try to allocate the same IP for the same IMSI (local change), the SPGW will result out in trying to update an existing GTP tunnel.
According to http://lxr.free-electrons.com/source/drivers/net/gtp.c#L937 and https://github.com/RoadRunnr/osmo-ggsn/blob/master/libgtnl/src/gtp-genl.c#L…, the NLM_F_EXCL flag is used to prevent updating an existing tunnel. I’m is wondering what is the reason of preventing updating?
While we are actively investigating sending delete_session_request properly, as temporary workaround, I’m thinking to recovery from the out-of-sync problem, we can allow the new GTP tunnel to overwrite the old one in libgtpnl. Your suggestions are welcomed. Thanks.
Regards,
-Jiannan