Project

General

Profile

Bug #1952 » 0001-gtp-use-IPv6-address-64-prefix-for-UE-MS.patch

pablo, 01/30/2024 11:23 AM

View differences:

drivers/net/gtp.c
196 196

  
197 197
	head = &gtp->addr_hash[ipv6_hashfn(ms_addr) % gtp->hash_size];
198 198

  
199
	/* 3GPP TS 29.060: PDN Connection: the association between a MS
200
	 * represented by [...] one IPv6 *prefix* and a PDN represented by an
201
	 * APN.
202
	 *
203
	 * Then, 3GPP TS 29.061, Section 11.2.1.3 says: The size of the prefix
204
	 * shall be according to the maximum prefix length for a global IPv6
205
	 * address as specified in the IPv6 Addressing Architecture, see RFC 4291.
206
	 *
207
	 * Finally, RFC 4291 section 2.5.4 states: All Global Unicast addresses
208
	 * other than those that start with binary 000 have a 64-bit interface
209
	 * ID field (i.e., n + m = 64).
210
	 */
199 211
	hlist_for_each_entry_rcu(pdp, head, hlist_addr) {
200 212
		if (pdp->af == AF_INET6 &&
201
		    memcmp(&pdp->ms.addr6, ms_addr, sizeof(struct in6_addr)) == 0)
213
		    pdp->ms.addr6.s6_addr32[0] == ms_addr->s6_addr32[0] &&
214
		    pdp->ms.addr6.s6_addr32[1] == ms_addr->s6_addr32[1])
202 215
			return pdp;
203 216
	}
204 217

  
(14-14/33)
Add picture from clipboard (Maximum size: 48.8 MB)