This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The OpenGGSN project".

The branch, laforge/ipv6 has been updated
       via  56cbbae2724d8babc8cb6ee92b1d58980495725d (commit)
       via  4d2e4485ee9c5a9c8419ead4fd52821d6a1508bf (commit)
       via  9dfd2d84e5539e7e7468c410ff50328e875b1eae (commit)
      from  5a0f66a434bc519383896633004f008292183e4b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------

commit 56cbbae2724d8babc8cb6ee92b1d58980495725d
Author: Harald Welte <>
Date:   Tue Aug 8 23:27:22 2017 +0200

    IPv6: Implement IPv6 prefix assignment via ICMPv6 router advertisement
    The 3GPP specs are quite strange when it comes to how an IPv6 address
    or rather prefix is assigned to an IPv6 PDP context.  The designated
    method for allocating the IPv6 address via the PDP EUA (End User
    Address) Information Element in the GTP signalling plane is *not*
    used to allocate the address/prefix.  Instead, the EUA is used to
    allocate an "interface identifier" to the MS, which it the uses
    to derive its link-local source address to send a router solicitation.
    The GGSN subsequently answers witha router advertisement, advertising
    a single/64 prefix, whihcthe MS then uses to generate it's real IPv6
    source address for subsequent communication.
    Change-Id: Icddf7d30e01d76a4784bcef5787b36f52f703a9f

commit 4d2e4485ee9c5a9c8419ead4fd52821d6a1508bf
Author: Harald Welte <>
Date:   Tue Aug 8 18:10:43 2017 +0200

    ippool: Extend pool to work with arbitrary-length prefixes
    In IPv6 GPRS, we actually don't want to allocate an individual v6
    address (like in IPv4), but we want to allocate a prefix.  The
    standard prefix lengh is 8 bytes, i.e. a /64 prefix.  This patch
    extends the pool to be able to work with such v6 prefixes.
    Change-Id: I0cf700b6baf195a2e5fbea000531f801acaaa443

commit 9dfd2d84e5539e7e7468c410ff50328e875b1eae
Author: Harald Welte <>
Date:   Tue Aug 8 18:09:36 2017 +0200

    in46_addr: Add new function in46a_prefix_equal()
    This function is used to compare an IPv6 address against another,
    using the smaller of the two prefix lengths.
    Change-Id: Ic993d8abdc90897cb55276f01ae3b8a5eadf5a0d


Summary of changes:
 ggsn/ |   2 +-
 ggsn/checksum.c  | 205 ++++++++++++++++++++++++++++++++++++++++++++++++++
 ggsn/checksum.h  |  13 ++++
 ggsn/ggsn.c      |  36 ++++++++-
 ggsn/icmpv6.c    | 225 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 lib/debug.c      |   5 ++
 lib/in46_addr.c  |  19 +++++
 lib/in46_addr.h  |   1 +
 lib/ippool.c     |  17 +++--
 lib/syserr.h     |   1 +
 10 files changed, 515 insertions(+), 9 deletions(-)
 create mode 100644 ggsn/checksum.c
 create mode 100644 ggsn/checksum.h
 create mode 100644 ggsn/icmpv6.c

The OpenGGSN project

Reply via email to