aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/nat
AgeCommit message (Collapse)AuthorFilesLines
2010-06-17nat: Add spaces to the desc to align it properly on the vty outputHolger Hans Peter Freyther1-5/+5
2010-06-17nat: Count the number of dropped SCCP and MGCP calls as well.Holger Hans Peter Freyther3-0/+16
Count the number of dropped calls and lost SCCP connections due the loss of a connection to the BSC...
2010-06-17nat: Switch per BSC counters to the rate ctr.Holger Hans Peter Freyther4-12/+29
This is switching the simple statistics to the rate counter and is updating all users...
2010-06-17bsc_api: Move gsm48_rcvmsg into the BSC API and dispatch.Holger Hans Peter Freyther1-5/+0
The next step in the way to the BSC API. We have a clear a new connection was opened signal now... and the MSC could use it...
2010-06-17nat: Rename BSC_NODE to NAT_BSC_NODE to avoid future issues.Holger Hans Peter Freyther1-10/+10
2010-06-17nat: Add the exit/end command to the NAT config nodes.Holger Hans Peter Freyther1-0/+4
2010-06-15nat: Add the OSMO NAT to the build process.Holger Hans Peter Freyther1-0/+13
2010-06-15nat: Attempt to update the VTY usage to the latest versionHolger Hans Peter Freyther2-19/+34
* Install the show commands to be available in the enable mode as well * Provide a copyright header..
2010-06-15nat: Do not use the bssap.h include as it does not exist in this branch.Holger Hans Peter Freyther4-5/+5
2010-06-15nat: Fix the access-list-name command...Holger Hans Peter Freyther1-2/+2
We have added two commands with the same name to the tree.. the second one should have been the BSC...
2010-06-15nat: Add both entries to the tail to keep the order they are insertedHolger Hans Peter Freyther1-2/+2
2010-06-15nat: Allow to specify multiple entries in the access-list...Holger Hans Peter Freyther2-17/+75
Inside the access-list we have a list of entries that have either one allow or one deny rule... we do not allow to remove a single rule but one has to remove the whole list, in that case talloc will handle cleaning all entries. Right now the matching is O(n*m) as we traverse the list (multiple times) and run the regexp multiple times. One way to make it faster would be to concat all regexps into one.
2010-06-15nat: Shorten the access-list struct and method names (still way too long)Holger Hans Peter Freyther2-19/+19
2010-06-15[nat] Implement the removal of an access-list.Holger Hans Peter Freyther2-0/+23
2010-06-15[nat] Fix the parsing of the access-list regexp...Holger Hans Peter Freyther1-2/+2
We need to start at argv[1] for the regexp of this access-list, also subtract one from number of items..
2010-06-15[nat] Fix VTY bug with access-lists...Holger Hans Peter Freyther1-4/+2
vty->index does not hold a BSC Config at this point as we are on the nat level... use the global _nat pointer for now...
2010-06-15[nat] Introduce the concept of access-listHolger Hans Peter Freyther2-41/+122
One can set one access-list to one BSC and one access-list to one NAT. The matching of IMSIs remains the same for now, also applying the white/blacklist. Access lists can not be deleted for now and no perf opt is done (e.g. one could cache the result of the last lookup in the bsc struct).
2010-06-15[nat] Add ip-tos option to the nat.Holger Hans Peter Freyther2-0/+15
This is applied to all incoming BSC connections.
2010-06-15msc: Add msc ip-tos NR option for the BSCHolger Hans Peter Freyther1-1/+1
Allow to set the TOS field via the VTY interface. The SO_PRIORITY was not used as it has no effect on the packets being sent (in contrast to the documentation).
2010-06-15[nat] Make the refusal more complicated to support more MSCsHolger Hans Peter Freyther2-7/+52
We will need to confirm the connection, then we can send the GSM48 message, then we need to close the connection... the embedding in the refusal method was way too easy..
2010-06-15[nat] Make create_sccp_src_ref return the SCCP Connection.Holger Hans Peter Freyther2-7/+8
Right now it was not possible to just find a connection, by returning the connection that is created we will have direct access to it. It will be used by the local connection handling.
2010-06-15[nat] Remove parameter that is never accessed directlyHolger Hans Peter Freyther2-2/+2
The msgb needs to be around when we access the parsed structure but that needs to be guranteed by the caller handing out the parsed structure.
2010-06-15[nat] Add the notion of a "local" connection.Holger Hans Peter Freyther1-0/+7
A local connection is only between the MUX and the real BSC. We will not forward anything to the MSC. This will be needed for the IMSI filtering as sending a CREF is not liked by every BSC...
2010-06-15[nat] Do not access the con after the removalHolger Hans Peter Freyther1-3/+15
In case of a RLC message we will destroy the SCCP connection. This means that accessing the con and con->bsc will access old memory. Keep the status local and move the con into an inner scope.
2010-06-15[nat] Send a GSM48 message within the reject messageHolger Hans Peter Freyther1-1/+19
2010-06-15[nat] Move the SCCP CREF handling into a new method.Holger Hans Peter Freyther1-7/+17
We will need to generate messages with a proper reason and it is easier to do that from a dedicated method.
2010-06-15[nat] Use and print the connection type of a SCCP connection.Holger Hans Peter Freyther3-1/+16
2010-06-15[nat] Set the connection type/reason as out parameterHolger Hans Peter Freyther2-2/+9
We are analyzing each CR message and it is nice to know the reason these connections were created. Change the nat method.
2010-06-15[nat] Use the new gsm48 method to parse the MI followed by a classmark.Holger Hans Peter Freyther1-22/+9
2010-06-15[nat] Let IMSI DETACH and other messages pass by.Holger Hans Peter Freyther1-3/+2
2010-06-15[nat] Print on which BSC config this happend.Holger Hans Peter Freyther1-2/+2
2010-06-15[nat] Parse the PAGING RESPONSE inside a CR message as well.Holger Hans Peter Freyther1-1/+29
Now we are parsing a CM Service Request, Location Updating Request and the Paging Response. For all other messages we claim to not support it and force a refuse.
2010-06-15[nat] Check proto descriptor and the message typeHolger Hans Peter Freyther1-2/+4
2010-06-15[nat] Add code to filter the CM Service Request by IMSI.Holger Hans Peter Freyther1-0/+48
The code should be shared among the GSM0408 implementation and this one, and like the LU we are not handling a TMSI properly as we have no idea where it is coming from.
2010-06-15[nat] Mention where the MSG is coming from.Holger Hans Peter Freyther1-1/+1
2010-06-15[sccp/nat] Make it optional to send data on a SCCP Connection RefuseHolger Hans Peter Freyther1-1/+1
This can be used to send a Location Updating Reject down to the BSC when it is clear that a subscriber is not allowed.
2010-06-15[nat] Remove the imsi allow option on the nat level.Holger Hans Peter Freyther2-23/+1
For now we have: 1.) bsc imsi deny to deny at the BSC level 2.) bsc imsi allow to allow a SIM at the BSC level 3.) nat imsi deny to deny at the global level
2010-06-15[nat] Separate exit2/exit3 as this can not be shared...Holger Hans Peter Freyther1-1/+6
We have tried to send a refuse for arbitary things and ended up with a segfault... separate the exi2 and exit3 label to have separate exits and cleanups.
2010-06-15[nat] Add a token to the nat config and handle ID GETHolger Hans Peter Freyther2-3/+29
This allows to chain a nat with a nat by answering to the id get code and sending the token.
2010-06-15[nat] Add a regexp test command to the VTY.Holger Hans Peter Freyther1-0/+19
This allows to test the regexp to be used for allo/deny of the imsi filter.
2010-06-15[nat] Fix the imsi deny config write.Holger Hans Peter Freyther1-1/+1
2010-06-15[nat] We do not want to see the actual matches.Holger Hans Peter Freyther1-5/+3
2010-06-15[nat] Allow to set the description for the bsc.Holger Hans Peter Freyther1-0/+21
This will allow to add description to each BSC.
2010-06-15[nat] Implement IMSI filtering...Holger Hans Peter Freyther1-6/+49
2010-06-15[nat] Fix the size check of the LU Request.Holger Hans Peter Freyther1-2/+3
2010-06-15[nat] Make the string -> regexp parsing publicHolger Hans Peter Freyther2-18/+18
This way it can be used from within a test case to test the regexps..
2010-06-15nat: Add code to parse the SCCP optional data.Holger Hans Peter Freyther1-3/+76
First we have the Complete Layer3 Information, then we have the IE for the Layer3 information, then the GSM48 hdr, then the actual content with data. Right now we are parsing the LU but we are not filtering anything yet.
2010-06-15nat: Introduce a nat filter that is working on the CR message.Holger Hans Peter Freyther2-0/+17
Currently there is no implementation but the refusal code is in place and will send a refusal back to the BSC.
2010-06-15[nat] Use A.B.C.D for the IP addressHolger Hans Peter Freyther1-1/+1
The VTY code will then be able to validate the IP Address.
2010-06-15[nat] Remove range checks inside the VTY command.Holger Hans Peter Freyther1-6/+0
The ranges are enforced by the VTY code.