-
Notifications
You must be signed in to change notification settings - Fork 36
Description
I am trying the simple ping response example with latest ClickOS from master. I have tried this on both Ubuntu 14.04 LTS Update 5 as well as Ubuntu 16.04 Update 3 LTS with stock Xen.
After initial success, the Click OS setup stops responding to ping request after some time. To rule out any issues with network setup, I have used both linux bridge as well as Open vSwitch .. both end up with similar issues. What could be the reason? Is there something I have missed out and what should I be looking at?
Please note that I have tried this on multiple Ubuntu + Xen systems. The clickos vm reponds to 'xl shutdown' ... so it doesn't seem to have crashed.
Minimal debug attempt - I recompiled minios with debug dprintk enabled and with that I don't see any "rx: --- " output in console once it hangs.
+++
/** commented out
#define dprintk(format, ...) do {} while(0)
*/
#ifndef dprintk
#define dprintk(format, ...) printk(format,##__VA_ARGS__)
#endif
+++
Last few lines of xl console output before hang -
rx: ring: len 98
rx: --- 98 bytes
Ping Response: 98 | 00161715 5d190050 56b52ef4 08004500 00540c29 0000ff01
tx: raw 98
rx: ring: len 98
rx: --- 98 bytes
Ping Response: 98 | 00161715 5d190050 56b52ef4 08004500 00540cb5 0000ff01
tx: raw 98
Here is my simple test config -
// define the IP address of this network function.
// This IP must NOT be the same with your VM's IP.
define($IP 192.168.44.29);
// This MAC must be identical with the one you defined in config.xen
define($MAC 00:16:17:15:5d:19);
source :: FromDevice;
sink :: ToDevice;
c :: Classifier(
12/0806 20/0001,
12/0806 20/0002,
12/0800,
-);
arpq :: ARPQuerier($IP, $MAC);
arpr :: ARPResponder($IP $MAC); // No comma here.
source -> c;
c[0] -> ARPPrint -> arpr -> sink;
c[1] -> [1]arpq;
Idle -> [0]arpq;
arpq -> ARPPrint -> sink;
c[2] -> CheckIPHeader(14) -> ICMPPingResponder() -> Print('Ping Response') -> EtherMirror() -> sink;
c[3] -> Discard;xen config
name = 'firsttest'
kernel = '/home/tester/workspace/clickos/minios/build/clickos_x86_64'
vcpus = '1'
# pinning your VCPU helps performance
cpus = '3'
memory = '128'
# uncoment this line if you wish to use our backend
#vif = ['bridge=vale0,script=vif-vale']
vif = ['script=vif-openvswitch,mac=00:16:17:15:5d:19,bridge=ovsbr1,model=e1000']
on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'preserve'
click = 'mirror.click'
# uncomment this line to enable PVH mode for ClickOS
#pvh=1