mirror of
				https://gitea.osmocom.org/cellular-infrastructure/osmo-ggsn.git
				synced 2025-10-27 10:13:42 +00:00 
			
		
		
		
	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
		
			
				
	
	
		
			40 lines
		
	
	
		
			823 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			823 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * (C) 2014 by Holger Hans Peter Freyther
 | |
|  */
 | |
| #include "syserr.h"
 | |
| 
 | |
| #include <osmocom/core/utils.h>
 | |
| 
 | |
| static const struct log_info_cat default_categories[] = {
 | |
| 	[DIP] = {
 | |
| 		.name = "DIP",
 | |
| 		.description = "IP Pool and other groups",
 | |
| 		.enabled = 1, .loglevel = LOGL_NOTICE,
 | |
| 	},
 | |
| 	[DTUN] = {
 | |
| 		.name = "DTUN",
 | |
| 		.description = "Tunnel interface",
 | |
| 		.enabled = 1, .loglevel = LOGL_NOTICE,
 | |
| 	},
 | |
| 	[DGGSN] = {
 | |
| 		.name = "DGGSN",
 | |
| 		.description = "GGSN",
 | |
| 		.enabled = 1, .loglevel = LOGL_NOTICE,
 | |
| 	},
 | |
| 	[DSGSN] = {
 | |
| 		.name = "DSGSN",
 | |
| 		.description = "SGSN Emulator",
 | |
| 		.enabled = 1, .loglevel = LOGL_NOTICE,
 | |
| 	},
 | |
| 	[DICMP6] = {
 | |
| 		.name = "DICMP6",
 | |
| 		.description = "ICMPv6",
 | |
| 		.enabled = 1, .loglevel = LOGL_DEBUG,
 | |
| 	},
 | |
| };
 | |
| 
 | |
| const struct log_info log_info = {
 | |
| 	.cat = default_categories,
 | |
| 	.num_cat = ARRAY_SIZE(default_categories),
 | |
| };
 |