aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/avf
AgeCommit message (Collapse)AuthorFilesLines
2018-09-04avf: fix random rss keyJakub Grajciar1-2/+2
Change-Id: I622cdb969ea489d333888b90c15ab57c1820e2db Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2018-08-30avf: RSS supportJakub Grajciar6-19/+80
Change-Id: I59b8f08789f0704d6768258348e938da67e5b15b Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2018-08-28avf: deal willth tx ring full properlyDamjan Marion3-11/+52
Change-Id: I0b38e129ee01d212463253e5526bfc2d60fd88af Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-08-28avf: add missing rx_redirect_to_node handlerDamjan Marion1-0/+20
Change-Id: If7fdcdef9a9e12fdf4b7af3c95e06602e39f1e10 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-08-27cmake: Fix plugins .h includesMohsin Kazmi1-0/+4
Change-Id: I90600d000afb02e8969f3c01bcf9e4b5c10a7d39 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-08-27cmake: add missing vat pluginsDamjan Marion1-0/+3
Change-Id: Ib61f0299c17c0f021408ab0a44c5b54f55f8a8ec Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-08-25cmake: improve add_vpp_plugin macroDamjan Marion1-4/+6
Change-Id: Iffd5c45ab242a919592a1f686f7f880936b68a1a Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-08-17CMake as an alternative to autotools (experimental)Damjan Marion1-0/+28
Change-Id: Ibc59323e849810531dd0963e85493efad3b86857 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-08-13Multiarch handling in different constructor macrosDamjan Marion1-2/+0
This significantly reduces need for ... in multiarch code. Simply constructor macros will jost create static unused entry if CLIB_MARCH_VARIANT is defined and that will be optimized out by compiler. Change-Id: I17d1c4ac0c903adcfadaa4a07de1b854c7ab14ac Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-08-11Multiversioning: Device (tx) function constructorMohsin Kazmi3-22/+3
Change-Id: I39f87ca161c891fb22462a23188982fef7c3243f Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-08-11avf: fix prefetch bugDamjan Marion1-1/+1
Change-Id: I4e774dc53b08746cd4ab42393f33676dcc78e791 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-08-03Fix typo in trace trajectory initDave Barach1-1/+1
plugin won't compile if VLIB_BUFFER_TRACE_TRAJECTORY is set. The quad loop was OK, bug in single loop only. Change-Id: I11262bf6a223680eeac7ed23238ceda425a02c1b Signed-off-by: Dave Barach <dave@barachs.net>
2018-08-03avf: add avf_create_reply_handler to avf_testJakub Grajciar1-1/+18
Change-Id: I2f376a777081da131110227e760ca0069438c918 Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2018-07-26avf: used tx queue should be enabledDamjan Marion2-2/+8
Change-Id: I51cc4522df2dd6682148a13e7e1903850b4b3d08 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-07-26avf: request queues supportJakub Grajciar3-3/+68
Change-Id: I3a4529ff8dae70da99ec95c39ddf788c9498f478 Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2018-07-26avf: fix interrupt modeDamjan Marion2-2/+25
- assign rx thread on interface create, not on admin up - keep interrupts unmasked all the time as they are needed for writeback - forward interrupt to graph dispatcher only if queue is in the interrupt mode Change-Id: I5cc5afe24960143bef08f12d59fbd80ae0c6ccf8 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-07-25avf: api fixJakub Grajciar4-7/+25
avf_create_reply returns software index for the new interface Change-Id: I8a6b1a1985b072efafa24eb258b1f2cb1bea1110 Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2018-07-20avf: don't enable interrupts before interface is admin upDamjan Marion1-1/+0
Change-Id: I0fc19dd109e569f2c407a85e8fa32758e06676b8 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-07-20avf: Support interrupt modeSteven2-1/+5
DBGvpp# set interface rx-mode AVF0/4/2/0 interrupt set interface rx-mode AVF0/4/2/0 interrupt DBGvpp# sh int rx sh int rx Thread 0 (vpp_main): node dpdk-input: FortyGigabitEthernet6/0/0 queue 0 (polling) node avf-input: AVF0/4/2/0 queue 0 (interrupt) DBGvpp# sh int addr sh int addr AVF0/4/2/0 (up): L3 133.1.1.10/24 FortyGigabitEthernet6/0/0 (dn): VirtualEthernet0/0/0 (up): L3 192.168.42.1/24 DBGvpp# clear run clear run DBGvpp# clear interfaces clear interfaces DBGvpp# sh int rx sh int rx Thread 0 (vpp_main): node dpdk-input: FortyGigabitEthernet6/0/0 queue 0 (polling) node avf-input: AVF0/4/2/0 queue 0 (interrupt) DBGvpp# ping 133.1.1.3 repeat 1 ping 133.1.1.3 repeat 1 64 bytes from 133.1.1.3: icmp_seq=1 ttl=64 time=.6237 ms Statistics: 1 sent, 1 received, 0% packet loss DBGvpp# sh int sh int Name Idx State MTU (L3/IP4/IP6/MPLS) Counter Count AVF0/4/2/0 5 up 9000/0/0/0 rx packets 1 rx bytes 98 tx packets 1 tx bytes 98 drops 1 ip4 1 FortyGigabitEthernet6/0/0 1 down 9000/0/0/0 VirtualEthernet0/0/0 2 up 9000/0/0/0 local0 0 down 9000/0/0/0 DBGvpp# sh run sh run Time 41.9, average vectors/node 1.00, last 128 main loops 0.00 per node 0.00 vector rates in 2.3858e-2, out 2.3858e-2, drop 2.3858e-2, punt 0.0000e0 Name State Calls Vectors Suspends Clocks Vectors/Call AVF0/4/2/0-output active 1 1 0 1.24e4 1.00 AVF0/4/2/0-tx active 1 1 0 4.28e4 1.00 api-rx-from-ring any wait 0 0 2 6.94e4 0.00 avf-input interrupt wa 1 1 0 1.09e4 1.00 avf-process any wait 0 0 47 1.01e4 0.00 ... DBGvpp# DBGvpp# set interface rx-mode AVF0/4/2/0 polling set interface rx-mode AVF0/4/2/0 polling DBGvpp# sh int rx sh int rx Thread 0 (vpp_main): node dpdk-input: FortyGigabitEthernet6/0/0 queue 0 (polling) node avf-input: AVF0/4/2/0 queue 0 (polling) DBGvpp# ping 133.1.1.3 repeat 1 ping 133.1.1.3 repeat 1 64 bytes from 133.1.1.3: icmp_seq=1 ttl=64 time=.2038 ms Statistics: 1 sent, 1 received, 0% packet loss DBGvpp# Change-Id: Ib7d2b505ae4bb74a052263af766ca37d9df7bfe4 Signed-off-by: Steven <sluong@cisco.com>
2018-07-11avoid using thread local storage for thread indexDamjan Marion1-1/+1
It is cheaper to get thread index from vlib_main_t if available... Change-Id: I4582e160d06d9d7fccdc54271912f0635da79b50 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-07-11avf: descriptor should be volatileDamjan Marion4-40/+60
Change-Id: I2cb4cf2167b6e958d2e57b461848a4a189e3fda0 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-06-27avf: binary API and configurable RX/TX queue sizeJakub Grajciar9-12/+566
Change-Id: Ibd3a8d28d8f1df2bc14c42e48498f6ac26081192 Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2018-06-15avf: tx node fixesDamjan Marion1-9/+9
- missing RSV bit set in descriptor - wrong buffer offset Change-Id: I8b138266652a30a50e4541c6344e4fe3dec4d1ca Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-06-12avf: fix crash if device is busyJakub Grajciar1-1/+8
Change-Id: I170d78c8e5f7e16a264c9f226a09693109aece5e Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2018-06-09avf: properly cofigure RSS LUTDamjan Marion2-13/+40
Change-Id: I85cfab692ae0a72277ae561cdba7dcbc1f60aca3 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-06-09avf: add support for intel X722 NICsDamjan Marion1-0/+1
Change-Id: I3e07070eed4948e813ad1490963c7f8ef7f4262e Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-06-02AVF input node reworkDamjan Marion2-203/+334
Change-Id: Ib121b24935d5c706cfba6e4b6d321086a38cad91 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-05-29Add VLIB_NODE_FN() macro to simplify multiversioning of node functionsDamjan Marion2-19/+3
Change-Id: Ibab5e27277f618ceb2d543b9d6a1a5f191e7d1db Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-05-22avf plugin: add support for loggingJakub Grajciar2-5/+14
Change-Id: Ic8c5b527395fc99f1e1a72e51f8d41c9b4f415df Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2018-04-04Doc updates prior to branchChris Luke1-1/+1
Change-Id: Ibcffee7d20dbb79720199bcd82d2353f39d5544f Signed-off-by: Chris Luke <chrisy@flirble.org>
2018-03-28avf: keep input node in disabled state unless neededDamjan Marion1-1/+1
Change-Id: I9a0105aa2373bd4db218851b1bbee50c6b6dfc7d Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-03-26Intel Adaptive Virtual Function native device driver pluginDamjan Marion9-0/+2946
Change-Id: If168a9c54baaa516ecbe78de2141f11c17aa2f53 Signed-off-by: Damjan Marion <damarion@cisco.com>