On Mon, Dec 23, 2019 at 12:10:36AM +0100, Alexandr Nedvedicky wrote:
> diff --git a/sys/netinet/ip_input.c b/sys/netinet/ip_input.c
> index 058b2f038fa..f4114f45045 100644
> --- a/sys/netinet/ip_input.c
> +++ b/sys/netinet/ip_input.c
> @@ -753,7 +753,8 @@ in_ouraddr(struct mbuf *m, struct ifnet *ifp, struct
> rtentry **prt)
> }
> }
> } else if (ipforwarding == 0 && rt->rt_ifidx != ifp->if_index &&
> - !((ifp->if_flags & IFF_LOOPBACK) || (ifp->if_type == IFT_ENC))) {
> + !((ifp->if_flags & IFF_LOOPBACK) || (ifp->if_type == IFT_ENC) ||
> + (m->m_pkthdr.pf.flags & PF_TAG_TRANSLATE_LOCALHOST))) {
This line should be indented 4 spaces to the left.
> /* received on wrong interface. */
> #if NCARP > 0
> struct ifnet *out_if;
> diff --git a/sys/netinet6/ip6_input.c b/sys/netinet6/ip6_input.c
> index 5404d7ccfb4..62e92d9c46c 100644
> --- a/sys/netinet6/ip6_input.c
> +++ b/sys/netinet6/ip6_input.c
> @@ -435,7 +435,8 @@ ip6_input_if(struct mbuf **mp, int *offp, int nxt, int
> af, struct ifnet *ifp)
>
> if (ip6_forwarding == 0 && rt->rt_ifidx != ifp->if_index &&
> !((ifp->if_flags & IFF_LOOPBACK) ||
> - (ifp->if_type == IFT_ENC))) {
> + (ifp->if_type == IFT_ENC)) ||
> + (m->m_pkthdr.pf.flags & PF_TAG_TRANSLATE_LOCALHOST)) {
> /* received on wrong interface */
> #if NCARP > 0
> struct ifnet *out_if;
>
OK bluhm@