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

Commit 5a9ab017 authored by Robert Shearman's avatar Robert Shearman Committed by David S. Miller
Browse files

mpls: Prevent use of implicit NULL label as outgoing label



The reserved implicit-NULL label isn't allowed to appear in the label
stack for packets, so make it an error for the control plane to
specify it as an outgoing label.

Suggested-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: default avatarRobert Shearman <rshearma@brocade.com>
Reviewed-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 37bde799
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -646,6 +646,15 @@ int nla_get_labels(const struct nlattr *nla,
		if ((dec.bos != bos) || dec.ttl || dec.tc)
			return -EINVAL;

		switch (dec.label) {
		case LABEL_IMPLICIT_NULL:
			/* RFC3032: This is a label that an LSR may
			 * assign and distribute, but which never
			 * actually appears in the encapsulation.
			 */
			return -EINVAL;
		}

		label[i] = dec.label;
	}
	*labels = nla_labels;