Hi Dino, 

Sorry, I was thinking of using the WG code, ie. tell wireguard to use a 
specific UDP src port. I understand that this is straightforward  if you open 
the socket, but not if this socket is handled by the wireguard kernel. 

Jordi

On 3/26/20, 13:36, "Dino Farinacci" <[email protected]> wrote:

    > I agree with both of your points, my concern was that the moment the data 
plane traffic hits user space we degrade performance. Not a problem though if 
we're just prototyping __
    
    There are various forms of UDP tunneling implemented in the kernel. So 
adding a LISP header is a minor addition. Then you got IIDs in the data-plane.
    
    > I'm trying to think of a solution that does not need to modify WG but I 
can't come up with any.  For example if we 
    
    I don’t know what you mean. If you want a newer form of VPN support, you 
have to change the code.
    
    > want to control the src UDP port that WG puts in the packets, we need a 
way to specify this, and I'm not aware you can do it (from userspace).
    
    If you bind a UDP socket, you can select the source-port. And then you use 
that socket to send from. So for instance:
    
       sock = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM)
       iid = port = 13000
       sock.bind((“0.0.0.0", int(port)))
    
    And when you send a packet to RLOC 1.1.1.1:
    
       rloc = “1.1.1.1"
       sock.sendto(packet, (rloc, 4341))
    
    Dino
    
    
    
    


_______________________________________________
lisp mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/lisp

Reply via email to