updown: Pass interface ID to updown script

This commit is contained in:
Tobias Brunner 2019-02-12 12:11:10 +01:00
parent 8ab336285a
commit 3fa8c3e529
2 changed files with 17 additions and 0 deletions

View File

@ -119,6 +119,12 @@
# PLUTO_MARK_OUT
# is an optional XFRM mark set on the outbound IPsec SA
#
# PLUTO_IF_ID_IN
# is an optional XFRM interface ID set on the inbound IPsec SA
#
# PLUTO_IF_ID_OUT
# is an optional XFRM interface ID set on the outbound IPsec SA
#
# PLUTO_UDP_ENC
# contains the remote UDP port in the case of ESP_IN_UDP
# encapsulation

View File

@ -258,6 +258,7 @@ static void invoke_once(private_updown_listener_t *this, ike_sa_t *ike_sa,
host_t *me, *other, *host;
char *iface;
uint8_t mask;
uint32_t if_id;
mark_t mark;
bool is_host, is_ipv6;
int out;
@ -356,6 +357,16 @@ static void invoke_once(private_updown_listener_t *this, ike_sa_t *ike_sa,
push_env(envp, countof(envp), "PLUTO_MARK_OUT=%u/0x%08x",
mark.value, mark.mask);
}
if_id = child_sa->get_if_id(child_sa, TRUE);
if (if_id)
{
push_env(envp, countof(envp), "PLUTO_IF_ID_IN=%u", if_id);
}
if_id = child_sa->get_if_id(child_sa, FALSE);
if (if_id)
{
push_env(envp, countof(envp), "PLUTO_IF_ID_OUT=%u", if_id);
}
if (ike_sa->has_condition(ike_sa, COND_NAT_ANY))
{
push_env(envp, countof(envp), "PLUTO_UDP_ENC=%u",