Coder Social home page Coder Social logo

naveenjoy / networking-vpp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from iawells/networking-vpp

3.0 3.0 1.0 915 KB

ML2 Mechanism driver and small control plane for OpenVPP forwarder

License: Apache License 2.0

Shell 4.29% Python 95.48% Mako 0.23%

networking-vpp's People

Contributors

amccormi avatar bodenr avatar christophefontaine avatar dongjun666 avatar fepan avatar hareeshpc avatar houl7 avatar iawells avatar jbeuque avatar kahou82 avatar najoy avatar pcarver avatar prabhjot-sethi avatar rcurran1 avatar ruijingguo avatar sc68cal avatar seanatcisco avatar shrircha avatar tiewei avatar tiswanso avatar vhosakot avatar yicwang avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

samuel-gauthier

networking-vpp's Issues

networking_vpp: Error: Recursion check hit on activating port

2016-06-08 14:04:11.556 WARNING networking_vpp.mech_vpp [req-ee3ea117-0389-467d-a696-fc0d93e8e3c8 None None] Your recursion check hit on activating port
2016-06-08 14:04:11.634 DEBUG neutron.plugins.ml2.db [req-ca1caee1-e811-412f-939a-507cce8ac943 neutron 045a85a4cdac434fb2ce3a0f48d8fb12] For port 4e6e915e-f2ed-4a9
9-a4e1-4c0e9f051efc, host sjo-smf-ubuntu-server-2, got binding levels [<neutron.plugins.ml2.models.PortBindingLevel[object at 7f88207e0f90] {port_id=u'4e6e915e-f2e
d-4a99-a4e1-4c0e9f051efc', host=u'sjo-smf-ubuntu-server-2', level=0, driver=u'vpp', segment_id=u'94bc56ec-bf3b-4930-aeb4-7563c6906cf5'}>] from (pid=5068) get_bindi
ng_levels /opt/stack/neutron/neutron/plugins/ml2/db.py:184
2016-06-08 14:04:11.673 ERROR networking_vpp.mech_vpp [req-ca1caee1-e811-412f-939a-507cce8ac943 neutron 045a85a4cdac434fb2ce3a0f48d8fb12] in postcommit, port is {'
status': 'ACTIVE', 'binding:host_id': u'sjo-smf-ubuntu-server-2', 'description': u'', 'allowed_address_pairs': [], 'extra_dhcp_opts': [], 'updated_at': '2016-06-08
T21:04:11', 'device_owner': u'compute:None', 'port_security_enabled': True, 'binding:profile': {}, 'fixed_ips': [{'subnet_id': u'b002726e-30a6-4404-8673-a80105c13d
af', 'ip_address': u'10.0.0.71'}, {'subnet_id': u'b64f2dd7-a58c-4b96-a535-bec964ea6480', 'ip_address': u'fd3e:e14d:50c0:0:f816:3eff:fef8:f53c'}], 'id': u'4e6e915e-
f2ed-4a99-a4e1-4c0e9f051efc', 'security_groups': [u'26e0d6d0-8c40-4cce-ad73-3d391d11e851'], 'device_id': u'c18ac37d-8719-47fc-8a33-c9ab9632d179', 'name': u'', 'adm
in_state_up': True, 'network_id': u'113c31d8-b17e-434d-a79e-544aeef8ac19', 'dns_name': None, 'binding:vif_details': {u'vhostuser_socket': u'/tmp/4e6e915e-f2ed-4a99
-a4e1-4c0e9f051efc', u'vhostuser_mode': u'client'}, 'binding:vnic_type': u'normal', 'binding:vif_type': u'vhostuser', 'tenant_id': u'4bc236cc3c264a0fb7afdf6ea45cb9
de', 'mac_address': u'fa:16:3e:f8:f5:3c', 'created_at': '2016-06-08T21:04:11'}
Traceback (most recent call last):
File "/usr/lib/python2.7/logging/init.py", line 861, in emit
msg = self.format(record)
File "/usr/local/lib/python2.7/dist-packages/oslo_log/handlers.py", line 73, in format
return logging.StreamHandler.format(self, record)
File "/usr/lib/python2.7/logging/init.py", line 734, in format
return fmt.format(record)
File "/usr/local/lib/python2.7/dist-packages/oslo_log/formatters.py", line 267, in format
return logging.Formatter.format(self, record)
File "/usr/lib/python2.7/logging/init.py", line 465, in format
record.message = record.getMessage()
File "/usr/lib/python2.7/logging/init.py", line 329, in getMessage
msg = msg % self.args
ValueError: unsupported format character ',' (0x2c) at index 64
Logged from file mech_vpp.py, line 221

When VPP port creation fails agent should notify the ML2 framework

The VPP REST agent is only programmed to print a failure message to the console if the VPP port creation fails. The ML2 mechanism driver does a PUT of the port creation request to the agent and assumes that everything went well. This results in the creation of a "failed port" for the VM by ML2 that is not detected by the driver.

Solution:
Program the ML2 framework to detect the failure.
optionA) Use the existing ML2 messaging framework
optionB) Implement a callback mechanism

vpp driver throws an AttributeError exception during interface creation

File "/opt/stack/networking-vpp/networking_vpp/agent/server.py", line 233, in bind_interface_on_host
(iface, props) = self.create_interface_on_host(if_type, uuid, mac)
File "/opt/stack/networking-vpp/networking_vpp/agent/server.py", line 221, in create_interface_on_host
iface = self.vpp.create_vhostuser(path, mac)
File "/opt/stack/networking-vpp/networking_vpp/agent/vpp.py", line 105, in create_vhostuser
_check_retval(t)
File "/opt/stack/networking-vpp/networking_vpp/agent/vpp.py", line 43, in _check_retval
if t.retval != 0:
AttributeError: 'list' object has no attribute 'retval'

vpp input/output error

[vagrant@localhost devstack]$ sudo service vpp status
Redirecting to /bin/systemctl status vpp.service

  • vpp.service - Vector Packet Processing Process
    Loaded: loaded (/usr/lib/systemd/system/vpp.service; disabled; vendor preset: disabled)
    Active: active (running) since Fri 2016-06-03 23:28:47 UTC; 12min ago
    Main PID: 3207 (vpp_main)
    CGroup: /system.slice/vpp.service
    `-3207 /usr/bin/vpp -c /etc/vpp/startup.conf

Jun 03 23:28:48 localhost.localdomain vpp[3207]: Segment 0: phys:0x35800000, len:20971520, virt:0x7f02c7800000, socket...ank:0
Jun 03 23:28:48 localhost.localdomain vpp[3207]: Segment 1: phys:0x7d000000, len:515899392, virt:0x7f0288a00000, socke...ank:0
Jun 03 23:28:48 localhost.localdomain vpp[3207]: PMD: eth_em_tx_queue_setup(): sw_ring=0x7f02c8729a40 hw_ring=0x7f02c8...2bb40
Jun 03 23:28:48 localhost.localdomain vpp[3207]: PMD: eth_em_rx_queue_setup(): sw_ring=0x7f02c8718900 hw_ring=0x7f02c8...19a00
Jun 03 23:37:38 localhost.localdomain vnet[3207]: PMD: eth_em_rx_init(): forcing scatter mode
Jun 03 23:37:38 localhost.localdomain vpp[3207]: PMD: eth_em_rx_init(): forcing scatter mode
Jun 03 23:37:38 localhost.localdomain vnet[3207]: EAL: Error enabling interrupts for fd 13 (Input/output error)
Jun 03 23:37:38 localhost.localdomain vnet[3207]: PMD: eth_em_start(): <<
Jun 03 23:37:38 localhost.localdomain vpp[3207]: EAL: Error enabling interrupts for fd 13 (Input/output error)
Jun 03 23:37:38 localhost.localdomain vpp[3207]: PMD: eth_em_start(): <<
Hint: Some lines were ellipsized, use -l to show in full.

vpp agent: create vlan subinterface Error

Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/flask/app.py", line 1836, in call
return self.wsgi_app(environ, start_response)
File "/usr/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "/usr/lib64/python2.7/site-packages/flask_restful/init.py", line 271, in error_router
return original_handler(e)
File "/usr/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception
reraise(exc_type, exc_value, tb)
File "/usr/lib64/python2.7/site-packages/flask_restful/init.py", line 268, in error_router
return self.handle_error(e)
File "/usr/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib64/python2.7/site-packages/flask_restful/init.py", line 271, in error_router
return original_handler(e)
File "/usr/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/usr/lib64/python2.7/site-packages/flask_restful/init.py", line 268, in error_router
return self.handle_error(e)
File "/usr/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request
return self.view_functionsrule.endpoint
File "/usr/lib64/python2.7/site-packages/flask_restful/init.py", line 477, in wrapper
resp = resource(_args, *_kwargs)
File "/usr/lib/python2.7/site-packages/flask/views.py", line 84, in view
return self.dispatch_request(_args, *_kwargs)
File "/usr/lib64/python2.7/site-packages/flask_restful/init.py", line 587, in dispatch_request
resp = meth(_args, *_kwargs)
File "/opt/stack/networking-vpp/networking_vpp/agent/server.py", line 269, in put
args['segmentation_id'])
File "/opt/stack/networking-vpp/networking_vpp/agent/server.py", line 232, in bind_interface_on_host
net_br_idx = self.network_on_host(net_type, seg_id)
File "/opt/stack/networking-vpp/networking_vpp/agent/server.py", line 129, in network_on_host
seg_id)
File "/opt/stack/networking-vpp/networking_vpp/agent/vpp.py", line 153, in create_vlan_subif
return t.sw_if_index
AttributeError: 'list' object has no attribute 'sw_if_index'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.