Revision 230f0b9b7cb4885864d457c82e312489c0a0d3d7 authored by Paul Chaignon on 21 May 2021, 21:10:24 UTC, committed by Nathan Sweet on 04 June 2021, 16:46:12 UTC
[ upstream commit 802d25447fa1d325d3713220f8ad08e7938f6dd4 ]

Commit 50df544 added a new job in the end-to-end workflows to checkout
the tested code and run paths-filter on it. That first job fails when
the workflows are scheduled (vs. triggered by PR comment) because we try
to grab the pull request URL, which doesn't exist:

    curl ${{ github.event.issue.pull_request.url }} > pr.json

results in error:

    Run curl  > pr.json
    curl: try 'curl --help' or 'curl --manual' for more information

We can avoid this by skipping steps in the first job when triggered by
schedule. We can't skip the entire first job because the second job has
a dependency on the first and would fail if we skipped the first.

Fixes: 50df544 (".github: Skip unnecessary ci-xxx tests")
Signed-off-by: Paul Chaignon <paul@cilium.io>
Signed-off-by: Quentin Monnet <quentin@isovalent.com>
1 parent e942366
Raw File
bpf_network.c
// SPDX-License-Identifier: GPL-2.0
/* Copyright (C) 2019-2020 Authors of Cilium */

#include <bpf/ctx/skb.h>
#include <bpf/api.h>

#include <node_config.h>
#include <netdev_config.h>

#include "lib/common.h"
#include "lib/trace.h"
#include "lib/encrypt.h"

__section("from-network")
int from_network(struct __ctx_buff *ctx)
{
#ifdef ENABLE_IPSEC
	__u16 proto;

	if ((ctx->mark & MARK_MAGIC_HOST_MASK) == MARK_MAGIC_DECRYPT) {
		send_trace_notify(ctx, TRACE_FROM_NETWORK, get_identity(ctx), 0, 0,
				  ctx->ingress_ifindex,
				  TRACE_REASON_ENCRYPTED, TRACE_PAYLOAD_LEN);
	} else
#endif
	{
		send_trace_notify(ctx, TRACE_FROM_NETWORK, 0, 0, 0,
				  ctx->ingress_ifindex, 0, TRACE_PAYLOAD_LEN);
	}

	bpf_clear_meta(ctx);

#ifdef ENABLE_IPSEC
	/* Pass unknown protocols to the stack */
	if (!validate_ethertype(ctx, &proto))
		return CTX_ACT_OK;

	return do_decrypt(ctx, proto);
#else
	/* nop if IPSec is disabled */
	return CTX_ACT_OK;
#endif
}

BPF_LICENSE("GPL");
back to top