Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: osmocom/libgtpnl
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: osmocom/libgtpnl
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: osmith/wip
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 6 commits
  • 20 files changed
  • 2 contributors

Commits on Feb 15, 2024

  1. gtp-link: set IPv6 socket only

    GTP driver bails out for IPv4-mapped-IPv6 socket with EADDRNOAVAIL,
    to prevent issues with setsockopt IPV6_ADDRFORM.
    
    GTP control plane checks that tunnel family matches the socket family
    for this GTP device, ie. there is a 1:1 mapping between the socket
    listener and the device which determines the supported IP tunnel header.
    
    Signed-off-by: Pablo Neira Ayuso <[email protected]>
    Change-Id: I887a107657059adeb14ae425576ae7ea9018f762
    ummakynes authored and osmith42 committed Feb 15, 2024
    Configuration menu
    Copy the full SHA
    0e7a635 View commit details
    Browse the repository at this point in the history
  2. gtp: provide interface to set family

    Kernel now supports for TID/I_TEI to be used in both IPv4 and IPv6 GTP
    tunnels. This improves dualstack support for MS/UE so GTP traffic can
    be identified with the same tunnel identifier.
    
    Update gtp-tunnel to specify the family, since a tunnel is now
    identified by the following tuple [ version, identifier, family ].
    
    Change-Id: I584d3997ffb89cd430dfda9615a4ce0ce517ab2a
    ummakynes authored and osmith42 committed Feb 15, 2024
    Configuration menu
    Copy the full SHA
    ed42b8a View commit details
    Browse the repository at this point in the history
  3. gtp: add flags to gtp_tunnel object

    Flags tells us what fields have been set in this object.
    
    This is required by
    
    	./gtp-tunnel del
    
    otherwise, build helper function adds the MS/UE address and kernel reports
    ENOENT, and tunnel identifier is ignored.
    
    Update gtp-tunnel tool to set flowid to zero in the GTP version 0 case,
    otherwise kernel reports EINVAL since now this flag is not ever set.
    
    Change-Id: I66677ab2d4de2c459ed9987c465fce6f059d6d93
    ummakynes authored and osmith42 committed Feb 15, 2024
    Configuration menu
    Copy the full SHA
    6f1c38f View commit details
    Browse the repository at this point in the history
  4. gtp-genl: display gtp device in listing

    Display the device that the tunnel belongs to, users need this
    information to delete tunnels.
    
    Change-Id: I888723a8318c04772f7d22a042e69fa6e9ef2239
    ummakynes authored and osmith42 committed Feb 15, 2024
    Configuration menu
    Copy the full SHA
    aac20a7 View commit details
    Browse the repository at this point in the history
  5. gtp-tunnel: display i_tei in help

    display <tid|i_tei> in help message that is printed.
    
    Change-Id: I0aa78e654f23a2b6588ac8e1e5508e798caad1a7
    ummakynes authored and osmith42 committed Feb 15, 2024
    Configuration menu
    Copy the full SHA
    92804a5 View commit details
    Browse the repository at this point in the history
  6. Add QEMU tests

    Add tests to ensure libgtpnl + kernel driver work as expected.
    
    Right now a kernel needs to be built from source, using Pablo's tree:
    https://git.kernel.org/pub/scm/linux/kernel/git/pablo/gtp.git/
    
    Make sure to enable:
      CONFIG_GTP=y
      CONFIG_NET_NS=y
      CONFIG_VETH=y
    
    $ cp bzImage tests/qemu/_linux
    $ ./configure --enable-qemu-tests
    $ make
    $ make check
    
    Once patches are upstreamed, it will be possible to use a pre-built
    kernel from jenkins with: make -C tests qemu-download-kernel
    
    Related: OS#1952
    Change-Id: Ibf75514b866fffb11e90529e4705f126b23d7415
    osmith42 committed Feb 15, 2024
    Configuration menu
    Copy the full SHA
    a560cf3 View commit details
    Browse the repository at this point in the history
Loading