Blob Blame History Raw
diff --git a/ip/ipxfrm.c b/ip/ipxfrm.c
index 0495ff4..b1d4c6e 100644
--- a/ip/ipxfrm.c
+++ b/ip/ipxfrm.c
@@ -1275,6 +1275,7 @@ static int xfrm_selector_upspec_parse(struct xfrm_selector *sel,
 		case IPPROTO_UDP:
 		case IPPROTO_SCTP:
 		case IPPROTO_DCCP:
+		case IPPROTO_IP: /* to allow shared SA for different protocols */
 			break;
 		default:
 			fprintf(stderr, "\"sport\" and \"dport\" are invalid with PROTO value \"%s\"\n", strxf_proto(sel->proto));