Hi Neale,

I set that flag and have been testing with it and it seems to have solved the 
problem.

Thanks!

-Matt


> On May 20, 2017, at 2:18 AM, Neale Ranns (nranns) <nra...@cisco.com> wrote:
> 
> Hi Matt,
> 
> No ARP lookup is needed for interfaces that are point-2-point. The FIB will 
> link entries reachable through a p2p interface using a special ‘auto’ 
> adjacency. The auto adj has the all zeros address as a next-hop and a rewrite 
> that is constructed by the interface type (i.e. for GRE has tunnel src,dst) 
> and since the interface is P2P, it’s independent of the packet’s destination.
> 
> The construction of the special adj and the config to set the interface as 
> P2P is, e.g.;
> 
> VNET_HW_INTERFACE_CLASS (gre_hw_interface_class) = {
>  .name = "GRE",
> …
>  .update_adjacency = gre_update_adj,
>  .flags = VNET_HW_INTERFACE_CLASS_FLAG_P2P,
> };
> 
> similar config for IPSEC would be required.
> 
> Thanks,
> neale
> 
> -----Original Message-----
> From: <vpp-dev-boun...@lists.fd.io> on behalf of Matthew Smith 
> <mgsm...@netgate.com>
> Date: Saturday, 20 May 2017 at 01:36
> To: "vpp-dev@lists.fd.io" <vpp-dev@lists.fd.io>
> Subject: [vpp-dev] IPsec interface handling in FIB
> 
> 
>    Hi,
> 
>    In the course of testing IPsec interfaces in VPP, I managed to make VPP 
> crash on a SEGV by setting an IP address on an established IPsec tunnel 
> interface and then trying to send packets through the tunnel to the IPsec 
> peer by pinging an address in the same subnet as that address. I.e. I set the 
> address 10.0.0.2/30 on the ipsec0 interface and tried to ping to 10.0.0.1. It 
> looks like VPP was trying to resolve the address via ARP and crashed because 
> it was trying to memcpy the hardware address of the IPsec tunnel interface, 
> which was NULL, to build the ARP packet.
> 
>    GRE tunnel interfaces allow this sort of configuration without crashing. I 
> took a look at some of the GRE code and it looked like there was some setup & 
> maintenance that is done for GRE tunnels so that FIB lookups treat packets 
> destined for a GRE tunnel in a special way. No ARP lookup is initiated when I 
> send a packet to an address in the same subnet as an IP address configured on 
> a GRE tunnel interface.
> 
>    I’d like to fix this for IPsec tunnel interfaces. Does anyone have any 
> pointers on what I would need to do? I been looking at the GRE code to get an 
> idea, but it would save me a lot of time if anyone could share a high-level 
> description of what needs to be done, or point me at any relevant 
> documentation.
> 
>    Thanks,
>    -Matt Smith
> 
>    _______________________________________________
>    vpp-dev mailing list
>    vpp-dev@lists.fd.io
>    https://lists.fd.io/mailman/listinfo/vpp-dev
> 

_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Reply via email to