summaryrefslogtreecommitdiffstats
path: root/src/plugins/avf/avf.h
AgeCommit message (Collapse)AuthorFilesLines
2022-12-02avf: support generic flowTing Xu1-1/+7
Support generic flow in native avf. Enable necessary RSS hash function for generic flow. Extend some structures and functions from for FDIR only to for both RSS and FDIR flows. Modify virtual channel message to align with ice kernel driver. Add functions to parse generic flow patterns. The parsing results will be delivered to the kernel driver and create corresponding flow rules. Type: feature Signed-off-by: Ting Xu <ting.xu@intel.com> Change-Id: I82ce102a21993f1bae8a8bf23e491d5e1c261f61
2021-05-19avf: improve elogsDamjan Marion1-1/+15
Change-Id: I6221e1a5924223865b3caf53590d3668965b564c Type: fix Fixes: b4ff07a Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-19avf: tx queue sharing fixes and improvementsDamjan Marion1-1/+1
Type: fix Change-Id: I16b6720174efd98c19751e0fff36df58968484d2 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-19avf: print stats in separate log classDamjan Marion1-0/+6
Type: improvement Change-Id: Ia1a4b1b1acad989cbd47a805b900160ba0071071 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-11interface: tx queue infraDamjan Marion1-0/+1
Type: improvement Change-Id: I415b2f980de10ca3154d2c8677c24792453eccd0 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-13avf: avoid placeholder buffer alloc in datapathDamjan Marion1-1/+1
Type: improvement Change-Id: I0ad0fa42f056b5797ba71d6972a44273c13bb97e Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-13avf: avoid ring wrap in the tx pathDamjan Marion1-1/+4
Type: improvement Change-Id: I91ecf0bff2ddd43ab5cf0f03ed2882882154557b Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-01avf: disable VLAN stripping on E810 using V2 VLAN APIsDamjan Marion1-0/+3
Type: fix Change-Id: I9bb19a5c9b5b48825f19a4ac124a3628ceaa081d Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-03-31avf: improve capabilities handlingDamjan Marion1-1/+2
Type: improvement Change-Id: If35b40168414807e928cb3026633ae9d2fa703ed Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-03-26avf: handle flow id in data pathChenmin Sun1-0/+8
Type: improvement Signed-off-by: Chenmin Sun <chenmin.sun@intel.com> Change-Id: I24fa52fee88dabad8f0b84446f796ee055819617
2021-03-26avf: add avf flow frameworkChenmin Sun1-10/+33
This patch adds the flow support to VPP avf_plugin. Currently only IP4-N-TUPLE and GTPU flow are supported as a reference. More flows will be added later. Type: feature Signed-off-by: Chenmin Sun <chenmin.sun@intel.com> Change-Id: I563dbfacecd3eba31e8c3c7769142ea6adba54b6
2021-03-25avf: introduce program flow eventChenmin Sun1-0/+12
This patch introduces a 'program flow' virtchannel event. The parameter is_add is used to identify adding or deleting the rule from avf Type: improvement Signed-off-by: Chenmin Sun <chenmin.sun@intel.com> Change-Id: I1f5545ddc23e4494a25afa36ff601607405a8c3d
2021-01-21avf: use write combining store for queues tail updateRadu Nicolau1-0/+11
Performance improvement: on supported platforms, currently only Intel Tremont, use a write combining store to update the tail pointers. Also, Tremont node variant is added for all. Type: improvement Signed-off-by: Radu Nicolau <radu.nicolau@intel.com> Change-Id: Ie9606e403b7d9655184f778e3ffee3027c8c9edd
2021-01-21interface: rx queue infra rework, part oneDamjan Marion1-0/+1
Type: improvement Change-Id: I4008cadfd5141f921afbdc09a3ebcd1dcf88eb29 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-12-01avf: add TSO supportMohammed Hawari1-0/+15
Change-Id: Ica663e1d07225acf53fd74b0051a5a2a34174960 Signed-off-by: Mohammed Hawari <mohammed@hawari.fr> Type: improvement
2020-11-15avf: add L4 checksum offload supportMohammed Hawari1-0/+16
Change-Id: Ie90437cf597c5d53ab1cc41ea7db15b97614e2fc Signed-off-by: Mohammed Hawari <mohammed@hawari.fr> Type: improvement
2020-10-26vlib: add VLIB_REGISTER_LOG_CLASS macroDamjan Marion1-5/+5
Type: improvement Change-Id: Iafcaeb88fa3569e042fb9cb270cf062b145416e2 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-09avf: add add_del_mac_address handlerDamjan Marion1-2/+17
Type: improvement Change-Id: I4d0b1cd87cf2f58a653f40a300da4b7a43348a06 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-09-29avf: validate queue size configSteven Luong1-0/+3
Check CLI queue size is within the range of 64 and 4096 Enhance show hardware to display queue size and number of queues. Type: improvement Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I360e3cdb2e69e4ea7380ed924e71a5ae84ed4b64
2020-09-11avf: change promisc mode from the avf process nodeDamjan Marion1-0/+2
Avoid situations where promisc mode is chaged while avf process is suspended in the middle of adminq operation. Type: fix Change-Id: Ia1fc6551e83218b5938630ad3a15d4f3f0ceceff Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-09-11avf: fix race between avf and cli/api processDamjan Marion1-1/+7
device pool my grow during suspemd which will cause crash in avf process after it exits from suspend. Type: fix Change-Id: I51fec90088c909cfbaaca6c245272a28c0827ca0 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-09-11avf: fix race between avf process node and avf_delete_if(...)Damjan Marion1-2/+2
It may happen that process node is suspended while it waits for response from adminq and during that time CLI or API process can call avf_delete_if. When avf process node resumes, it may happen that device is not there anymeore. This patch delegates interface deletion to process node, so CLI/API process just sends signal instead of deleting device instance itself. Type: fix Change-Id: I7f12e12df3071650f6e60ad7eb5af23b7acfe335 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-05-22avf: interrupt mode, support for WB_ON_ITRDamjan Marion1-1/+3
Type: improvement Change-Id: I5c944c3f82e0f278b64f28e09a74f24514c029f0 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-03-24avf: proper promisc handlingDamjan Marion1-1/+2
Type: fix Change-Id: Id20a0fe77372602fd211156ccee01c18d829d8df Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-02-25avf: Handle chain buffer in TX properlySteven Luong1-1/+2
For chain buffer, need to traverse b->next_buffer to transmit all buffers in the chain. Only set EOP at the last descriptor in the chain to signal this is a chain descriptor. Introduce slow path to handle ring wrap. This is needed because chain buffer may consist of multiple pieces and it may span from near the end of the ring to the beginning of the ring. Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: Id7c872f3e39e09f3566aa63f3cdba8f40736d508
2019-10-23avf: improve timeout handlingJakub Grajciar1-1/+7
Type: feature Change-Id: I8fa1d691ef7bc51ae5c44c344195207ce7d0a2e7 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-08-21avf: print queue id in packet traceDamjan Marion1-1/+2
Type: feature Change-Id: If3deb26b9ee3b9e677c9dc50789bf81fe6c11dee Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-06-25avf: fix clear hw statsFilip Tehlar1-0/+1
AVF plugin is missing a handler for clearing stats. This patch will implement it. Ticket: VPP-1701 Type: fix Change-Id: If4b4354da442065896bb001deda23f64ddc18fb4 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-06-18avf: fix adminq enqueue errorsDamjan Marion1-0/+3
Type: fix Fixes: b4ff07a Change-Id: I2578ae3e093961fa8765568b5fedcf75ae9487f6 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-06-18avf: add logging macros and improve loggingDamjan Marion1-0/+16
Type: feature Change-Id: I3d7009505ddbb2c41d8619d9195c6a5373fa9a04 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-02-14Add -fno-common compile optionBenoît Ganne1-1/+1
-fno-common makes sure we do not have multiple declarations of the same global symbol across compilation units. It helps debug nasty linkage bugs by guaranteeing that all reference to a global symbol use the same underlying object. It also helps avoiding benign mistakes such as declaring enum as global objects instead of types in headers (hence the minor fixes scattered across the source). Change-Id: I55c16406dc54ff8a6860238b90ca990fa6b179f1 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-01-30buffers: major cleanup and improvementsDamjan Marion1-0/+1
This patch introduces following changes: - deprecated free lists which are not used and not compatible with external buffer managers (i.e. DPDK) - introduces native support for per-numa buffer pools - significantly improves performance of buffer alloc and free Change-Id: I4a8e723ae47056717afd6cac0efe87cb731b5be7 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-07avf: allocate descriptor memory from local numaDamjan Marion1-0/+1
Change-Id: Ic56ee4ce83b282a5f0f5aed500721fe639b941b3 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-12-29avf: tx dequeue optimizationsDamjan Marion1-0/+1
Change-Id: I9d8fcf930132e832941e5678a9278a029e104dc3 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-12-29avf: chained buffers rx supportDamjan Marion1-2/+23
Change-Id: I76ba11441f0ab3d150cdd080919cda91eac60b01 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-12-28avf: chained buffers tx supportDamjan Marion1-0/+4
Change-Id: Ib573d45def80b4123d5623fda920e6cda1247638 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-12-26avf: optimize RX functionDamjan Marion1-12/+12
Change-Id: Icd1e9638cdb288e94196391a2c85f2eaaf65387e Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-12-23avf: new ethernet-input supportDamjan Marion1-12/+0
Change-Id: I5511823f38ad56161b6a538f2d9e63459eded1eb Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-12-23avf: add option to specify interface nameDamjan Marion1-0/+2
Change-Id: I94591d5b103280f8df157819d423fef7ee89d4c8 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-10-23Numa-aware, growable physical memory allocator (pmalloc)Damjan Marion1-3/+1
Change-Id: Ic4c46bc733afae8bf0d8146623ed15633928de30 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-08-30avf: RSS supportJakub Grajciar1-0/+1
Change-Id: I59b8f08789f0704d6768258348e938da67e5b15b Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2018-08-28avf: deal willth tx ring full properlyDamjan Marion1-0/+11
Change-Id: I0b38e129ee01d212463253e5526bfc2d60fd88af Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-08-11Multiversioning: Device (tx) function constructorMohsin Kazmi1-2/+0
Change-Id: I39f87ca161c891fb22462a23188982fef7c3243f Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-07-26avf: used tx queue should be enabledDamjan Marion1-0/+2
Change-Id: I51cc4522df2dd6682148a13e7e1903850b4b3d08 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-07-26avf: fix interrupt modeDamjan Marion1-0/+1
- 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 Grajciar1-0/+1
avf_create_reply returns software index for the new interface Change-Id: I8a6b1a1985b072efafa24eb258b1f2cb1bea1110 Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2018-07-11avf: descriptor should be volatileDamjan Marion1-5/+25
Change-Id: I2cb4cf2167b6e958d2e57b461848a4a189e3fda0 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-06-27avf: binary API and configurable RX/TX queue sizeJakub Grajciar1-0/+9
Change-Id: Ibd3a8d28d8f1df2bc14c42e48498f6ac26081192 Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2018-06-02AVF input node reworkDamjan Marion1-3/+2
Change-Id: Ib121b24935d5c706cfba6e4b6d321086a38cad91 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-05-22avf plugin: add support for loggingJakub Grajciar1-0/+4
Change-Id: Ic8c5b527395fc99f1e1a72e51f8d41c9b4f415df Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>