Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 78f5b899 authored by Tom Herbert's avatar Tom Herbert Committed by David S. Miller
Browse files

mpls: Change reserved label names to be consistent with netbsd



Since these are now visible to userspace it is nice to be consistent
with BSD (sys/netmpls/mpls.h in netBSD).

Signed-off-by: default avatarTom Herbert <tom@herbertland.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 7c0004d3
Loading
Loading
Loading
Loading
+6 −6
Original line number Original line Diff line number Diff line
@@ -32,13 +32,13 @@ struct mpls_label {
#define MPLS_LS_TTL_SHIFT       0
#define MPLS_LS_TTL_SHIFT       0


/* Reserved labels */
/* Reserved labels */
#define MPLS_LABEL_IPV4_EXPLICIT_NULL	0 /* RFC3032 */
#define MPLS_LABEL_IPV4NULL		0 /* RFC3032 */
#define MPLS_LABEL_ROUTER_ALERT		1 /* RFC3032 */
#define MPLS_LABEL_RTALERT		1 /* RFC3032 */
#define MPLS_LABEL_IPV6_EXPLICIT_NULL	2 /* RFC3032 */
#define MPLS_LABEL_IPV6NULL		2 /* RFC3032 */
#define MPLS_LABEL_IMPLICIT_NULL	3 /* RFC3032 */
#define MPLS_LABEL_IMPLNULL		3 /* RFC3032 */
#define MPLS_LABEL_ENTROPY_INDICATOR	7 /* RFC6790 */
#define MPLS_LABEL_ENTROPY		7 /* RFC6790 */
#define MPLS_LABEL_GAL			13 /* RFC5586 */
#define MPLS_LABEL_GAL			13 /* RFC5586 */
#define MPLS_LABEL_OAM_ALERT		14 /* RFC3429 */
#define MPLS_LABEL_OAMALERT		14 /* RFC3429 */
#define MPLS_LABEL_EXTENSION		15 /* RFC7274 */
#define MPLS_LABEL_EXTENSION		15 /* RFC7274 */


#endif /* _UAPI_MPLS_H */
#endif /* _UAPI_MPLS_H */
+9 −9
Original line number Original line Diff line number Diff line
@@ -647,7 +647,7 @@ int nla_get_labels(const struct nlattr *nla,
			return -EINVAL;
			return -EINVAL;


		switch (dec.label) {
		switch (dec.label) {
		case MPLS_LABEL_IMPLICIT_NULL:
		case MPLS_LABEL_IMPLNULL:
			/* RFC3032: This is a label that an LSR may
			/* RFC3032: This is a label that an LSR may
			 * assign and distribute, but which never
			 * assign and distribute, but which never
			 * actually appears in the encapsulation.
			 * actually appears in the encapsulation.
@@ -935,7 +935,7 @@ static int resize_platform_label_table(struct net *net, size_t limit)
	}
	}


	/* In case the predefined labels need to be populated */
	/* In case the predefined labels need to be populated */
	if (limit > MPLS_LABEL_IPV4_EXPLICIT_NULL) {
	if (limit > MPLS_LABEL_IPV4NULL) {
		struct net_device *lo = net->loopback_dev;
		struct net_device *lo = net->loopback_dev;
		rt0 = mpls_rt_alloc(lo->addr_len);
		rt0 = mpls_rt_alloc(lo->addr_len);
		if (!rt0)
		if (!rt0)
@@ -945,7 +945,7 @@ static int resize_platform_label_table(struct net *net, size_t limit)
		rt0->rt_via_table = NEIGH_LINK_TABLE;
		rt0->rt_via_table = NEIGH_LINK_TABLE;
		memcpy(rt0->rt_via, lo->dev_addr, lo->addr_len);
		memcpy(rt0->rt_via, lo->dev_addr, lo->addr_len);
	}
	}
	if (limit > MPLS_LABEL_IPV6_EXPLICIT_NULL) {
	if (limit > MPLS_LABEL_IPV6NULL) {
		struct net_device *lo = net->loopback_dev;
		struct net_device *lo = net->loopback_dev;
		rt2 = mpls_rt_alloc(lo->addr_len);
		rt2 = mpls_rt_alloc(lo->addr_len);
		if (!rt2)
		if (!rt2)
@@ -973,15 +973,15 @@ static int resize_platform_label_table(struct net *net, size_t limit)
	memcpy(labels, old, cp_size);
	memcpy(labels, old, cp_size);


	/* If needed set the predefined labels */
	/* If needed set the predefined labels */
	if ((old_limit <= MPLS_LABEL_IPV6_EXPLICIT_NULL) &&
	if ((old_limit <= MPLS_LABEL_IPV6NULL) &&
	    (limit > MPLS_LABEL_IPV6_EXPLICIT_NULL)) {
	    (limit > MPLS_LABEL_IPV6NULL)) {
		RCU_INIT_POINTER(labels[MPLS_LABEL_IPV6_EXPLICIT_NULL], rt2);
		RCU_INIT_POINTER(labels[MPLS_LABEL_IPV6NULL], rt2);
		rt2 = NULL;
		rt2 = NULL;
	}
	}


	if ((old_limit <= MPLS_LABEL_IPV4_EXPLICIT_NULL) &&
	if ((old_limit <= MPLS_LABEL_IPV4NULL) &&
	    (limit > MPLS_LABEL_IPV4_EXPLICIT_NULL)) {
	    (limit > MPLS_LABEL_IPV4NULL)) {
		RCU_INIT_POINTER(labels[MPLS_LABEL_IPV4_EXPLICIT_NULL], rt0);
		RCU_INIT_POINTER(labels[MPLS_LABEL_IPV4NULL], rt0);
		rt0 = NULL;
		rt0 = NULL;
	}
	}