Hi there,
i am facing the following strange behavior (Open vSwitch 1.4.90 and 1.2.2).
*
Adding a GRE interface with GRE key value=1 to my OVS creates packets with GRE key value equal to 0x30760001
*
root@ovs1:~# ovs-vsctl -- add-port br0 gre100_2 tag=2830 -- set interface gre100_2 type=gre options=remote_ip=147.102.13.59,key=1,csum=true

19:16:19.506382 IP ovs1.lab.netmode.ece.ntua.gr > darthvader.netmode.ece.ntua.gr: GREv0, off 0x0, key=0x30760001, length 54: ARP, Request who-has 192.168.29.60 tell 192.168.29.59, length 28

*Adding a GRE interface with GRE key value=100 to my OVS creates packets with GRE key value equal to 0x30130064*

19:19:21.557011 IP ovs1.lab.netmode.ece.ntua.gr > darthvader.netmode.ece.ntua.gr: GREv0, off 0x0, key=0x30130064, length 54: ARP, Request who-has 192.168.29.60 tell 192.168.29.59, length 28
*
Info taken from "ovs-vsctl show" command* for the second case
 Port "gre100_2"
            tag: 2830
            Interface "gre100_2"
                type: gre
options: {csum="true", key="100", remote_ip="147.102.13.59"}

*Info taken from "vs-ofctl dump-flows br0" command*
NXST_FLOW reply (xid=0x4):
cookie=0x0, duration=9007.608s, table=0, n_packets=3191, n_bytes=134670, priority=0 actions=NORMAL

I do understand that the last 16 bits of the key in the produced packets corresponds to the value i defined,_/but i can not understand the "3013" prefix to the GRE key value of the produced packets. /_


I understand that the first 16bit part of the GRE value is reduced, when the last 16bit part is augmented...
Algorithm of the strange translation:

key definition=1
gre key inside packets= 0x30760001 (0x3076-0x64+1=0x3013)

key definition=100
gre key inside packets= 0x30130064


First part 16bit
(0x3076-0x64+0x1=0x3013)
Second part 16bit
(0x0001+0x0064-0x1=0x64)


Regards,
Christos
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to