qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Contribution - L2TPv3 transport


From: Anton Ivanov (antivano)
Subject: Re: [Qemu-devel] Contribution - L2TPv3 transport
Date: Tue, 4 Mar 2014 15:19:28 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20131103 Icedove/17.0.10

Attached is a revised version.

     * I am still keeping the sendmsg instead of iov_send because I have 
not had the time to review udp.c in the kernel and do the relevant 
regression testing to see if they connect() still breaks bind() on 
multihomed hosts as it did in 2.6. We can revisit that at a later date, 
without doing the proper investigation I am not comfortable trying this.

     * I have killed completely parse6 and replaced that by a common 
getaddrinfo()  with a selectable address family based on the boolean 
flags. This also allows to force a specific v4 or v6 address choice for dst.

     * addresses now are specified separately from ports and ports are 
deliberately strings so you can specify them as a protocol.

     * mode bitmask is gone it is all booleans now - both for option 
invocation and internally in the code.

     * I have added the extra offset back in so it is feature by feature 
compatible with linux kernel implementation.

     * All mallocs are now to exact size and

     * Indentation, style, debug, etc are all as requested now.

     * l2tpv3.h has become surplus to requirements and is gone now.

     * it now has proper cleanup.

     * I have tested it for a few setups (mostly v4) and it works as 
advertised. I need to rewrite my tests scripts for the new options names 
to give it a full test. I would not expect that to show any problems 
though - core send/receive logic is unchanged from the original version.

     * I have not yet addressed the page size and page alignment of 
buffers items - leaving that open for an RFC on how to get the max 
performance there and how to make it expandable lately so one can 
re-configure it for large MTU/jumbo frames.

Example magic incantation to invoke it with the new options:

#!/bin/sh

kvm -hda kvm.img  -m 1024 \
    -net nic,vlan=0,model=virtio,macaddr=0a:98:fc:96:83:01 \
    -net 
l2tpv3,vlan=0,udp,src=192.168.63.1,srcport=1700,dst=192.168.63.1,dstport=1701,cookie64,txcookie=0x0123456789abcdef,rxcookie=0xfedcba9876543210,rxsession=0xffffffff,txsession=0xffffffff,counter

A.

Attachment: l2tpv3.diff
Description: l2tpv3.diff


reply via email to

[Prev in Thread] Current Thread [Next in Thread]