Commit graph

831 commits

Author SHA1 Message Date
Sukchan Lee
46c699143a IPv6 Control Plane done 2017-12-14 21:42:19 +09:00
Sukchan Lee
1864509cbb ICMPv6 is implemented. But kernel didn't send ping6 reply. Sigh! 2017-12-14 04:01:56 +00:00
Sukchan Lee
79ec7d8bc0 default configuration is changed for packaging.
Even though nextepc can support link-local address, User may not want to
setup link-local address automatically. So we remove link-link address
in default configuration
2017-12-14 10:33:03 +09:00
Sukchan Lee
cb59525ca4 FreeBSD IPv6 TUN is not working. IPv6 IP/Rount Setting is all rollbacked 2017-12-14 07:26:32 +09:00
Sukchan Lee
fc9b182e55 delete reduant routing table 2017-12-13 21:43:13 +09:00
Sukchan Lee
bd94d695be IPv6 setting done.. but IPv6 routining table update is not working. 2017-12-13 20:22:52 +09:00
Sukchan Lee
b7fb6c6117 temporal update 2017-12-13 16:07:12 +09:00
Sukchan Lee
6cd9e965a1 Tun IPv4 is done 2017-12-13 12:20:02 +09:00
Sukchan Lee
54636e1843 IPv4 Pool done 2017-12-12 23:50:38 +09:00
Sukchan Lee
989de209d0 configuration is updated 2017-12-12 17:00:32 +09:00
Sukchan Lee
85f6bd6826 fix the warning for freeDiameter 2017-12-11 21:44:27 +09:00
Sukchan Lee
0347f05f9b rollback 2017-12-11 21:30:32 +09:00
Sukchan Lee
31dd8b0f8c add -Wno-format-truncate CFLAGS in freeDiameter library 2017-12-11 21:01:01 +09:00
Sukchan Lee
95b2f5a951 minor update 2017-12-11 09:00:44 +00:00
Sukchan Lee
5551ecf6cd TAI List encoding done in Attach Accept 2017-12-11 16:08:17 +09:00
Sukchan Lee
521d7877b4 Multiple TAI list
Configuration Parer, Message Build is added
2017-12-11 00:01:02 +09:00
Sukchan Lee
ce801ee218 dev is added in the configuration 2017-12-09 23:07:19 +09:00
Sukchan Lee
b04c7393f2 fix the bug 2017-12-09 09:50:12 +00:00
Sukchan Lee
15c3827ca9 improve test code for no_ipv4 flags 2017-12-09 18:21:22 +09:00
Sukchan Lee
fc4a89b678 fix the memory lean when auto-detect interface case 2017-12-09 04:02:00 +00:00
Sukchan Lee
d70701361f refine test program for testing dual ipv4/v6 stack 2017-12-09 12:30:46 +09:00
Sukchan Lee
e8e6836ab8 add initial context setup response encoder for generating IPv6 packet 2017-12-08 23:58:50 +09:00
Sukchan Lee
9b5234bd5f change link local address 2017-12-08 20:25:34 +09:00
Sukchan Lee
23c5e1040a Merge branch 'ipv6' of http://github.com/acetcom/nextepc into ipv6 2017-12-08 07:17:08 +00:00
Sukchan Lee
26fc43f6cb add mutex 2017-12-08 07:16:43 +00:00
Sukchan Lee
f4c4dbe55d ignore unknown message 2017-12-08 15:48:25 +09:00
Sukchan Lee
681a488ade Merge branch 'ipv6-mac' into ipv6 2017-12-08 05:36:03 +00:00
Sukchan Lee
a0599f7c2d S1AP MAC is done 2017-12-08 14:29:35 +09:00
Sukchan Lee
126c8b4e11 fix the bug 2017-12-07 11:45:54 +00:00
Sukchan Lee
3e05717180 transport layer convertor is added 2017-12-07 16:51:21 +09:00
Sukchan Lee
590630b839 ip_t is introduced 2017-12-07 15:04:35 +09:00
Sukchan Lee
6d412139ef update gtp_f_teid_t 2017-12-07 14:48:25 +09:00
Sukchan Lee
48cdb1e390 merge 3gpp library to core library 2017-12-07 14:37:58 +09:00
Sukchan Lee
717439cafa remove old_addr 2017-12-07 13:47:07 +09:00
Sukchan Lee
03a6bb7902 SGW/PGW GTP-U is added 2017-12-07 13:27:17 +09:00
Sukchan Lee
d2dcf4a877 GTP-U reomte done 2017-12-06 23:42:37 +09:00
Sukchan Lee
397f37cbb7 refine it 2017-12-06 20:52:32 +09:00
Sukchan Lee
82b84d760c refine it 2017-12-06 17:58:38 +09:00
Sukchan Lee
1c587edff5 no_ipv4, no_ipv6, prefer_ipv4 is tested 2017-12-06 12:13:56 +09:00
Sukchan Lee
9d3049de00 remove POINTTOPOINT interface in probe ip address 2017-12-05 14:30:09 +00:00
Sukchan Lee
5ebc0c0b0d add script 2017-12-05 22:51:50 +09:00
Sukchan Lee
1ab90bcef4 name changes 2017-12-05 20:42:14 +09:00
Sukchan Lee
a7690e395b refine it 2017-12-05 20:39:15 +09:00
Sukchan Lee
c4c03da77f refine 2017-12-05 14:27:24 +09:00
Sukchan Lee
5663cd87c1 SGW GTP-C Client is added 2017-12-05 13:28:34 +09:00
Sukchan Lee
fe921e0c2f refine ipv6 2017-12-05 10:50:31 +09:00
Sukchan Lee
63fb6625b3 multiple addresss is added 2017-12-05 00:16:34 +09:00
Sukchan Lee
410133bf68 core_copyaddrinfo is introduced 2017-12-04 19:45:02 +09:00
Sukchan Lee
609aa4558f name changes 2017-12-03 22:25:31 +09:00
Sukchan Lee
97c7ad63b6 fix the PGW peer configuration bug 2017-12-03 21:34:39 +09:00
Sukchan Lee
17b6a013b8 parameter.prefer_ipv4 is implemented 2017-12-03 16:31:53 +09:00
Sukchan Lee
2c00f28b50 MME GTP Client is done 2017-12-02 15:49:03 +09:00
Sukchan Lee
ce5b65b4df gtp node is added 2017-12-02 14:17:32 +09:00
Sukchan Lee
3ae058dc63 gtp_node_t memset is added 2017-12-02 12:01:43 +09:00
Sukchan Lee
4a2604b52c name changes 2017-12-02 10:50:24 +09:00
Sukchan Lee
c300d2b99a MME GTPC Server done 2017-12-02 00:44:07 +09:00
Sukchan Lee
8287db900c update it 2017-12-01 22:04:51 +09:00
Sukchan Lee
7e0ce073fb mme gtp config is added 2017-12-01 21:47:15 +09:00
Sukchan Lee
b6b39c9dad socknode_filter_family is added 2017-12-01 20:27:56 +09:00
Sukchan Lee
71b58e7724 tcp/udp interface is changed 2017-12-01 17:39:28 +09:00
Sukchan Lee
d874ec5b48 remove type 2017-12-01 16:30:14 +09:00
Sukchan Lee
5cebb48bc6 socknode_getifaddrs_to_list is added 2017-12-01 15:56:56 +09:00
Sukchan Lee
c6623a277a fix the bug 2017-12-01 20:59:57 +09:00
Sukchan Lee
fee05d3764 socknode is added 2017-12-01 11:34:34 +09:00
Sukchan Lee
5a818eb8cd gtp_node is added 2017-11-30 20:13:15 +09:00
Sukchan Lee
4baf7ece46 core_getifaddrs is introduced.
IP address of all interfaces is automatically retrived.
But, some interface will be discarded.
 - unspcified IP address
 - loopback address
 - IPv6 multicast
 - IPv6 link-local
 - IPv6 site-local
2017-11-29 22:04:56 +09:00
Sukchan Lee
aaa57d3008 name changes 2017-11-27 15:45:33 +09:00
Sukchan Lee
4f722f2807 update it 2017-11-26 08:54:47 +09:00
Sukchan Lee
82112f5678 update it 2017-11-25 14:47:33 +00:00
Sukchan Lee
7eceefb0f2 update it 2017-11-25 14:46:31 +00:00
Sukchan Lee
40c99a8c13 name changes done 2017-11-25 23:41:00 +09:00
Sukchan Lee
92fc35861f name changes 2017-11-25 23:28:34 +09:00
Sukchan Lee
61432a3070 mme->s1ap_sock is removed 2017-11-25 00:52:07 +09:00
Sukchan Lee
23fa36bc23 name changes 2017-11-24 15:04:45 +00:00
Sukchan Lee
b2620caf26 set the hostname is NULL 2017-11-24 11:48:24 +00:00
Sukchan Lee
5a8d169ba1 remove AI_PASSIVE if hostname is NULL 2017-11-24 20:45:51 +09:00
Sukchan Lee
62afe724ed Oops! mistake 2017-11-24 19:02:19 +09:00
Sukchan Lee
685272fce8 improve usrsctp 2017-11-23 23:01:49 +09:00
Sukchan Lee
859d6427fd enb->addr is changes to pointer 2017-11-23 21:05:55 +09:00
Sukchan Lee
227cae5762 S1AP changes from net_lib to new socket library 2017-11-23 02:53:33 +00:00
Sukchan Lee
65b7008378 fix the tun driver bugs 2017-11-23 00:42:28 +09:00
Sukchan Lee
2f49e6024d gtp's net_sock_t to sock_id. GTP-U is failed 2017-11-23 00:19:28 +09:00
Sukchan Lee
b1023fac1d port to linux 2017-11-22 14:11:47 +00:00
Sukchan Lee
cfc352ea0d remove c_sa_len 2017-11-22 22:55:28 +09:00
Sukchan Lee
a27f294f74 TUN driver is added 2017-11-22 22:32:57 +09:00
Sukchan Lee
e44e613ff2 s1ap structure changes from net_sock_t to sock_id 2017-11-22 21:50:08 +09:00
Sukchan Lee
38a5ad3c68 remove port from gtp_node_t 2017-11-22 20:35:45 +09:00
Sukchan Lee
ce827fe733 change address type from c_uint32_t to c_sockaddr_t 2017-11-22 19:51:06 +09:00
Sukchan Lee
1928da0557 c_sa_len, c_sa_family, c_sa_port is introduced 2017-11-22 06:21:26 +00:00
Sukchan Lee
9c593a2757 Oops! mistake.. Use sock library for connect/bind socket function 2017-11-22 15:09:21 +09:00
Sukchan Lee
0fb47c499f fix the freebsd segmenation fault error 2017-11-22 01:56:51 +09:00
Sukchan Lee
5bf84f3b62 local_addr/remote_addr is added 2017-11-21 15:28:23 +09:00
Sukchan Lee
7151a98f41 GTP Peer Node finding method is changed.
Before : received IP address from UDP socket
After : Based on TEID. Initially, finding from Sender F-TEID
2017-11-21 14:52:07 +09:00
Sukchan Lee
5778fb6cbc core_inet_pton is added 2017-11-19 12:56:48 +00:00
Sukchan Lee
ef3bb2e368 sctp_connect is added 2017-11-19 07:21:29 +00:00
Sukchan Lee
376f7c1304 udp connect function is added for bind & connect behavior 2017-11-19 08:27:20 +09:00
Sukchan Lee
1238f31178 update getaddrinfo if hostname is NULL 2017-11-19 07:57:41 +09:00
Sukchan Lee
f186ec93dd previous archi is failed in FreeBSD OS
re-architecture socket library
2017-11-18 12:55:44 +00:00
Sukchan Lee
113cbd0e9e minor fix 2017-11-16 13:45:49 +00:00
Sukchan Lee
6db21f54c1 c_sockaddr_t is created for supporting both IPv4 and IPv6 address. 2017-11-16 12:49:07 +00:00
Sukchan Lee
a4d1bae083 SCTP library is initially added 2017-11-16 10:46:25 +00:00
Sukchan Lee
7c505f917a minor update 2017-11-16 01:51:05 +00:00
Sukchan Lee
e521d75e7a tcp/udp bug is fixed 2017-11-15 15:17:55 +00:00
Sukchan Lee
221fd81bb2 fix the linux compile error 2017-11-15 14:38:51 +00:00
Sukchan Lee
068d049a9f IPv6 project is started.
1. Remove thread lock in select loop.
2. Nonblocking will be used in select loop for good performance.
3. Connection mode for UDP socket & SCTP(SEQPACKET)

More test is needed.
2017-11-15 22:59:30 +09:00
Sukchan Lee
12ae140185 reduant code 2017-11-10 11:23:55 +09:00
Sukchan Lee
f839fd93b7 Control Plane and Data Plane Thread is merged to One thread in SGW/PGW
- for protecting context, SGW/PGW is implemented with only one thread.
- In PGW, processing control plane could be delayed +10ms when diameter
thread sends message queue to the PGW control plane.
- In other case, all performance may be same with previous architecture.
2017-11-10 00:38:05 +00:00
Sukchan Lee
cd59df5011 just minor update 2017-11-09 14:56:03 +09:00
Sukchan Lee
11df912058 remove jsmn library.
jsmn library is very simple, but it is difficult to handle configuration
josn.
I changed json to libbson library. I think it is more maintainable.
2017-11-09 00:05:18 +09:00
Sukchan Lee
4e0abf8775 remove static object in library 2017-11-08 00:00:57 +09:00
Sukchan Lee
5361934469 change the libbase to lib3gpp 2017-11-07 14:20:35 +00:00
Sukchan Lee
6e00fd349c seperate libbase to the libapp 2017-11-07 14:01:27 +00:00
Sukchan Lee
3778e47bdc add version-info in shared library
I'll just set all version to 1:0:0 at this point
2017-11-07 12:41:20 +00:00
Sukchan Lee
e63fa44fff all library is changed to shared library 2017-11-06 13:32:37 +00:00
Sukchan Lee
f4a47e30c7 support relative path of freeDiameter 2017-11-06 13:02:36 +00:00
Sukchan Lee
1941c8b729 freediameter extensions installation path is changed to
'${libdir}/nextepc/freeDiameter'
2017-11-06 11:36:07 +00:00
Sukchan Lee
8b916d15f4 move fd/extensions to freeDiameter-1.2.1/extensions 2017-11-06 10:14:14 +00:00
Sukchan Lee
4ef15728a0 merge libcore/libcoreunix to libcore
merge libfd/libfdx/libfds6a to libfd
2017-11-06 08:32:19 +00:00
Sukchan Lee
bfbb98fc1f fix the dependency error 2017-11-06 00:08:06 +09:00
Sukchan Lee
5cc56ab353 change shared library 2017-11-05 14:57:19 +00:00
Sukchan Lee
1b0536dca0 change all library from static to shared library 2017-11-05 17:13:50 +09:00
Sukchan Lee
0d13c26307 change the freeDiameter library from static to the shared library 2017-11-05 16:20:52 +09:00
Sukchan Lee
cd2df5d894 add dlopen library search 2017-11-04 11:03:18 +09:00
Sukchan Lee
d87383be69 Oops! remove dependpency lib 2017-11-04 10:34:02 +09:00
Sukchan Lee
d851d03925 Merge branch 'dep' of https://github.com/acetcom/nextepc into dep
fix the conflict
2017-11-04 10:24:24 +09:00
Sukchan Lee
d092c329da rollback..Mac OSX is not working if we link libfdore/proto to the shared
object.
2017-11-04 10:23:07 +09:00
Sukchan Lee
4345398ca2 fix the warning of dh_shdeplibs 2017-11-03 15:36:24 +00:00
Sukchan Lee
d2cf6821b8 fix the library dependency 2017-11-03 21:55:20 +09:00
Sukchan Lee
081f8c8808 MongoDB re-connect using systemd 2017-10-31 12:29:39 +00:00
Sukchan Lee
46b403c43d all running error is fixed 2017-10-31 09:32:18 +09:00
James Park
b060ea1714 Add sleep so that server is ready to accept connection. 2017-10-30 15:26:30 -07:00
Sukchan Lee
f627565696 Upload Launchpad PPA for Ubuntu 17.10 i386 2017-10-30 13:34:17 +00:00
Sukchan Lee
badc1f2da3 fix compile error 2017-10-30 10:39:05 +00:00
Sukchan Lee
10cda2cfd7 exclude TCP test in testnetlib because sometimes this test is failed as
follows.

 OpenSUSE OBS
 - Ubuntu 17.04 i586 failed

[  542s] testnetlib          :  Line 262: expected <0>, but saw <-1>
[  542s] [10/30 07:48:38.730] ERRR: connect error(111:Connection refused)(proto:6 remote:127.0.0.1 dport:5121 lport:0) (net_lib.c:353)
[  542s] [10/30 07:48:38.730] ERRR: connect error(111:Connection refused)(proto:6 remote:127.0.0.1 dport:5121 lport:0) (net_lib.c:353)
[  542s] [10/30 07:48:38.730] ERRR: connect error(111:Connection refused)(proto:6 remote:127.0.0.1 dport:5121 lport:0) (net_lib.c:353)
[  542s] [10/30 07:48:38.730] ERRR: connect error(111:Connection refused)(proto:6 remote:127.0.0.1 dport:5121 lport:0) (net_lib.c:353)
[  542s] [10/30 07:48:38.730] ASSERT: !(net_sock && buffer). Invalid params
[  542s]  (net_lib.c:590)
[  542s] [10/30 07:48:38.730] ASSERT: !(net_sock). net_sock is NULL
[  542s]  (net_lib.c:408)
[  542s] [10/30 07:48:38.730] ASSERT: !(net_sock). net_sock is NULL
2017-10-30 10:37:33 +00:00
Sukchan Lee
9e27685cd0 disable test code. will be fixed later. 2017-10-30 02:14:33 +00:00
Sukchan Lee
a0eb08a2fa PID command line option(-p) is added 2017-10-29 20:48:17 +09:00
Sukchan Lee
baf6af79d6 LOG configuration is changed.
We'll juse file log as a default log.
Older logger name is changed socket logger and default configuration is
disabled
2017-10-29 10:22:22 +00:00
Sukchan Lee
2d1983cfb0 /var/run bug is fixed
For systemd environment, we define runtime directory like the follwings
MME : /var/run/nextepc-mmed
SGW : /var/run/nextepc-sgwd
PGW : /var/run/nextepc-pgwd
HSS : /var/run/nextepc-hssd
PCRF : /var/run/nextepc-pcrfd

In each directory, PID File is created as follows.
MME : /var/run/nextepc-mmed/pid
SGW : /var/run/nextepc-sgwd/pid
PGW : /var/run/nextepc-pgwd/pid
HSS : /var/run/nextepc-hssd/pid
PCRF : /var/run/nextepc-pcrfd/pid
2017-10-29 10:57:15 +09:00
Sukchan Lee
5c4c4498d2 logging disunite to each individual 2017-10-29 00:44:09 +09:00
Sukchan Lee
4e33365bf4 debian packaging is initially done.
network script is added
move testscript in debian/rules
2017-10-27 16:15:14 +00:00
Sukchan Lee
e367b00d2c do debian packaging (stage-1) 2017-10-27 03:15:14 +00:00
Sukchan Lee
df1f35e92b Logrotate is added. But more test is needed 2017-10-24 19:14:09 +09:00
Sukchan Lee
6f5ec19388 PID file is created for logrotate 2017-10-24 15:55:28 +09:00
Sukchan Lee
6eb05495aa change test configuration directory to /tmp 2017-10-24 11:00:58 +09:00
Sukchan Lee
81a8b00d78 Merge branch 'master' into r0.2 2017-10-24 09:54:47 +09:00
Sukchan Lee
adcc473d6e 'make check` before 'make install'
checkepc.sh script is created.
this script generates necessary configuration file before `make
install`. And then, execute `./testepc -f ./etc/nextepc.conf`
2017-10-24 01:03:25 +09:00
e8071fa544 freeDiameter: Allow bind to loopback, link-local and site-lcoal addrs
Why would it be illegal to configure/operate freeDiameter to bind to
loopback, link-local or site-local addresses?  Loopback is used a lot
in testing.  link-local and site-local adresses can very well be used
in non-public applications/use cases that don't involve public IPv6
networks.
2017-10-22 18:42:20 +02:00
Sukchan Lee
7b1949da6c Merge branch 'r0.2' of https://github.com/acetcom/nextepc into r0.2 2017-10-20 13:19:20 +09:00
Sukchan Lee
da1a50e9d3 Merge branch 'master' into r0.2 2017-10-19 10:15:13 +09:00
1c64000431 net_accept(): Inherit PPID from listening socket
When we call accept() on a listening socket, we need to inherit
the sctp PPID from the master socket to the new socket of the
just-accepted connection.  Otherwise any sent packets (such as S1AP)
will be sent to PPID=0 rather than the configured PPID (e.g. 18 for
S1AP).
2017-10-18 23:18:53 +02:00