contiv / netplugin

Container networking for various use cases
Apache License 2.0
514 stars 177 forks source link

"netplugin -vlan-if eth0" crash nic #261

Open leslie-wang opened 8 years ago

leslie-wang commented 8 years ago

After I run "netplugin -vlan-if eth0", eth0 is crash. SSH session got disconnected, and can not ping.

ladmin@contiv149:~$ sudo netplugin -vlan-if eth0 &
[3] 2893
ladmin@contiv149:~$ INFO[Jan 31 21:47:10.197859698] Got host addr: 172.29.205.252                
INFO[Jan 31 21:47:10.198910542] config not specified, using default config   
INFO[Jan 31 21:47:10.201019917] Initing service plugin                       
INFO[Jan 31 21:47:10.201074606] Creating a new bridge: skydns2:              
2016/01/31 21:47:10 Extension point components: {map[consul:0xd39628 skydns2:0xd39628]}
INFO[Jan 31 21:47:10.201210840] Using%!(EXTRA string=skydns2, string=service adapter:, *url.URL=skydns2://) 
INFO[Jan 31 21:47:10.201265598] Connecting to backend (0/0)                  
INFO[Jan 31 21:47:10.201308696] docker plugin listening on /run/docker/plugins/netplugin.sock 
INFO[Jan 31 21:47:10.230469630] Initializing ovsdriver                       
INFO[Jan 31 21:47:10.238541957] RPC Server is listening on [::]:9002

2016/01/31 21:47:10 method AddLocalEndpoint has wrong number of ins: 2
2016/01/31 21:47:10 method AddUplink has wrong number of ins: 2
2016/01/31 21:47:10 method AddVlan reply type not a pointer: uint32
2016/01/31 21:47:10 method AddVtepPort reply type not a pointer: net.IP
INFO[Jan 31 21:47:10.238768157] Listening for connections on :6633           
2016/01/31 21:47:10 method Delete has wrong number of ins: 1
2016/01/31 21:47:10 method IsSwitchConnected has wrong number of ins: 1
2016/01/31 21:47:10 method PacketRcvd has wrong number of outs: 0
2016/01/31 21:47:10 method RemoveLocalEndpoint has wrong number of ins: 2
2016/01/31 21:47:10 method RemoveMaster has wrong number of ins: 2
2016/01/31 21:47:10 method RemoveUplink has wrong number of ins: 2
2016/01/31 21:47:10 method RemoveVlan reply type not a pointer: uint32
2016/01/31 21:47:10 method RemoveVtepPort reply type not a pointer: net.IP
2016/01/31 21:47:10 method SwitchConnected has wrong number of ins: 2
2016/01/31 21:47:10 method SwitchDisconnected has wrong number of ins: 2
2016/01/31 21:47:10 method WaitForSwitchConnection has wrong number of ins: 1
2016/01/31 21:47:10 method AddEndpoint has wrong number of ins: 2
2016/01/31 21:47:10 method DelEndpoint has wrong number of ins: 2
2016/01/31 21:47:10 method InitTables has wrong number of ins: 2
2016/01/31 21:47:10 method SwitchConnected has wrong number of ins: 2
2016/01/31 21:47:10 method SwitchDisconnected has wrong number of ins: 2
INFO[Jan 31 21:47:10.239790066] Waiting for OVS switch(vxlan) to connect..   

INFO[Jan 31 21:47:11.953142117] New connection..                             
INFO[Jan 31 21:47:11.953295548] Received Openflow 1.3 Hello message          
INFO[Jan 31 21:47:11.953852189] Received ofp1.3 Switch feature response: {Header:{Version:4 Type:6 Length:32 Xid:3} DPID:00:00:ba:87:f9:75:a0:46 Buffers:256 NumTables:254 AuxilaryId:0 pad:[0 0] Capabilities:71 Actions:0 Ports:[]} 
INFO[Jan 31 21:47:11.953927934] Openflow Connection for new switch: 00:00:ba:87:f9:75:a0:46 
INFO[Jan 31 21:47:11.953980221] Switch 00:00:ba:87:f9:75:a0:46 connected     
INFO[Jan 31 21:47:11.954001536] Switch connected(policyAgent).               
INFO[Jan 31 21:47:11.954018397] Installing initial flow entries              
INFO[Jan 31 21:47:11.955373437] Creating new flow for match: {Priority:1 InputPort:0 MacDa:<nil> MacDaMask:<nil> MacSa:<nil> MacSaMask:<nil> Ethertype:0 VlanId:0 IpSa:<nil> IpSaMask:<nil> IpDa:<nil> IpDaMask:<nil> IpProto:0 TcpSrcPort:0 TcpDstPort:0 UdpSrcPort:0 UdpDstPort:0 Metadata:<nil> MetadataMask:<nil> TunnelId:0 TcpFlags:<nil> TcpFlagsMask:<nil>} 
INFO[Jan 31 21:47:11.955657607] Added flow: {"Priority":1,"InputPort":0,"MacDa":null,"MacDaMask":null,"MacSa":null,"MacSaMask":null,"Ethertype":0,"VlanId":0,"IpSa":null,"IpSaMask":null,"IpDa":null,"IpDaMask":null,"IpProto":0,"TcpSrcPort":0,"TcpDstPort":0,"UdpSrcPort":0,"UdpDstPort":0,"Metadata":null,"MetadataMask":null,"TunnelId":0,"TcpFlags":null,"TcpFlagsMask":null} 

INFO[Jan 31 21:47:11.956469244] Creating new flow for match: {Priority:1 InputPort:0 MacDa:<nil> MacDaMask:<nil> MacSa:<nil> MacSaMask:<nil> Ethertype:0 VlanId:0 IpSa:<nil> IpSaMask:<nil> IpDa:<nil> IpDaMask:<nil> IpProto:0 TcpSrcPort:0 TcpDstPort:0 UdpSrcPort:0 UdpDstPort:0 Metadata:<nil> MetadataMask:<nil> TunnelId:0 TcpFlags:<nil> TcpFlagsMask:<nil>} 
ladmin@contiv149:~$ INFO[Jan 31 21:47:11.956538018] Added flow: {"Priority":1,"InputPort":0,"MacDa":null,"MacDaMask":null,"MacSa":null,"MacSaMask":null,"Ethertype":0,"VlanId":0,"IpSa":null,"IpSaMask":null,"IpDa":null,"IpDaMask":null,"IpProto":0,"TcpSrcPort":0,"TcpDstPort":0,"UdpSrcPort":0,"UdpDstPort":0,"Metadata":null,"MetadataMask":null,"TunnelId":0,"TcpFlags":null,"TcpFlagsMask":null} 
INFO[Jan 31 21:47:11.956677203] Creating new flow for match: {Priority:100 InputPort:0 MacDa:<nil> MacDaMask:<nil> MacSa:01:00:00:00:00:00 MacSaMask:01:00:00:00:00:00 Ethertype:0 VlanId:0 IpSa:<nil> IpSaMask:<nil> IpDa:<nil> IpDaMask:<nil> IpProto:0 TcpSrcPort:0 TcpDstPort:0 UdpSrcPort:0 UdpDstPort:0 Metadata:<nil> MetadataMask:<nil> TunnelId:0 TcpFlags:<nil> TcpFlagsMask:<nil>} 
INFO[Jan 31 21:47:11.956727735] Added flow: {"Priority":100,"InputPort":0,"MacDa":null,"MacDaMask":null,"MacSa":"AQAAAAAA","MacSaMask":"AQAAAAAA","Ethertype":0,"VlanId":0,"IpSa":null,"IpSaMask":null,"IpDa":null,"IpDaMask":null,"IpProto":0,"TcpSrcPort":0,"TcpDstPort":0,"UdpSrcPort":0,"UdpDstPort":0,"Metadata":null,"MetadataMask":null,"TunnelId":0,"TcpFlags":null,"TcpFlagsMask":null} 
INFO[Jan 31 21:47:11.956829457] Creating new flow for match: {Priority:1 InputPort:0 MacDa:<nil> MacDaMask:<nil> MacSa:<nil> MacSaMask:<nil> Ethertype:0 VlanId:0 IpSa:<nil> IpSaMask:<nil> IpDa:<nil> IpDaMask:<nil> IpProto:0 TcpSrcPort:0 TcpDstPort:0 UdpSrcPort:0 UdpDstPort:0 Metadata:<nil> MetadataMask:<nil> TunnelId:0 TcpFlags:<nil> TcpFlagsMask:<nil>} 
INFO[Jan 31 21:47:11.956876543] Added flow: {"Priority":1,"InputPort":0,"MacDa":null,"MacDaMask":null,"MacSa":null,"MacSaMask":null,"Ethertype":0,"VlanId":0,"IpSa":null,"IpSaMask":null,"IpDa":null,"IpDaMask":null,"IpProto":0,"TcpSrcPort":0,"TcpDstPort":0,"UdpSrcPort":0,"UdpDstPort":0,"Metadata":null,"MetadataMask":null,"TunnelId":0,"TcpFlags":null,"TcpFlagsMask":null} 
INFO[Jan 31 21:47:11.956993875] Creating new flow for match: {Priority:1 InputPort:0 MacDa:<nil> MacDaMask:<nil> MacSa:<nil> MacSaMask:<nil> Ethertype:0 VlanId:0 IpSa:<nil> IpSaMask:<nil> IpDa:<nil> IpDaMask:<nil> IpProto:0 TcpSrcPort:0 TcpDstPort:0 UdpSrcPort:0 UdpDstPort:0 Metadata:<nil> MetadataMask:<nil> TunnelId:0 TcpFlags:<nil> TcpFlagsMask:<nil>} 
INFO[Jan 31 21:47:11.957061260] Added flow: {"Priority":1,"InputPort":0,"MacDa":null,"MacDaMask":null,"MacSa":null,"MacSaMask":null,"Ethertype":0,"VlanId":0,"IpSa":null,"IpSaMask":null,"IpDa":null,"IpDaMask":null,"IpProto":0,"TcpSrcPort":0,"TcpDstPort":0,"UdpSrcPort":0,"UdpDstPort":0,"Metadata":null,"MetadataMask":null,"TunnelId":0,"TcpFlags":null,"TcpFlagsMask":null} 
INFO[Jan 31 21:47:11.957137419] Creating new flow for match: {Priority:1 InputPort:0 MacDa:<nil> MacDaMask:<nil> MacSa:<nil> MacSaMask:<nil> Ethertype:0 VlanId:0 IpSa:<nil> IpSaMask:<nil> IpDa:<nil> IpDaMask:<nil> IpProto:0 TcpSrcPort:0 TcpDstPort:0 UdpSrcPort:0 UdpDstPort:0 Metadata:<nil> MetadataMask:<nil> TunnelId:0 TcpFlags:<nil> TcpFlagsMask:<nil>} 
INFO[Jan 31 21:47:11.957181296] Added flow: {"Priority":1,"InputPort":0,"MacDa":null,"MacDaMask":null,"MacSa":null,"MacSaMask":null,"Ethertype":0,"VlanId":0,"IpSa":null,"IpSaMask":null,"IpDa":null,"IpDaMask":null,"IpProto":0,"TcpSrcPort":0,"TcpDstPort":0,"UdpSrcPort":0,"UdpDstPort":0,"Metadata":null,"MetadataMask":null,"TunnelId":0,"TcpFlags":null,"TcpFlagsMask":null} 
INFO[Jan 31 21:47:11.957276946] Switch connected(vxlan)                      
INFO[Jan 31 21:47:12.240184755] Switch (vxlan) connected.                    
INFO[Jan 31 21:47:12.248419394] RPC Server is listening on [::]:9003

2016/01/31 21:47:12 method AddLocalEndpoint has wrong number of ins: 2
2016/01/31 21:47:12 method AddUplink has wrong number of ins: 2
2016/01/31 21:47:12 method AddVlan reply type not a pointer: uint32
2016/01/31 21:47:12 method AddVtepPort reply type not a pointer: net.IP
2016/01/31 21:47:12 method Delete has wrong number of ins: 1
2016/01/31 21:47:12 method IsSwitchConnected has wrong number of ins: 1
INFO[Jan 31 21:47:12.248621739] Listening for connections on :6634           
2016/01/31 21:47:12 method PacketRcvd has wrong number of outs: 0
2016/01/31 21:47:12 method RemoveLocalEndpoint has wrong number of ins: 2
2016/01/31 21:47:12 method RemoveMaster has wrong number of ins: 2
2016/01/31 21:47:12 method RemoveUplink has wrong number of ins: 2
2016/01/31 21:47:12 method RemoveVlan reply type not a pointer: uint32
2016/01/31 21:47:12 method RemoveVtepPort reply type not a pointer: net.IP
2016/01/31 21:47:12 method SwitchConnected has wrong number of ins: 2
2016/01/31 21:47:12 method SwitchDisconnected has wrong number of ins: 2
2016/01/31 21:47:12 method WaitForSwitchConnection has wrong number of ins: 1
2016/01/31 21:47:12 method AddEndpoint has wrong number of ins: 2
2016/01/31 21:47:12 method DelEndpoint has wrong number of ins: 2
2016/01/31 21:47:12 method InitTables has wrong number of ins: 2
2016/01/31 21:47:12 method SwitchConnected has wrong number of ins: 2
2016/01/31 21:47:12 method SwitchDisconnected has wrong number of ins: 2
INFO[Jan 31 21:47:12.249090826] Waiting for OVS switch(vlan) to connect..    

INFO[Jan 31 21:47:19.953315487] New connection..                             
INFO[Jan 31 21:47:19.953437133] Received Openflow 1.3 Hello message          
INFO[Jan 31 21:47:19.954046571] Received ofp1.3 Switch feature response: {Header:{Version:4 Type:6 Length:32 Xid:18} DPID:00:00:90:e2:ba:8e:c0:f5 Buffers:256 NumTables:254 AuxilaryId:0 pad:[0 0] Capabilities:71 Actions:0 Ports:[]} 
INFO[Jan 31 21:47:19.954115899] Openflow Connection for new switch: 00:00:90:e2:ba:8e:c0:f5 
INFO[Jan 31 21:47:19.954171231] Switch 00:00:90:e2:ba:8e:c0:f5 connected     
INFO[Jan 31 21:47:19.954204528] Switch connected(policyAgent).               
INFO[Jan 31 21:47:19.954233958] Installing initial flow entries              
INFO[Jan 31 21:47:19.954325811] Creating new flow for match: {Priority:1 InputPort:0 MacDa:<nil> MacDaMask:<nil> MacSa:<nil> MacSaMask:<nil> Ethertype:0 VlanId:0 IpSa:<nil> IpSaMask:<nil> IpDa:<nil> IpDaMask:<nil> IpProto:0 TcpSrcPort:0 TcpDstPort:0 UdpSrcPort:0 UdpDstPort:0 Metadata:<nil> MetadataMask:<nil> TunnelId:0 TcpFlags:<nil> TcpFlagsMask:<nil>} 
INFO[Jan 31 21:47:19.954416386] Added flow: {"Priority":1,"InputPort":0,"MacDa":null,"MacDaMask":null,"MacSa":null,"MacSaMask":null,"Ethertype":0,"VlanId":0,"IpSa":null,"IpSaMask":null,"IpDa":null,"IpDaMask":null,"IpProto":0,"TcpSrcPort":0,"TcpDstPort":0,"UdpSrcPort":0,"UdpDstPort":0,"Metadata":null,"MetadataMask":null,"TunnelId":0,"TcpFlags":null,"TcpFlagsMask":null} 
INFO[Jan 31 21:47:19.954502824] Creating new flow for match: {Priority:1 InputPort:0 MacDa:<nil> MacDaMask:<nil> MacSa:<nil> MacSaMask:<nil> Ethertype:0 VlanId:0 IpSa:<nil> IpSaMask:<nil> IpDa:<nil> IpDaMask:<nil> IpProto:0 TcpSrcPort:0 TcpDstPort:0 UdpSrcPort:0 UdpDstPort:0 Metadata:<nil> MetadataMask:<nil> TunnelId:0 TcpFlags:<nil> TcpFlagsMask:<nil>} 
INFO[Jan 31 21:47:19.954590217] Added flow: {"Priority":1,"InputPort":0,"MacDa":null,"MacDaMask":null,"MacSa":null,"MacSaMask":null,"Ethertype":0,"VlanId":0,"IpSa":null,"IpSaMask":null,"IpDa":null,"IpDaMask":null,"IpProto":0,"TcpSrcPort":0,"TcpDstPort":0,"UdpSrcPort":0,"UdpDstPort":0,"Metadata":null,"MetadataMask":null,"TunnelId":0,"TcpFlags":null,"TcpFlagsMask":null} 
INFO[Jan 31 21:47:19.954892472] Creating new flow for match: {Priority:1 InputPort:0 MacDa:<nil> MacDaMask:<nil> MacSa:<nil> MacSaMask:<nil> Ethertype:0 VlanId:0 IpSa:<nil> IpSaMask:<nil> IpDa:<nil> IpDaMask:<nil> IpProto:0 TcpSrcPort:0 TcpDstPort:0 UdpSrcPort:0 UdpDstPort:0 Metadata:<nil> MetadataMask:<nil> TunnelId:0 TcpFlags:<nil> TcpFlagsMask:<nil>} 
INFO[Jan 31 21:47:19.955096021] Added flow: {"Priority":1,"InputPort":0,"MacDa":null,"MacDaMask":null,"MacSa":null,"MacSaMask":null,"Ethertype":0,"VlanId":0,"IpSa":null,"IpSaMask":null,"IpDa":null,"IpDaMask":null,"IpProto":0,"TcpSrcPort":0,"TcpDstPort":0,"UdpSrcPort":0,"UdpDstPort":0,"Metadata":null,"MetadataMask":null,"TunnelId":0,"TcpFlags":null,"TcpFlagsMask":null} 
INFO[Jan 31 21:47:19.955213629] Creating new flow for match: {Priority:1 InputPort:0 MacDa:<nil> MacDaMask:<nil> MacSa:<nil> MacSaMask:<nil> Ethertype:0 VlanId:0 IpSa:<nil> IpSaMask:<nil> IpDa:<nil> IpDaMask:<nil> IpProto:0 TcpSrcPort:0 TcpDstPort:0 UdpSrcPort:0 UdpDstPort:0 Metadata:<nil> MetadataMask:<nil> TunnelId:0 TcpFlags:<nil> TcpFlagsMask:<nil>} 
INFO[Jan 31 21:47:19.955307793] Added flow: {"Priority":1,"InputPort":0,"MacDa":null,"MacDaMask":null,"MacSa":null,"MacSaMask":null,"Ethertype":0,"VlanId":0,"IpSa":null,"IpSaMask":null,"IpDa":null,"IpDaMask":null,"IpProto":0,"TcpSrcPort":0,"TcpDstPort":0,"UdpSrcPort":0,"UdpDstPort":0,"Metadata":null,"MetadataMask":null,"TunnelId":0,"TcpFlags":null,"TcpFlagsMask":null} 
INFO[Jan 31 21:47:19.955385741] Creating new flow for match: {Priority:1 InputPort:0 MacDa:<nil> MacDaMask:<nil> MacSa:<nil> MacSaMask:<nil> Ethertype:0 VlanId:0 IpSa:<nil> IpSaMask:<nil> IpDa:<nil> IpDaMask:<nil> IpProto:0 TcpSrcPort:0 TcpDstPort:0 UdpSrcPort:0 UdpDstPort:0 Metadata:<nil> MetadataMask:<nil> TunnelId:0 TcpFlags:<nil> TcpFlagsMask:<nil>} 
INFO[Jan 31 21:47:19.955447177] Added flow: {"Priority":1,"InputPort":0,"MacDa":null,"MacDaMask":null,"MacSa":null,"MacSaMask":null,"Ethertype":0,"VlanId":0,"IpSa":null,"IpSaMask":null,"IpDa":null,"IpDaMask":null,"IpProto":0,"TcpSrcPort":0,"TcpDstPort":0,"UdpSrcPort":0,"UdpDstPort":0,"Metadata":null,"MetadataMask":null,"TunnelId":0,"TcpFlags":null,"TcpFlagsMask":null} 
INFO[Jan 31 21:47:19.955521074] Switch connected(vlan)                       
INFO[Jan 31 21:47:20.250486649] Switch (vlan) connected.                     
WARN[Jan 31 21:47:20.281348737] InboundError EOF                             
INFO[Jan 31 21:47:20.281432103] Closing OpenFlow message stream.             
WARN[Jan 31 21:47:20.281480157] Received Error message from switch 00:00:90:e2:ba:8e:c0:f5. Err: EOF 
INFO[Jan 31 21:47:20.281546024] Switch 00:00:90:e2:ba:8e:c0:f5 disconnected  
Write failed: Broken pipe
QIWA-M-J07E:~ qiwa$ ping 172.29.205.252
PING 172.29.205.252 (172.29.205.252): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
^C
--- 172.29.205.252 ping statistics ---
5 packets transmitted, 0 packets received, 100.0% packet loss
jojimt commented 8 years ago

Hi @leslie-wang you should not pass your ssh interface as vlan-if to netplugin. vlan-if is the interface used for networking by contiv which means it will be disconnected from other networking. I guess we need to document this clearly.

jainvipin commented 8 years ago

@jojimt - can we put some checks to prevent/warn users from this happening? Few hints to know if this is happening:

Thanks, -Vipin

leslie-wang commented 8 years ago

@jojimt yes. that is why I bring up this issue. this probably need be documented, or valided.

leslie-wang commented 8 years ago

@jainvipin 2nd hint probably not always work since operator may want to add ip for particular interface. I guess etcd will always listen on ssh interface. if so, you probably can check if vlan interface is same as etcd binding interface.