X-Git-Url: http://git.onelab.eu/?p=sliver-openvswitch.git;a=blobdiff_plain;f=README-lisp;h=f1e1172a81a351ba36cec6544e2f783f9806104c;hp=6057706aeec11662752e27eea346bad1adec174c;hb=HEAD;hpb=ec9f40dce11c7e81bc41d42e3bbfaaf8287165ce diff --git a/README-lisp b/README-lisp index 6057706ae..f1e1172a8 100644 --- a/README-lisp +++ b/README-lisp @@ -30,7 +30,8 @@ VMs. In case 2) the VMs expect ARP replies from each other, but this is not possible over a layer 3 tunnel. One solution is to have static MAC address entries preconfigured on the VMs (e.g., `arp -f /etc/ethers` on startup on -Unix based VMs), or have the hypervisor do proxy ARP. +Unix based VMs), or have the hypervisor do proxy ARP. In this scenario, the +eth0 interfaces need not be added to the br0 bridge in the examples below. On the receiving side, the packet arrives without the original MAC header. The LISP tunneling code attaches a header with harcoded source and destination @@ -61,12 +62,20 @@ bridge instance, and become numbered 1, 2, and 3 respectively: ovs-vsctl add-port br0 eth0 ovs-vsctl add-port br0 lisp0 -- set Interface lisp0 type=lisp options:remote_ip=flow options:key=flow -Flows on br0 are configured as follows: +The last command sets up flow based tunneling on the lisp0 interface. From +the LISP point of view, this is like having the Tunnel Router map cache +implemented as flow rules. + +Flows on br0 should be configured as follows: priority=3,dl_dst=02:00:00:00:00:00,action=mod_dl_dst:,output:1 priority=2,in_port=1,dl_type=0x0806,action=NORMAL priority=1,in_port=1,dl_type=0x0800,vlan_tci=0,nw_src=,action=set_field:->tun_dst,output:3 priority=0,action=NORMAL -Optionally, if you want to use Instance ID in a flow, you can set it with -"action=set_tunnel:". +The third rule is like a map cache entry: the specified by the +nw_src match field is mapped to the RLOC , which is set as the tunnel +destination for this particular flow. + +Optionally, if you want to use Instance ID in a flow, you can add +"set_tunnel:" to the action list.