From e0c51da63f97d9b90bae4ed9cf242ccd06002f71 Mon Sep 17 00:00:00 2001 From: Christian Ehrhardt Date: Tue, 2 Aug 2016 08:50:33 +0200 Subject: Drop ubuntu prefix from patches Since we are now packaging together in a generic .deb way I removed the ubuntu file prefix in d/p/*. Change-Id: Iae64f76129b0814148703ba402670c14cebdaa95 Signed-off-by: Christian Ehrhardt --- debian/patches/fix-double-license-info.patch | 1324 ++++++++++++++++++++ debian/patches/fix-unusual-interpreter.patch | 35 + .../patches/fix-vhost-user-socket-permission.patch | 371 ++++++ debian/patches/series | 6 +- .../patches/ubuntu-fix-double-license-info.patch | 1324 -------------------- .../patches/ubuntu-fix-unusual-interpreter.patch | 35 - .../ubuntu-fix-vhost-user-socket-permission.patch | 371 ------ 7 files changed, 1733 insertions(+), 1733 deletions(-) create mode 100644 debian/patches/fix-double-license-info.patch create mode 100644 debian/patches/fix-unusual-interpreter.patch create mode 100644 debian/patches/fix-vhost-user-socket-permission.patch delete mode 100644 debian/patches/ubuntu-fix-double-license-info.patch delete mode 100644 debian/patches/ubuntu-fix-unusual-interpreter.patch delete mode 100644 debian/patches/ubuntu-fix-vhost-user-socket-permission.patch diff --git a/debian/patches/fix-double-license-info.patch b/debian/patches/fix-double-license-info.patch new file mode 100644 index 00000000..5565e7a8 --- /dev/null +++ b/debian/patches/fix-double-license-info.patch @@ -0,0 +1,1324 @@ +Description: remove duplicate license information + +This is getting rid of: +W: dpdk-rte-kni-dkms: extra-license-file usr/src/dpdk-rte-kni-16.07-rc4/ethtool/igb/COPYING +W: dpdk-rte-kni-dkms: extra-license-file usr/src/dpdk-rte-kni-16.07-rc4/ethtool/ixgbe/COPYING + +The License (GPLv2 and all others needed) is already provided via +debian/copyright as it should be. + +Forwarded: yes +Author: Christian Ehrhardt +Last-Update: 2016-08-01 + +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/COPYING ++++ /dev/null +@@ -1,339 +0,0 @@ +- +-"This software program is licensed subject to the GNU General Public License +-(GPL). Version 2, June 1991, available at +-" +- +-GNU General Public License +- +-Version 2, June 1991 +- +-Copyright (C) 1989, 1991 Free Software Foundation, Inc. +-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA +- +-Everyone is permitted to copy and distribute verbatim copies of this license +-document, but changing it is not allowed. +- +-Preamble +- +-The licenses for most software are designed to take away your freedom to +-share and change it. By contrast, the GNU General Public License is intended +-to guarantee your freedom to share and change free software--to make sure +-the software is free for all its users. This General Public License applies +-to most of the Free Software Foundation's software and to any other program +-whose authors commit to using it. (Some other Free Software Foundation +-software is covered by the GNU Library General Public License instead.) You +-can apply it to your programs, too. +- +-When we speak of free software, we are referring to freedom, not price. Our +-General Public Licenses are designed to make sure that you have the freedom +-to distribute copies of free software (and charge for this service if you +-wish), that you receive source code or can get it if you want it, that you +-can change the software or use pieces of it in new free programs; and that +-you know you can do these things. +- +-To protect your rights, we need to make restrictions that forbid anyone to +-deny you these rights or to ask you to surrender the rights. These +-restrictions translate to certain responsibilities for you if you distribute +-copies of the software, or if you modify it. +- +-For example, if you distribute copies of such a program, whether gratis or +-for a fee, you must give the recipients all the rights that you have. You +-must make sure that they, too, receive or can get the source code. And you +-must show them these terms so they know their rights. +- +-We protect your rights with two steps: (1) copyright the software, and (2) +-offer you this license which gives you legal permission to copy, distribute +-and/or modify the software. +- +-Also, for each author's protection and ours, we want to make certain that +-everyone understands that there is no warranty for this free software. If +-the software is modified by someone else and passed on, we want its +-recipients to know that what they have is not the original, so that any +-problems introduced by others will not reflect on the original authors' +-reputations. +- +-Finally, any free program is threatened constantly by software patents. We +-wish to avoid the danger that redistributors of a free program will +-individually obtain patent licenses, in effect making the program +-proprietary. To prevent this, we have made it clear that any patent must be +-licensed for everyone's free use or not licensed at all. +- +-The precise terms and conditions for copying, distribution and modification +-follow. +- +-TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION +- +-0. This License applies to any program or other work which contains a notice +- placed by the copyright holder saying it may be distributed under the +- terms of this General Public License. The "Program", below, refers to any +- such program or work, and a "work based on the Program" means either the +- Program or any derivative work under copyright law: that is to say, a +- work containing the Program or a portion of it, either verbatim or with +- modifications and/or translated into another language. (Hereinafter, +- translation is included without limitation in the term "modification".) +- Each licensee is addressed as "you". +- +- Activities other than copying, distribution and modification are not +- covered by this License; they are outside its scope. The act of running +- the Program is not restricted, and the output from the Program is covered +- only if its contents constitute a work based on the Program (independent +- of having been made by running the Program). Whether that is true depends +- on what the Program does. +- +-1. You may copy and distribute verbatim copies of the Program's source code +- as you receive it, in any medium, provided that you conspicuously and +- appropriately publish on each copy an appropriate copyright notice and +- disclaimer of warranty; keep intact all the notices that refer to this +- License and to the absence of any warranty; and give any other recipients +- of the Program a copy of this License along with the Program. +- +- You may charge a fee for the physical act of transferring a copy, and you +- may at your option offer warranty protection in exchange for a fee. +- +-2. You may modify your copy or copies of the Program or any portion of it, +- thus forming a work based on the Program, and copy and distribute such +- modifications or work under the terms of Section 1 above, provided that +- you also meet all of these conditions: +- +- * a) You must cause the modified files to carry prominent notices stating +- that you changed the files and the date of any change. +- +- * b) You must cause any work that you distribute or publish, that in +- whole or in part contains or is derived from the Program or any part +- thereof, to be licensed as a whole at no charge to all third parties +- under the terms of this License. +- +- * c) If the modified program normally reads commands interactively when +- run, you must cause it, when started running for such interactive +- use in the most ordinary way, to print or display an announcement +- including an appropriate copyright notice and a notice that there is +- no warranty (or else, saying that you provide a warranty) and that +- users may redistribute the program under these conditions, and +- telling the user how to view a copy of this License. (Exception: if +- the Program itself is interactive but does not normally print such +- an announcement, your work based on the Program is not required to +- print an announcement.) +- +- These requirements apply to the modified work as a whole. If identifiable +- sections of that work are not derived from the Program, and can be +- reasonably considered independent and separate works in themselves, then +- this License, and its terms, do not apply to those sections when you +- distribute them as separate works. But when you distribute the same +- sections as part of a whole which is a work based on the Program, the +- distribution of the whole must be on the terms of this License, whose +- permissions for other licensees extend to the entire whole, and thus to +- each and every part regardless of who wrote it. +- +- Thus, it is not the intent of this section to claim rights or contest +- your rights to work written entirely by you; rather, the intent is to +- exercise the right to control the distribution of derivative or +- collective works based on the Program. +- +- In addition, mere aggregation of another work not based on the Program +- with the Program (or with a work based on the Program) on a volume of a +- storage or distribution medium does not bring the other work under the +- scope of this License. +- +-3. You may copy and distribute the Program (or a work based on it, under +- Section 2) in object code or executable form under the terms of Sections +- 1 and 2 above provided that you also do one of the following: +- +- * a) Accompany it with the complete corresponding machine-readable source +- code, which must be distributed under the terms of Sections 1 and 2 +- above on a medium customarily used for software interchange; or, +- +- * b) Accompany it with a written offer, valid for at least three years, +- to give any third party, for a charge no more than your cost of +- physically performing source distribution, a complete machine- +- readable copy of the corresponding source code, to be distributed +- under the terms of Sections 1 and 2 above on a medium customarily +- used for software interchange; or, +- +- * c) Accompany it with the information you received as to the offer to +- distribute corresponding source code. (This alternative is allowed +- only for noncommercial distribution and only if you received the +- program in object code or executable form with such an offer, in +- accord with Subsection b above.) +- +- The source code for a work means the preferred form of the work for +- making modifications to it. For an executable work, complete source code +- means all the source code for all modules it contains, plus any +- associated interface definition files, plus the scripts used to control +- compilation and installation of the executable. However, as a special +- exception, the source code distributed need not include anything that is +- normally distributed (in either source or binary form) with the major +- components (compiler, kernel, and so on) of the operating system on which +- the executable runs, unless that component itself accompanies the +- executable. +- +- If distribution of executable or object code is made by offering access +- to copy from a designated place, then offering equivalent access to copy +- the source code from the same place counts as distribution of the source +- code, even though third parties are not compelled to copy the source +- along with the object code. +- +-4. You may not copy, modify, sublicense, or distribute the Program except as +- expressly provided under this License. Any attempt otherwise to copy, +- modify, sublicense or distribute the Program is void, and will +- automatically terminate your rights under this License. However, parties +- who have received copies, or rights, from you under this License will not +- have their licenses terminated so long as such parties remain in full +- compliance. +- +-5. You are not required to accept this License, since you have not signed +- it. However, nothing else grants you permission to modify or distribute +- the Program or its derivative works. These actions are prohibited by law +- if you do not accept this License. Therefore, by modifying or +- distributing the Program (or any work based on the Program), you +- indicate your acceptance of this License to do so, and all its terms and +- conditions for copying, distributing or modifying the Program or works +- based on it. +- +-6. Each time you redistribute the Program (or any work based on the +- Program), the recipient automatically receives a license from the +- original licensor to copy, distribute or modify the Program subject to +- these terms and conditions. You may not impose any further restrictions +- on the recipients' exercise of the rights granted herein. You are not +- responsible for enforcing compliance by third parties to this License. +- +-7. If, as a consequence of a court judgment or allegation of patent +- infringement or for any other reason (not limited to patent issues), +- conditions are imposed on you (whether by court order, agreement or +- otherwise) that contradict the conditions of this License, they do not +- excuse you from the conditions of this License. If you cannot distribute +- so as to satisfy simultaneously your obligations under this License and +- any other pertinent obligations, then as a consequence you may not +- distribute the Program at all. For example, if a patent license would +- not permit royalty-free redistribution of the Program by all those who +- receive copies directly or indirectly through you, then the only way you +- could satisfy both it and this License would be to refrain entirely from +- distribution of the Program. +- +- If any portion of this section is held invalid or unenforceable under any +- particular circumstance, the balance of the section is intended to apply +- and the section as a whole is intended to apply in other circumstances. +- +- It is not the purpose of this section to induce you to infringe any +- patents or other property right claims or to contest validity of any +- such claims; this section has the sole purpose of protecting the +- integrity of the free software distribution system, which is implemented +- by public license practices. Many people have made generous contributions +- to the wide range of software distributed through that system in +- reliance on consistent application of that system; it is up to the +- author/donor to decide if he or she is willing to distribute software +- through any other system and a licensee cannot impose that choice. +- +- This section is intended to make thoroughly clear what is believed to be +- a consequence of the rest of this License. +- +-8. If the distribution and/or use of the Program is restricted in certain +- countries either by patents or by copyrighted interfaces, the original +- copyright holder who places the Program under this License may add an +- explicit geographical distribution limitation excluding those countries, +- so that distribution is permitted only in or among countries not thus +- excluded. In such case, this License incorporates the limitation as if +- written in the body of this License. +- +-9. The Free Software Foundation may publish revised and/or new versions of +- the General Public License from time to time. Such new versions will be +- similar in spirit to the present version, but may differ in detail to +- address new problems or concerns. +- +- Each version is given a distinguishing version number. If the Program +- specifies a version number of this License which applies to it and "any +- later version", you have the option of following the terms and +- conditions either of that version or of any later version published by +- the Free Software Foundation. If the Program does not specify a version +- number of this License, you may choose any version ever published by the +- Free Software Foundation. +- +-10. If you wish to incorporate parts of the Program into other free programs +- whose distribution conditions are different, write to the author to ask +- for permission. For software which is copyrighted by the Free Software +- Foundation, write to the Free Software Foundation; we sometimes make +- exceptions for this. Our decision will be guided by the two goals of +- preserving the free status of all derivatives of our free software and +- of promoting the sharing and reuse of software generally. +- +- NO WARRANTY +- +-11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +- FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +- OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +- PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER +- EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE +- ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH +- YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL +- NECESSARY SERVICING, REPAIR OR CORRECTION. +- +-12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +- WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +- REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR +- DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL +- DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM +- (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED +- INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF +- THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR +- OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +- +-END OF TERMS AND CONDITIONS +- +-How to Apply These Terms to Your New Programs +- +-If you develop a new program, and you want it to be of the greatest +-possible use to the public, the best way to achieve this is to make it free +-software which everyone can redistribute and change under these terms. +- +-To do so, attach the following notices to the program. It is safest to +-attach them to the start of each source file to most effectively convey the +-exclusion of warranty; and each file should have at least the "copyright" +-line and a pointer to where the full notice is found. +- +-one line to give the program's name and an idea of what it does. +-Copyright (C) yyyy name of author +- +-This program is free software; you can redistribute it and/or modify it +-under the terms of the GNU General Public License as published by the Free +-Software Foundation; either version 2 of the License, or (at your option) +-any later version. +- +-This program is distributed in the hope that it will be useful, but WITHOUT +-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +-FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +-more details. +- +-You should have received a copy of the GNU General Public License along with +-this program; if not, write to the Free Software Foundation, Inc., 59 +-Temple Place - Suite 330, Boston, MA 02111-1307, USA. +- +-Also add information on how to contact you by electronic and paper mail. +- +-If the program is interactive, make it output a short notice like this when +-it starts in an interactive mode: +- +-Gnomovision version 69, Copyright (C) year name of author Gnomovision comes +-with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free +-software, and you are welcome to redistribute it under certain conditions; +-type 'show c' for details. +- +-The hypothetical commands 'show w' and 'show c' should show the appropriate +-parts of the General Public License. Of course, the commands you use may be +-called something other than 'show w' and 'show c'; they could even be +-mouse-clicks or menu items--whatever suits your program. +- +-You should also get your employer (if you work as a programmer) or your +-school, if any, to sign a "copyright disclaimer" for the program, if +-necessary. Here is a sample; alter the names: +- +-Yoyodyne, Inc., hereby disclaims all copyright interest in the program +-'Gnomovision' (which makes passes at compilers) written by James Hacker. +- +-signature of Ty Coon, 1 April 1989 +-Ty Coon, President of Vice +- +-This General Public License does not permit incorporating your program into +-proprietary programs. If your program is a subroutine library, you may +-consider it more useful to permit linking proprietary applications with the +-library. If this is what you want to do, use the GNU Library General Public +-License instead of this License. +--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/COPYING ++++ /dev/null +@@ -1,339 +0,0 @@ +- +-"This software program is licensed subject to the GNU General Public License +-(GPL). Version 2, June 1991, available at +-" +- +-GNU General Public License +- +-Version 2, June 1991 +- +-Copyright (C) 1989, 1991 Free Software Foundation, Inc. +-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA +- +-Everyone is permitted to copy and distribute verbatim copies of this license +-document, but changing it is not allowed. +- +-Preamble +- +-The licenses for most software are designed to take away your freedom to +-share and change it. By contrast, the GNU General Public License is intended +-to guarantee your freedom to share and change free software--to make sure +-the software is free for all its users. This General Public License applies +-to most of the Free Software Foundation's software and to any other program +-whose authors commit to using it. (Some other Free Software Foundation +-software is covered by the GNU Library General Public License instead.) You +-can apply it to your programs, too. +- +-When we speak of free software, we are referring to freedom, not price. Our +-General Public Licenses are designed to make sure that you have the freedom +-to distribute copies of free software (and charge for this service if you +-wish), that you receive source code or can get it if you want it, that you +-can change the software or use pieces of it in new free programs; and that +-you know you can do these things. +- +-To protect your rights, we need to make restrictions that forbid anyone to +-deny you these rights or to ask you to surrender the rights. These +-restrictions translate to certain responsibilities for you if you distribute +-copies of the software, or if you modify it. +- +-For example, if you distribute copies of such a program, whether gratis or +-for a fee, you must give the recipients all the rights that you have. You +-must make sure that they, too, receive or can get the source code. And you +-must show them these terms so they know their rights. +- +-We protect your rights with two steps: (1) copyright the software, and (2) +-offer you this license which gives you legal permission to copy, distribute +-and/or modify the software. +- +-Also, for each author's protection and ours, we want to make certain that +-everyone understands that there is no warranty for this free software. If +-the software is modified by someone else and passed on, we want its +-recipients to know that what they have is not the original, so that any +-problems introduced by others will not reflect on the original authors' +-reputations. +- +-Finally, any free program is threatened constantly by software patents. We +-wish to avoid the danger that redistributors of a free program will +-individually obtain patent licenses, in effect making the program +-proprietary. To prevent this, we have made it clear that any patent must be +-licensed for everyone's free use or not licensed at all. +- +-The precise terms and conditions for copying, distribution and modification +-follow. +- +-TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION +- +-0. This License applies to any program or other work which contains a notice +- placed by the copyright holder saying it may be distributed under the +- terms of this General Public License. The "Program", below, refers to any +- such program or work, and a "work based on the Program" means either the +- Program or any derivative work under copyright law: that is to say, a +- work containing the Program or a portion of it, either verbatim or with +- modifications and/or translated into another language. (Hereinafter, +- translation is included without limitation in the term "modification".) +- Each licensee is addressed as "you". +- +- Activities other than copying, distribution and modification are not +- covered by this License; they are outside its scope. The act of running +- the Program is not restricted, and the output from the Program is covered +- only if its contents constitute a work based on the Program (independent +- of having been made by running the Program). Whether that is true depends +- on what the Program does. +- +-1. You may copy and distribute verbatim copies of the Program's source code +- as you receive it, in any medium, provided that you conspicuously and +- appropriately publish on each copy an appropriate copyright notice and +- disclaimer of warranty; keep intact all the notices that refer to this +- License and to the absence of any warranty; and give any other recipients +- of the Program a copy of this License along with the Program. +- +- You may charge a fee for the physical act of transferring a copy, and you +- may at your option offer warranty protection in exchange for a fee. +- +-2. You may modify your copy or copies of the Program or any portion of it, +- thus forming a work based on the Program, and copy and distribute such +- modifications or work under the terms of Section 1 above, provided that +- you also meet all of these conditions: +- +- * a) You must cause the modified files to carry prominent notices stating +- that you changed the files and the date of any change. +- +- * b) You must cause any work that you distribute or publish, that in +- whole or in part contains or is derived from the Program or any part +- thereof, to be licensed as a whole at no charge to all third parties +- under the terms of this License. +- +- * c) If the modified program normally reads commands interactively when +- run, you must cause it, when started running for such interactive +- use in the most ordinary way, to print or display an announcement +- including an appropriate copyright notice and a notice that there is +- no warranty (or else, saying that you provide a warranty) and that +- users may redistribute the program under these conditions, and +- telling the user how to view a copy of this License. (Exception: if +- the Program itself is interactive but does not normally print such +- an announcement, your work based on the Program is not required to +- print an announcement.) +- +- These requirements apply to the modified work as a whole. If identifiable +- sections of that work are not derived from the Program, and can be +- reasonably considered independent and separate works in themselves, then +- this License, and its terms, do not apply to those sections when you +- distribute them as separate works. But when you distribute the same +- sections as part of a whole which is a work based on the Program, the +- distribution of the whole must be on the terms of this License, whose +- permissions for other licensees extend to the entire whole, and thus to +- each and every part regardless of who wrote it. +- +- Thus, it is not the intent of this section to claim rights or contest +- your rights to work written entirely by you; rather, the intent is to +- exercise the right to control the distribution of derivative or +- collective works based on the Program. +- +- In addition, mere aggregation of another work not based on the Program +- with the Program (or with a work based on the Program) on a volume of a +- storage or distribution medium does not bring the other work under the +- scope of this License. +- +-3. You may copy and distribute the Program (or a work based on it, under +- Section 2) in object code or executable form under the terms of Sections +- 1 and 2 above provided that you also do one of the following: +- +- * a) Accompany it with the complete corresponding machine-readable source +- code, which must be distributed under the terms of Sections 1 and 2 +- above on a medium customarily used for software interchange; or, +- +- * b) Accompany it with a written offer, valid for at least three years, +- to give any third party, for a charge no more than your cost of +- physically performing source distribution, a complete machine- +- readable copy of the corresponding source code, to be distributed +- under the terms of Sections 1 and 2 above on a medium customarily +- used for software interchange; or, +- +- * c) Accompany it with the information you received as to the offer to +- distribute corresponding source code. (This alternative is allowed +- only for noncommercial distribution and only if you received the +- program in object code or executable form with such an offer, in +- accord with Subsection b above.) +- +- The source code for a work means the preferred form of the work for +- making modifications to it. For an executable work, complete source code +- means all the source code for all modules it contains, plus any +- associated interface definition files, plus the scripts used to control +- compilation and installation of the executable. However, as a special +- exception, the source code distributed need not include anything that is +- normally distributed (in either source or binary form) with the major +- components (compiler, kernel, and so on) of the operating system on which +- the executable runs, unless that component itself accompanies the +- executable. +- +- If distribution of executable or object code is made by offering access +- to copy from a designated place, then offering equivalent access to copy +- the source code from the same place counts as distribution of the source +- code, even though third parties are not compelled to copy the source +- along with the object code. +- +-4. You may not copy, modify, sublicense, or distribute the Program except as +- expressly provided under this License. Any attempt otherwise to copy, +- modify, sublicense or distribute the Program is void, and will +- automatically terminate your rights under this License. However, parties +- who have received copies, or rights, from you under this License will not +- have their licenses terminated so long as such parties remain in full +- compliance. +- +-5. You are not required to accept this License, since you have not signed +- it. However, nothing else grants you permission to modify or distribute +- the Program or its derivative works. These actions are prohibited by law +- if you do not accept this License. Therefore, by modifying or +- distributing the Program (or any work based on the Program), you +- indicate your acceptance of this License to do so, and all its terms and +- conditions for copying, distributing or modifying the Program or works +- based on it. +- +-6. Each time you redistribute the Program (or any work based on the +- Program), the recipient automatically receives a license from the +- original licensor to copy, distribute or modify the Program subject to +- these terms and conditions. You may not impose any further restrictions +- on the recipients' exercise of the rights granted herein. You are not +- responsible for enforcing compliance by third parties to this License. +- +-7. If, as a consequence of a court judgment or allegation of patent +- infringement or for any other reason (not limited to patent issues), +- conditions are imposed on you (whether by court order, agreement or +- otherwise) that contradict the conditions of this License, they do not +- excuse you from the conditions of this License. If you cannot distribute +- so as to satisfy simultaneously your obligations under this License and +- any other pertinent obligations, then as a consequence you may not +- distribute the Program at all. For example, if a patent license would +- not permit royalty-free redistribution of the Program by all those who +- receive copies directly or indirectly through you, then the only way you +- could satisfy both it and this License would be to refrain entirely from +- distribution of the Program. +- +- If any portion of this section is held invalid or unenforceable under any +- particular circumstance, the balance of the section is intended to apply +- and the section as a whole is intended to apply in other circumstances. +- +- It is not the purpose of this section to induce you to infringe any +- patents or other property right claims or to contest validity of any +- such claims; this section has the sole purpose of protecting the +- integrity of the free software distribution system, which is implemented +- by public license practices. Many people have made generous contributions +- to the wide range of software distributed through that system in +- reliance on consistent application of that system; it is up to the +- author/donor to decide if he or she is willing to distribute software +- through any other system and a licensee cannot impose that choice. +- +- This section is intended to make thoroughly clear what is believed to be +- a consequence of the rest of this License. +- +-8. If the distribution and/or use of the Program is restricted in certain +- countries either by patents or by copyrighted interfaces, the original +- copyright holder who places the Program under this License may add an +- explicit geographical distribution limitation excluding those countries, +- so that distribution is permitted only in or among countries not thus +- excluded. In such case, this License incorporates the limitation as if +- written in the body of this License. +- +-9. The Free Software Foundation may publish revised and/or new versions of +- the General Public License from time to time. Such new versions will be +- similar in spirit to the present version, but may differ in detail to +- address new problems or concerns. +- +- Each version is given a distinguishing version number. If the Program +- specifies a version number of this License which applies to it and "any +- later version", you have the option of following the terms and +- conditions either of that version or of any later version published by +- the Free Software Foundation. If the Program does not specify a version +- number of this License, you may choose any version ever published by the +- Free Software Foundation. +- +-10. If you wish to incorporate parts of the Program into other free programs +- whose distribution conditions are different, write to the author to ask +- for permission. For software which is copyrighted by the Free Software +- Foundation, write to the Free Software Foundation; we sometimes make +- exceptions for this. Our decision will be guided by the two goals of +- preserving the free status of all derivatives of our free software and +- of promoting the sharing and reuse of software generally. +- +- NO WARRANTY +- +-11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +- FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +- OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +- PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER +- EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE +- ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH +- YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL +- NECESSARY SERVICING, REPAIR OR CORRECTION. +- +-12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +- WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +- REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR +- DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL +- DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM +- (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED +- INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF +- THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR +- OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +- +-END OF TERMS AND CONDITIONS +- +-How to Apply These Terms to Your New Programs +- +-If you develop a new program, and you want it to be of the greatest +-possible use to the public, the best way to achieve this is to make it free +-software which everyone can redistribute and change under these terms. +- +-To do so, attach the following notices to the program. It is safest to +-attach them to the start of each source file to most effectively convey the +-exclusion of warranty; and each file should have at least the "copyright" +-line and a pointer to where the full notice is found. +- +-one line to give the program's name and an idea of what it does. +-Copyright (C) yyyy name of author +- +-This program is free software; you can redistribute it and/or modify it +-under the terms of the GNU General Public License as published by the Free +-Software Foundation; either version 2 of the License, or (at your option) +-any later version. +- +-This program is distributed in the hope that it will be useful, but WITHOUT +-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +-FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +-more details. +- +-You should have received a copy of the GNU General Public License along with +-this program; if not, write to the Free Software Foundation, Inc., 59 +-Temple Place - Suite 330, Boston, MA 02111-1307, USA. +- +-Also add information on how to contact you by electronic and paper mail. +- +-If the program is interactive, make it output a short notice like this when +-it starts in an interactive mode: +- +-Gnomovision version 69, Copyright (C) year name of author Gnomovision comes +-with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free +-software, and you are welcome to redistribute it under certain conditions; +-type 'show c' for details. +- +-The hypothetical commands 'show w' and 'show c' should show the appropriate +-parts of the General Public License. Of course, the commands you use may be +-called something other than 'show w' and 'show c'; they could even be +-mouse-clicks or menu items--whatever suits your program. +- +-You should also get your employer (if you work as a programmer) or your +-school, if any, to sign a "copyright disclaimer" for the program, if +-necessary. Here is a sample; alter the names: +- +-Yoyodyne, Inc., hereby disclaims all copyright interest in the program +-'Gnomovision' (which makes passes at compilers) written by James Hacker. +- +-signature of Ty Coon, 1 April 1989 +-Ty Coon, President of Vice +- +-This General Public License does not permit incorporating your program into +-proprietary programs. If your program is a subroutine library, you may +-consider it more useful to permit linking proprietary applications with the +-library. If this is what you want to do, use the GNU Library General Public +-License instead of this License. +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_82575.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_82575.c +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_82575.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_82575.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.c +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_defines.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_defines.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_i210.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_i210.c +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_i210.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_i210.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mac.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mac.c +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mac.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mac.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_manage.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_manage.c +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_manage.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_manage.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mbx.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mbx.c +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mbx.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mbx.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_nvm.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_nvm.c +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_nvm.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_nvm.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.c +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_regs.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_regs.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_debugfs.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_debugfs.c +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_ethtool.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_ethtool.c +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_hwmon.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_hwmon.c +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_param.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_param.c +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_procfs.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_procfs.c +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_ptp.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_ptp.c +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_regtest.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_regtest.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_vmdq.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_vmdq.c +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_vmdq.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_vmdq.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.c +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat_ethtool.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat_ethtool.c +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82598.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82598.c +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82598.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82598.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.c +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_api.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_api.c +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_api.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_api.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_common.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_common.c +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_common.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_common.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_dcb.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_dcb.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_ethtool.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_ethtool.c +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_fcoe.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_fcoe.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_main.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_main.c +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_mbx.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_mbx.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_osdep.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_osdep.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_phy.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_phy.c +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_phy.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_phy.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_sriov.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_sriov.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_type.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_type.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_x540.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_x540.c +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_x540.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_x540.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.c +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List +--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h +@@ -17,7 +17,7 @@ + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + + The full GNU General Public License is included in this distribution in +- the file called "COPYING". ++ the file called "LICENSE.GPL". + + Contact Information: + e1000-devel Mailing List diff --git a/debian/patches/fix-unusual-interpreter.patch b/debian/patches/fix-unusual-interpreter.patch new file mode 100644 index 00000000..754a4135 --- /dev/null +++ b/debian/patches/fix-unusual-interpreter.patch @@ -0,0 +1,35 @@ +Description: examples: fix unusual-interpreter v2 + +*Update in v2* +- use #!/usr/bin/env python as usually recommended and suggested in the + discussion + +Due to regular lintian checks in Debian packaging it surfaced that these +two scripts had a space in their #! statement which renders it to be +human, but not shell readable. + +Fixes: 8673a3e8 ("examples/ip_pipeline: add config diagram generator") +Fixes: fa667b46 ("examples/ip_pipeline: add core mappings script") + +This gets rid of lintian warning "W: dpdk-doc: unusual-interpreter" + +Forwarded: yes +Author: Christian Ehrhardt +Last-Update: 2016-08-02 + +--- a/examples/ip_pipeline/config/diagram-generator.py ++++ b/examples/ip_pipeline/config/diagram-generator.py +@@ -1,4 +1,4 @@ +-#! /usr/bin/python2 ++#!/usr/bin/env python + + # BSD LICENSE + # +--- a/examples/ip_pipeline/config/pipeline-to-core-mapping.py ++++ b/examples/ip_pipeline/config/pipeline-to-core-mapping.py +@@ -1,4 +1,4 @@ +-#! /usr/bin/python2 ++#!/usr/bin/env python + + # BSD LICENSE + # diff --git a/debian/patches/fix-vhost-user-socket-permission.patch b/debian/patches/fix-vhost-user-socket-permission.patch new file mode 100644 index 00000000..ab3d6322 --- /dev/null +++ b/debian/patches/fix-vhost-user-socket-permission.patch @@ -0,0 +1,371 @@ +Description: eal: provide option to set vhost_user socket owner/permissions + +The API doesn't hold a way to specify a owner/permission set for vhost_user +created sockets. + +Projects consuming DPDK started to do 'their own workarounds' like openvswitch +https://patchwork.ozlabs.org/patch/559043/ +https://patchwork.ozlabs.org/patch/559045/ +But for this specific example they are blocked/stalled behind a bigger +rework (https://patchwork.ozlabs.org/patch/604898/). + +We need something now for existing code linking against DPDK. That implies to +avoid changing API/ABI. So I created a DPDK EAL commandline option based ideas +in the former patches. + +Fixes LP: #1546565 + +*Update* + - with the split libs it now nees to be listed in + lib/librte_eal/linuxapp/eal/rte_eal_version.map to work on link steps + - please note that upstream gravitates towards not extending but creating a + new the API in DPDK as long term solution (will take a while) + - also as listed before most affected projects seem to create their own + workaround. + So over time we have to check when we can drop it at the price of a config + transition - likely OVS 2.6 won't need it anymore. + +Forwarded: yes +Author: Christian Ehrhardt +Last-Update: 2016-07-25 + +diff --git a/doc/guides/testpmd_app_ug/run_app.rst b/doc/guides/testpmd_app_ug/run_app.rst +index 7712bd2..28776b9 100644 +--- a/doc/guides/testpmd_app_ug/run_app.rst ++++ b/doc/guides/testpmd_app_ug/run_app.rst +@@ -156,6 +156,25 @@ See the DPDK Getting Started Guides for more information on these options. + + Use malloc instead of hugetlbfs. + ++* ``--vhost-owner`` ++ ++ When creating vhost_user sockets change owner and group to the specified value. ++ This can be given as ``user:group``, but also only ``user`` or ``:group`` are supported. ++ ++ Examples:: ++ ++ --vhost-owner 'libvirt-qemu:kvm' ++ --vhost-owner 'libvirt-qemu' ++ --vhost-owner ':kvm' ++ ++* ``--vhost-perm`` ++ ++ When creating vhost_user sockets set them up with these permissions. ++ ++ For example:: ++ ++ --vhost-perm '0664' ++ + + Testpmd Command-line Options + ---------------------------- +diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c +index 481c732..2126140 100644 +--- a/lib/librte_eal/common/eal_common_options.c ++++ b/lib/librte_eal/common/eal_common_options.c +@@ -95,6 +95,8 @@ eal_long_options[] = { + {OPT_VFIO_INTR, 1, NULL, OPT_VFIO_INTR_NUM }, + {OPT_VMWARE_TSC_MAP, 0, NULL, OPT_VMWARE_TSC_MAP_NUM }, + {OPT_XEN_DOM0, 0, NULL, OPT_XEN_DOM0_NUM }, ++ {OPT_VHOST_OWNER, 1, NULL, OPT_VHOST_OWNER_NUM }, ++ {OPT_VHOST_PERM, 1, NULL, OPT_VHOST_PERM_NUM }, + {0, 0, NULL, 0 } + }; + +@@ -166,6 +168,8 @@ eal_reset_internal_config(struct internal_config *internal_cfg) + #endif + internal_cfg->vmware_tsc_map = 0; + internal_cfg->create_uio_dev = 0; ++ internal_cfg->vhost_sock_owner = NULL; ++ internal_cfg->vhost_sock_perm = NULL; + } + + static int +diff --git a/lib/librte_eal/common/eal_internal_cfg.h b/lib/librte_eal/common/eal_internal_cfg.h +index 5f1367e..bdf34e3 100644 +--- a/lib/librte_eal/common/eal_internal_cfg.h ++++ b/lib/librte_eal/common/eal_internal_cfg.h +@@ -83,6 +83,8 @@ struct internal_config { + volatile enum rte_intr_mode vfio_intr_mode; + const char *hugefile_prefix; /**< the base filename of hugetlbfs files */ + const char *hugepage_dir; /**< specific hugetlbfs directory to use */ ++ const char *vhost_sock_owner; /**< owner:group of vhost_user sockets */ ++ const char *vhost_sock_perm; /**< permissions of vhost_user sockets */ + + unsigned num_hugepage_sizes; /**< how many sizes on this system */ + struct hugepage_info hugepage_info[MAX_HUGEPAGE_SIZES]; +diff --git a/lib/librte_eal/common/eal_options.h b/lib/librte_eal/common/eal_options.h +index a881c62..1161083 100644 +--- a/lib/librte_eal/common/eal_options.h ++++ b/lib/librte_eal/common/eal_options.h +@@ -83,6 +83,10 @@ enum { + OPT_VMWARE_TSC_MAP_NUM, + #define OPT_XEN_DOM0 "xen-dom0" + OPT_XEN_DOM0_NUM, ++#define OPT_VHOST_OWNER "vhost-owner" ++ OPT_VHOST_OWNER_NUM, ++#define OPT_VHOST_PERM "vhost-perm" ++ OPT_VHOST_PERM_NUM, + OPT_LONG_MAX_NUM + }; + +diff --git a/lib/librte_eal/common/include/rte_eal.h b/lib/librte_eal/common/include/rte_eal.h +index a71d6f5..506cf24 100644 +--- a/lib/librte_eal/common/include/rte_eal.h ++++ b/lib/librte_eal/common/include/rte_eal.h +@@ -252,6 +252,11 @@ static inline int rte_gettid(void) + return RTE_PER_LCORE(_thread_id); + } + ++/** ++ * Set owner/permissions on sockets if requested on EAL commandline ++ */ ++void rte_eal_set_socket_permissions(const char *); ++ + #ifdef __cplusplus + } + #endif +diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c +index 3fb2188..dc84c5b 100644 +--- a/lib/librte_eal/linuxapp/eal/eal.c ++++ b/lib/librte_eal/linuxapp/eal/eal.c +@@ -53,6 +53,9 @@ + #if defined(RTE_ARCH_X86) + #include + #endif ++#include ++#include ++#include + + #include + #include +@@ -344,6 +347,8 @@ eal_usage(const char *prgname) + " --"OPT_CREATE_UIO_DEV" Create /dev/uioX (usually done by hotplug)\n" + " --"OPT_VFIO_INTR" Interrupt mode for VFIO (legacy|msi|msix)\n" + " --"OPT_XEN_DOM0" Support running on Xen dom0 without hugetlbfs\n" ++ " --"OPT_VHOST_OWNER" Create vhost-user sockets with this owner:group\n" ++ " --"OPT_VHOST_PERM" Create vhost-user sockets with these permissions\n" + "\n"); + /* Allow the application to print its usage message too if hook is set */ + if ( rte_application_usage_hook ) { +@@ -601,6 +606,14 @@ eal_parse_args(int argc, char **argv) + internal_config.create_uio_dev = 1; + break; + ++ case OPT_VHOST_OWNER_NUM: ++ internal_config.vhost_sock_owner = optarg; ++ break; ++ ++ case OPT_VHOST_PERM_NUM: ++ internal_config.vhost_sock_perm = optarg; ++ break; ++ + default: + if (opt < OPT_LONG_MIN_NUM && isprint(opt)) { + RTE_LOG(ERR, EAL, "Option %c is not supported " +@@ -943,3 +956,172 @@ rte_eal_check_module(const char *module_name) + /* Module has been found */ + return 1; + } ++ ++/* Try to double the size of '*buf', return true ++ * if successful, and '*sizep' will be updated with ++ * the new size. Otherwise, return false. */ ++static int ++enlarge_buffer(char **buf, size_t *sizep) ++{ ++ size_t newsize = *sizep * 2; ++ ++ if (newsize > *sizep) { ++ *buf = realloc(*buf, newsize); ++ *sizep = newsize; ++ return 1; ++ } ++ ++ return 0; ++} ++ ++static int ++get_owners_from_str(const char *user_spec, uid_t *uid, gid_t *gid) ++{ ++ size_t bufsize = 4096; ++ ++ char *pos = strchr(user_spec, ':'); ++ user_spec += strspn(user_spec, " \t\r\n"); ++ size_t len = pos ? (size_t)(pos - user_spec) : strlen(user_spec); ++ ++ char *buf = NULL; ++ struct passwd pwd, *res; ++ int e; ++ ++ buf = malloc(bufsize); ++ char *user_search = NULL; ++ if (len) { ++ user_search = malloc(len + 1); ++ memcpy(user_search, user_spec, len); ++ user_search[len] = '\0'; ++ while ((e = getpwnam_r(user_search, &pwd, buf, bufsize, &res)) == ERANGE) { ++ if (!enlarge_buffer(&buf, &bufsize)) { ++ break; ++ } ++ } ++ ++ if (e != 0) { ++ RTE_LOG(ERR, EAL,"Failed to retrive user %s's uid (%s), aborting.", ++ user_search, strerror(e)); ++ goto release; ++ } ++ if (res == NULL) { ++ RTE_LOG(ERR, EAL,"user %s not found, aborting.", ++ user_search); ++ e = -1; ++ goto release; ++ } ++ } else { ++ /* User name is not specified, use current user. */ ++ while ((e = getpwuid_r(getuid(), &pwd, buf, bufsize, &res)) == ERANGE) { ++ if (!enlarge_buffer(&buf, &bufsize)) { ++ break; ++ } ++ } ++ ++ if (e != 0) { ++ RTE_LOG(ERR, EAL,"Failed to retrive current user's uid " ++ "(%s), aborting.", strerror(e)); ++ goto release; ++ } ++ user_search = strdup(pwd.pw_name); ++ } ++ ++ if (uid) ++ *uid = pwd.pw_uid; ++ ++ free(buf); ++ buf = NULL; ++ ++ if (pos) { ++ char *grpstr = pos + 1; ++ grpstr += strspn(grpstr, " \t\r\n"); ++ ++ if (*grpstr) { ++ struct group grp, *res; ++ ++ bufsize = 4096; ++ buf = malloc(bufsize); ++ while ((e = getgrnam_r(grpstr, &grp, buf, bufsize, &res)) ++ == ERANGE) { ++ if (!enlarge_buffer(&buf, &bufsize)) { ++ break; ++ } ++ } ++ ++ if (e) { ++ RTE_LOG(ERR, EAL,"Failed to get group entry for %s, " ++ "(%s), aborting.", grpstr, ++ strerror(e)); ++ goto release; ++ } ++ if (res == NULL) { ++ RTE_LOG(ERR, EAL,"Group %s not found, aborting.", ++ grpstr); ++ e = -1; ++ goto release; ++ } ++ ++ if (gid) ++ *gid = grp.gr_gid; ++ } ++ } ++ ++ release: ++ free(buf); ++ free(user_search); ++ return e; ++} ++ ++static void ++vhost_set_permissions(const char *vhost_sock_location) ++{ ++ unsigned long int mode = strtoul(internal_config.vhost_sock_perm, NULL, 0); ++ int err = chmod(vhost_sock_location, (mode_t)mode); ++ if (err) { ++ RTE_LOG(ERR, EAL,"vhost-user socket cannot set" ++ " permissions to %s (%s).\n", ++ internal_config.vhost_sock_perm, strerror(err)); ++ return; ++ } ++ RTE_LOG(INFO, EAL,"Socket %s changed permissions" ++ " to %s\n", vhost_sock_location, ++ internal_config.vhost_sock_perm); ++} ++ ++static void ++vhost_set_ownership(const char *vhost_sock_location) ++{ ++ uid_t vhuid=0; ++ gid_t vhgid=0; ++ ++ if (get_owners_from_str(internal_config.vhost_sock_owner, &vhuid, &vhgid)) { ++ RTE_LOG(ERR, EAL,"vhost-user socket unable to get" ++ " specified user/group: %s\n", ++ internal_config.vhost_sock_owner); ++ return; ++ } ++ ++ int err = chown(vhost_sock_location, vhuid, vhgid); ++ if (err) { ++ RTE_LOG(ERR, EAL,"vhost-user socket unable to set" ++ " ownership to %s (%s).\n", ++ internal_config.vhost_sock_owner, strerror(err)); ++ return; ++ } ++ ++ RTE_LOG(INFO, EAL,"Socket %s changed ownership" ++ " to %s.\n", vhost_sock_location, ++ internal_config.vhost_sock_owner); ++} ++ ++void ++rte_eal_set_socket_permissions(const char *path) ++{ ++ if (internal_config.vhost_sock_perm) { ++ vhost_set_permissions(path); ++ } ++ ++ if (internal_config.vhost_sock_owner) { ++ vhost_set_ownership(path); ++ } ++} +diff --git a/lib/librte_eal/linuxapp/eal/rte_eal_version.map b/lib/librte_eal/linuxapp/eal/rte_eal_version.map +index db8c984..bb92e57 100644 +--- a/lib/librte_eal/linuxapp/eal/rte_eal_version.map ++++ b/lib/librte_eal/linuxapp/eal/rte_eal_version.map +@@ -139,6 +139,7 @@ DPDK_2.2 { + rte_keepalive_register_core; + rte_xen_dom0_supported; + rte_xen_mem_phy2mch; ++ rte_eal_set_socket_permissions; + + } DPDK_2.1; + +diff --git a/lib/librte_vhost/vhost_user/vhost-net-user.c b/lib/librte_vhost/vhost_user/vhost-net-user.c +index b35594d..dbdb8ad 100644 +--- a/lib/librte_vhost/vhost_user/vhost-net-user.c ++++ b/lib/librte_vhost/vhost_user/vhost-net-user.c +@@ -79,6 +79,8 @@ struct vhost_user { + pthread_mutex_t mutex; + }; + ++#include ++ + #define MAX_VIRTIO_BACKLOG 128 + + static void vhost_user_server_new_connection(int fd, void *data, int *remove); +@@ -682,6 +684,7 @@ rte_vhost_driver_register(const char *path, uint64_t flags) + if (!vsocket) + goto out; + memset(vsocket, 0, sizeof(struct vhost_user_socket)); ++ rte_eal_set_socket_permissions(path); + vsocket->path = strdup(path); + vsocket->connfd = -1; + diff --git a/debian/patches/series b/debian/patches/series index cbf06b31..07c6188b 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,3 +1,3 @@ -ubuntu-fix-vhost-user-socket-permission.patch -ubuntu-fix-double-license-info.patch -ubuntu-fix-unusual-interpreter.patch +fix-vhost-user-socket-permission.patch +fix-double-license-info.patch +fix-unusual-interpreter.patch diff --git a/debian/patches/ubuntu-fix-double-license-info.patch b/debian/patches/ubuntu-fix-double-license-info.patch deleted file mode 100644 index 5565e7a8..00000000 --- a/debian/patches/ubuntu-fix-double-license-info.patch +++ /dev/null @@ -1,1324 +0,0 @@ -Description: remove duplicate license information - -This is getting rid of: -W: dpdk-rte-kni-dkms: extra-license-file usr/src/dpdk-rte-kni-16.07-rc4/ethtool/igb/COPYING -W: dpdk-rte-kni-dkms: extra-license-file usr/src/dpdk-rte-kni-16.07-rc4/ethtool/ixgbe/COPYING - -The License (GPLv2 and all others needed) is already provided via -debian/copyright as it should be. - -Forwarded: yes -Author: Christian Ehrhardt -Last-Update: 2016-08-01 - ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/COPYING -+++ /dev/null -@@ -1,339 +0,0 @@ -- --"This software program is licensed subject to the GNU General Public License --(GPL). Version 2, June 1991, available at --" -- --GNU General Public License -- --Version 2, June 1991 -- --Copyright (C) 1989, 1991 Free Software Foundation, Inc. --59 Temple Place - Suite 330, Boston, MA 02111-1307, USA -- --Everyone is permitted to copy and distribute verbatim copies of this license --document, but changing it is not allowed. -- --Preamble -- --The licenses for most software are designed to take away your freedom to --share and change it. By contrast, the GNU General Public License is intended --to guarantee your freedom to share and change free software--to make sure --the software is free for all its users. This General Public License applies --to most of the Free Software Foundation's software and to any other program --whose authors commit to using it. (Some other Free Software Foundation --software is covered by the GNU Library General Public License instead.) You --can apply it to your programs, too. -- --When we speak of free software, we are referring to freedom, not price. Our --General Public Licenses are designed to make sure that you have the freedom --to distribute copies of free software (and charge for this service if you --wish), that you receive source code or can get it if you want it, that you --can change the software or use pieces of it in new free programs; and that --you know you can do these things. -- --To protect your rights, we need to make restrictions that forbid anyone to --deny you these rights or to ask you to surrender the rights. These --restrictions translate to certain responsibilities for you if you distribute --copies of the software, or if you modify it. -- --For example, if you distribute copies of such a program, whether gratis or --for a fee, you must give the recipients all the rights that you have. You --must make sure that they, too, receive or can get the source code. And you --must show them these terms so they know their rights. -- --We protect your rights with two steps: (1) copyright the software, and (2) --offer you this license which gives you legal permission to copy, distribute --and/or modify the software. -- --Also, for each author's protection and ours, we want to make certain that --everyone understands that there is no warranty for this free software. If --the software is modified by someone else and passed on, we want its --recipients to know that what they have is not the original, so that any --problems introduced by others will not reflect on the original authors' --reputations. -- --Finally, any free program is threatened constantly by software patents. We --wish to avoid the danger that redistributors of a free program will --individually obtain patent licenses, in effect making the program --proprietary. To prevent this, we have made it clear that any patent must be --licensed for everyone's free use or not licensed at all. -- --The precise terms and conditions for copying, distribution and modification --follow. -- --TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION -- --0. This License applies to any program or other work which contains a notice -- placed by the copyright holder saying it may be distributed under the -- terms of this General Public License. The "Program", below, refers to any -- such program or work, and a "work based on the Program" means either the -- Program or any derivative work under copyright law: that is to say, a -- work containing the Program or a portion of it, either verbatim or with -- modifications and/or translated into another language. (Hereinafter, -- translation is included without limitation in the term "modification".) -- Each licensee is addressed as "you". -- -- Activities other than copying, distribution and modification are not -- covered by this License; they are outside its scope. The act of running -- the Program is not restricted, and the output from the Program is covered -- only if its contents constitute a work based on the Program (independent -- of having been made by running the Program). Whether that is true depends -- on what the Program does. -- --1. You may copy and distribute verbatim copies of the Program's source code -- as you receive it, in any medium, provided that you conspicuously and -- appropriately publish on each copy an appropriate copyright notice and -- disclaimer of warranty; keep intact all the notices that refer to this -- License and to the absence of any warranty; and give any other recipients -- of the Program a copy of this License along with the Program. -- -- You may charge a fee for the physical act of transferring a copy, and you -- may at your option offer warranty protection in exchange for a fee. -- --2. You may modify your copy or copies of the Program or any portion of it, -- thus forming a work based on the Program, and copy and distribute such -- modifications or work under the terms of Section 1 above, provided that -- you also meet all of these conditions: -- -- * a) You must cause the modified files to carry prominent notices stating -- that you changed the files and the date of any change. -- -- * b) You must cause any work that you distribute or publish, that in -- whole or in part contains or is derived from the Program or any part -- thereof, to be licensed as a whole at no charge to all third parties -- under the terms of this License. -- -- * c) If the modified program normally reads commands interactively when -- run, you must cause it, when started running for such interactive -- use in the most ordinary way, to print or display an announcement -- including an appropriate copyright notice and a notice that there is -- no warranty (or else, saying that you provide a warranty) and that -- users may redistribute the program under these conditions, and -- telling the user how to view a copy of this License. (Exception: if -- the Program itself is interactive but does not normally print such -- an announcement, your work based on the Program is not required to -- print an announcement.) -- -- These requirements apply to the modified work as a whole. If identifiable -- sections of that work are not derived from the Program, and can be -- reasonably considered independent and separate works in themselves, then -- this License, and its terms, do not apply to those sections when you -- distribute them as separate works. But when you distribute the same -- sections as part of a whole which is a work based on the Program, the -- distribution of the whole must be on the terms of this License, whose -- permissions for other licensees extend to the entire whole, and thus to -- each and every part regardless of who wrote it. -- -- Thus, it is not the intent of this section to claim rights or contest -- your rights to work written entirely by you; rather, the intent is to -- exercise the right to control the distribution of derivative or -- collective works based on the Program. -- -- In addition, mere aggregation of another work not based on the Program -- with the Program (or with a work based on the Program) on a volume of a -- storage or distribution medium does not bring the other work under the -- scope of this License. -- --3. You may copy and distribute the Program (or a work based on it, under -- Section 2) in object code or executable form under the terms of Sections -- 1 and 2 above provided that you also do one of the following: -- -- * a) Accompany it with the complete corresponding machine-readable source -- code, which must be distributed under the terms of Sections 1 and 2 -- above on a medium customarily used for software interchange; or, -- -- * b) Accompany it with a written offer, valid for at least three years, -- to give any third party, for a charge no more than your cost of -- physically performing source distribution, a complete machine- -- readable copy of the corresponding source code, to be distributed -- under the terms of Sections 1 and 2 above on a medium customarily -- used for software interchange; or, -- -- * c) Accompany it with the information you received as to the offer to -- distribute corresponding source code. (This alternative is allowed -- only for noncommercial distribution and only if you received the -- program in object code or executable form with such an offer, in -- accord with Subsection b above.) -- -- The source code for a work means the preferred form of the work for -- making modifications to it. For an executable work, complete source code -- means all the source code for all modules it contains, plus any -- associated interface definition files, plus the scripts used to control -- compilation and installation of the executable. However, as a special -- exception, the source code distributed need not include anything that is -- normally distributed (in either source or binary form) with the major -- components (compiler, kernel, and so on) of the operating system on which -- the executable runs, unless that component itself accompanies the -- executable. -- -- If distribution of executable or object code is made by offering access -- to copy from a designated place, then offering equivalent access to copy -- the source code from the same place counts as distribution of the source -- code, even though third parties are not compelled to copy the source -- along with the object code. -- --4. You may not copy, modify, sublicense, or distribute the Program except as -- expressly provided under this License. Any attempt otherwise to copy, -- modify, sublicense or distribute the Program is void, and will -- automatically terminate your rights under this License. However, parties -- who have received copies, or rights, from you under this License will not -- have their licenses terminated so long as such parties remain in full -- compliance. -- --5. You are not required to accept this License, since you have not signed -- it. However, nothing else grants you permission to modify or distribute -- the Program or its derivative works. These actions are prohibited by law -- if you do not accept this License. Therefore, by modifying or -- distributing the Program (or any work based on the Program), you -- indicate your acceptance of this License to do so, and all its terms and -- conditions for copying, distributing or modifying the Program or works -- based on it. -- --6. Each time you redistribute the Program (or any work based on the -- Program), the recipient automatically receives a license from the -- original licensor to copy, distribute or modify the Program subject to -- these terms and conditions. You may not impose any further restrictions -- on the recipients' exercise of the rights granted herein. You are not -- responsible for enforcing compliance by third parties to this License. -- --7. If, as a consequence of a court judgment or allegation of patent -- infringement or for any other reason (not limited to patent issues), -- conditions are imposed on you (whether by court order, agreement or -- otherwise) that contradict the conditions of this License, they do not -- excuse you from the conditions of this License. If you cannot distribute -- so as to satisfy simultaneously your obligations under this License and -- any other pertinent obligations, then as a consequence you may not -- distribute the Program at all. For example, if a patent license would -- not permit royalty-free redistribution of the Program by all those who -- receive copies directly or indirectly through you, then the only way you -- could satisfy both it and this License would be to refrain entirely from -- distribution of the Program. -- -- If any portion of this section is held invalid or unenforceable under any -- particular circumstance, the balance of the section is intended to apply -- and the section as a whole is intended to apply in other circumstances. -- -- It is not the purpose of this section to induce you to infringe any -- patents or other property right claims or to contest validity of any -- such claims; this section has the sole purpose of protecting the -- integrity of the free software distribution system, which is implemented -- by public license practices. Many people have made generous contributions -- to the wide range of software distributed through that system in -- reliance on consistent application of that system; it is up to the -- author/donor to decide if he or she is willing to distribute software -- through any other system and a licensee cannot impose that choice. -- -- This section is intended to make thoroughly clear what is believed to be -- a consequence of the rest of this License. -- --8. If the distribution and/or use of the Program is restricted in certain -- countries either by patents or by copyrighted interfaces, the original -- copyright holder who places the Program under this License may add an -- explicit geographical distribution limitation excluding those countries, -- so that distribution is permitted only in or among countries not thus -- excluded. In such case, this License incorporates the limitation as if -- written in the body of this License. -- --9. The Free Software Foundation may publish revised and/or new versions of -- the General Public License from time to time. Such new versions will be -- similar in spirit to the present version, but may differ in detail to -- address new problems or concerns. -- -- Each version is given a distinguishing version number. If the Program -- specifies a version number of this License which applies to it and "any -- later version", you have the option of following the terms and -- conditions either of that version or of any later version published by -- the Free Software Foundation. If the Program does not specify a version -- number of this License, you may choose any version ever published by the -- Free Software Foundation. -- --10. If you wish to incorporate parts of the Program into other free programs -- whose distribution conditions are different, write to the author to ask -- for permission. For software which is copyrighted by the Free Software -- Foundation, write to the Free Software Foundation; we sometimes make -- exceptions for this. Our decision will be guided by the two goals of -- preserving the free status of all derivatives of our free software and -- of promoting the sharing and reuse of software generally. -- -- NO WARRANTY -- --11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -- FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -- OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -- PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER -- EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE -- ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH -- YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL -- NECESSARY SERVICING, REPAIR OR CORRECTION. -- --12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -- WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -- REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR -- DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL -- DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM -- (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED -- INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF -- THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR -- OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. -- --END OF TERMS AND CONDITIONS -- --How to Apply These Terms to Your New Programs -- --If you develop a new program, and you want it to be of the greatest --possible use to the public, the best way to achieve this is to make it free --software which everyone can redistribute and change under these terms. -- --To do so, attach the following notices to the program. It is safest to --attach them to the start of each source file to most effectively convey the --exclusion of warranty; and each file should have at least the "copyright" --line and a pointer to where the full notice is found. -- --one line to give the program's name and an idea of what it does. --Copyright (C) yyyy name of author -- --This program is free software; you can redistribute it and/or modify it --under the terms of the GNU General Public License as published by the Free --Software Foundation; either version 2 of the License, or (at your option) --any later version. -- --This program is distributed in the hope that it will be useful, but WITHOUT --ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or --FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for --more details. -- --You should have received a copy of the GNU General Public License along with --this program; if not, write to the Free Software Foundation, Inc., 59 --Temple Place - Suite 330, Boston, MA 02111-1307, USA. -- --Also add information on how to contact you by electronic and paper mail. -- --If the program is interactive, make it output a short notice like this when --it starts in an interactive mode: -- --Gnomovision version 69, Copyright (C) year name of author Gnomovision comes --with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free --software, and you are welcome to redistribute it under certain conditions; --type 'show c' for details. -- --The hypothetical commands 'show w' and 'show c' should show the appropriate --parts of the General Public License. Of course, the commands you use may be --called something other than 'show w' and 'show c'; they could even be --mouse-clicks or menu items--whatever suits your program. -- --You should also get your employer (if you work as a programmer) or your --school, if any, to sign a "copyright disclaimer" for the program, if --necessary. Here is a sample; alter the names: -- --Yoyodyne, Inc., hereby disclaims all copyright interest in the program --'Gnomovision' (which makes passes at compilers) written by James Hacker. -- --signature of Ty Coon, 1 April 1989 --Ty Coon, President of Vice -- --This General Public License does not permit incorporating your program into --proprietary programs. If your program is a subroutine library, you may --consider it more useful to permit linking proprietary applications with the --library. If this is what you want to do, use the GNU Library General Public --License instead of this License. ---- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/COPYING -+++ /dev/null -@@ -1,339 +0,0 @@ -- --"This software program is licensed subject to the GNU General Public License --(GPL). Version 2, June 1991, available at --" -- --GNU General Public License -- --Version 2, June 1991 -- --Copyright (C) 1989, 1991 Free Software Foundation, Inc. --59 Temple Place - Suite 330, Boston, MA 02111-1307, USA -- --Everyone is permitted to copy and distribute verbatim copies of this license --document, but changing it is not allowed. -- --Preamble -- --The licenses for most software are designed to take away your freedom to --share and change it. By contrast, the GNU General Public License is intended --to guarantee your freedom to share and change free software--to make sure --the software is free for all its users. This General Public License applies --to most of the Free Software Foundation's software and to any other program --whose authors commit to using it. (Some other Free Software Foundation --software is covered by the GNU Library General Public License instead.) You --can apply it to your programs, too. -- --When we speak of free software, we are referring to freedom, not price. Our --General Public Licenses are designed to make sure that you have the freedom --to distribute copies of free software (and charge for this service if you --wish), that you receive source code or can get it if you want it, that you --can change the software or use pieces of it in new free programs; and that --you know you can do these things. -- --To protect your rights, we need to make restrictions that forbid anyone to --deny you these rights or to ask you to surrender the rights. These --restrictions translate to certain responsibilities for you if you distribute --copies of the software, or if you modify it. -- --For example, if you distribute copies of such a program, whether gratis or --for a fee, you must give the recipients all the rights that you have. You --must make sure that they, too, receive or can get the source code. And you --must show them these terms so they know their rights. -- --We protect your rights with two steps: (1) copyright the software, and (2) --offer you this license which gives you legal permission to copy, distribute --and/or modify the software. -- --Also, for each author's protection and ours, we want to make certain that --everyone understands that there is no warranty for this free software. If --the software is modified by someone else and passed on, we want its --recipients to know that what they have is not the original, so that any --problems introduced by others will not reflect on the original authors' --reputations. -- --Finally, any free program is threatened constantly by software patents. We --wish to avoid the danger that redistributors of a free program will --individually obtain patent licenses, in effect making the program --proprietary. To prevent this, we have made it clear that any patent must be --licensed for everyone's free use or not licensed at all. -- --The precise terms and conditions for copying, distribution and modification --follow. -- --TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION -- --0. This License applies to any program or other work which contains a notice -- placed by the copyright holder saying it may be distributed under the -- terms of this General Public License. The "Program", below, refers to any -- such program or work, and a "work based on the Program" means either the -- Program or any derivative work under copyright law: that is to say, a -- work containing the Program or a portion of it, either verbatim or with -- modifications and/or translated into another language. (Hereinafter, -- translation is included without limitation in the term "modification".) -- Each licensee is addressed as "you". -- -- Activities other than copying, distribution and modification are not -- covered by this License; they are outside its scope. The act of running -- the Program is not restricted, and the output from the Program is covered -- only if its contents constitute a work based on the Program (independent -- of having been made by running the Program). Whether that is true depends -- on what the Program does. -- --1. You may copy and distribute verbatim copies of the Program's source code -- as you receive it, in any medium, provided that you conspicuously and -- appropriately publish on each copy an appropriate copyright notice and -- disclaimer of warranty; keep intact all the notices that refer to this -- License and to the absence of any warranty; and give any other recipients -- of the Program a copy of this License along with the Program. -- -- You may charge a fee for the physical act of transferring a copy, and you -- may at your option offer warranty protection in exchange for a fee. -- --2. You may modify your copy or copies of the Program or any portion of it, -- thus forming a work based on the Program, and copy and distribute such -- modifications or work under the terms of Section 1 above, provided that -- you also meet all of these conditions: -- -- * a) You must cause the modified files to carry prominent notices stating -- that you changed the files and the date of any change. -- -- * b) You must cause any work that you distribute or publish, that in -- whole or in part contains or is derived from the Program or any part -- thereof, to be licensed as a whole at no charge to all third parties -- under the terms of this License. -- -- * c) If the modified program normally reads commands interactively when -- run, you must cause it, when started running for such interactive -- use in the most ordinary way, to print or display an announcement -- including an appropriate copyright notice and a notice that there is -- no warranty (or else, saying that you provide a warranty) and that -- users may redistribute the program under these conditions, and -- telling the user how to view a copy of this License. (Exception: if -- the Program itself is interactive but does not normally print such -- an announcement, your work based on the Program is not required to -- print an announcement.) -- -- These requirements apply to the modified work as a whole. If identifiable -- sections of that work are not derived from the Program, and can be -- reasonably considered independent and separate works in themselves, then -- this License, and its terms, do not apply to those sections when you -- distribute them as separate works. But when you distribute the same -- sections as part of a whole which is a work based on the Program, the -- distribution of the whole must be on the terms of this License, whose -- permissions for other licensees extend to the entire whole, and thus to -- each and every part regardless of who wrote it. -- -- Thus, it is not the intent of this section to claim rights or contest -- your rights to work written entirely by you; rather, the intent is to -- exercise the right to control the distribution of derivative or -- collective works based on the Program. -- -- In addition, mere aggregation of another work not based on the Program -- with the Program (or with a work based on the Program) on a volume of a -- storage or distribution medium does not bring the other work under the -- scope of this License. -- --3. You may copy and distribute the Program (or a work based on it, under -- Section 2) in object code or executable form under the terms of Sections -- 1 and 2 above provided that you also do one of the following: -- -- * a) Accompany it with the complete corresponding machine-readable source -- code, which must be distributed under the terms of Sections 1 and 2 -- above on a medium customarily used for software interchange; or, -- -- * b) Accompany it with a written offer, valid for at least three years, -- to give any third party, for a charge no more than your cost of -- physically performing source distribution, a complete machine- -- readable copy of the corresponding source code, to be distributed -- under the terms of Sections 1 and 2 above on a medium customarily -- used for software interchange; or, -- -- * c) Accompany it with the information you received as to the offer to -- distribute corresponding source code. (This alternative is allowed -- only for noncommercial distribution and only if you received the -- program in object code or executable form with such an offer, in -- accord with Subsection b above.) -- -- The source code for a work means the preferred form of the work for -- making modifications to it. For an executable work, complete source code -- means all the source code for all modules it contains, plus any -- associated interface definition files, plus the scripts used to control -- compilation and installation of the executable. However, as a special -- exception, the source code distributed need not include anything that is -- normally distributed (in either source or binary form) with the major -- components (compiler, kernel, and so on) of the operating system on which -- the executable runs, unless that component itself accompanies the -- executable. -- -- If distribution of executable or object code is made by offering access -- to copy from a designated place, then offering equivalent access to copy -- the source code from the same place counts as distribution of the source -- code, even though third parties are not compelled to copy the source -- along with the object code. -- --4. You may not copy, modify, sublicense, or distribute the Program except as -- expressly provided under this License. Any attempt otherwise to copy, -- modify, sublicense or distribute the Program is void, and will -- automatically terminate your rights under this License. However, parties -- who have received copies, or rights, from you under this License will not -- have their licenses terminated so long as such parties remain in full -- compliance. -- --5. You are not required to accept this License, since you have not signed -- it. However, nothing else grants you permission to modify or distribute -- the Program or its derivative works. These actions are prohibited by law -- if you do not accept this License. Therefore, by modifying or -- distributing the Program (or any work based on the Program), you -- indicate your acceptance of this License to do so, and all its terms and -- conditions for copying, distributing or modifying the Program or works -- based on it. -- --6. Each time you redistribute the Program (or any work based on the -- Program), the recipient automatically receives a license from the -- original licensor to copy, distribute or modify the Program subject to -- these terms and conditions. You may not impose any further restrictions -- on the recipients' exercise of the rights granted herein. You are not -- responsible for enforcing compliance by third parties to this License. -- --7. If, as a consequence of a court judgment or allegation of patent -- infringement or for any other reason (not limited to patent issues), -- conditions are imposed on you (whether by court order, agreement or -- otherwise) that contradict the conditions of this License, they do not -- excuse you from the conditions of this License. If you cannot distribute -- so as to satisfy simultaneously your obligations under this License and -- any other pertinent obligations, then as a consequence you may not -- distribute the Program at all. For example, if a patent license would -- not permit royalty-free redistribution of the Program by all those who -- receive copies directly or indirectly through you, then the only way you -- could satisfy both it and this License would be to refrain entirely from -- distribution of the Program. -- -- If any portion of this section is held invalid or unenforceable under any -- particular circumstance, the balance of the section is intended to apply -- and the section as a whole is intended to apply in other circumstances. -- -- It is not the purpose of this section to induce you to infringe any -- patents or other property right claims or to contest validity of any -- such claims; this section has the sole purpose of protecting the -- integrity of the free software distribution system, which is implemented -- by public license practices. Many people have made generous contributions -- to the wide range of software distributed through that system in -- reliance on consistent application of that system; it is up to the -- author/donor to decide if he or she is willing to distribute software -- through any other system and a licensee cannot impose that choice. -- -- This section is intended to make thoroughly clear what is believed to be -- a consequence of the rest of this License. -- --8. If the distribution and/or use of the Program is restricted in certain -- countries either by patents or by copyrighted interfaces, the original -- copyright holder who places the Program under this License may add an -- explicit geographical distribution limitation excluding those countries, -- so that distribution is permitted only in or among countries not thus -- excluded. In such case, this License incorporates the limitation as if -- written in the body of this License. -- --9. The Free Software Foundation may publish revised and/or new versions of -- the General Public License from time to time. Such new versions will be -- similar in spirit to the present version, but may differ in detail to -- address new problems or concerns. -- -- Each version is given a distinguishing version number. If the Program -- specifies a version number of this License which applies to it and "any -- later version", you have the option of following the terms and -- conditions either of that version or of any later version published by -- the Free Software Foundation. If the Program does not specify a version -- number of this License, you may choose any version ever published by the -- Free Software Foundation. -- --10. If you wish to incorporate parts of the Program into other free programs -- whose distribution conditions are different, write to the author to ask -- for permission. For software which is copyrighted by the Free Software -- Foundation, write to the Free Software Foundation; we sometimes make -- exceptions for this. Our decision will be guided by the two goals of -- preserving the free status of all derivatives of our free software and -- of promoting the sharing and reuse of software generally. -- -- NO WARRANTY -- --11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -- FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -- OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -- PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER -- EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE -- ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH -- YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL -- NECESSARY SERVICING, REPAIR OR CORRECTION. -- --12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -- WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -- REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR -- DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL -- DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM -- (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED -- INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF -- THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR -- OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. -- --END OF TERMS AND CONDITIONS -- --How to Apply These Terms to Your New Programs -- --If you develop a new program, and you want it to be of the greatest --possible use to the public, the best way to achieve this is to make it free --software which everyone can redistribute and change under these terms. -- --To do so, attach the following notices to the program. It is safest to --attach them to the start of each source file to most effectively convey the --exclusion of warranty; and each file should have at least the "copyright" --line and a pointer to where the full notice is found. -- --one line to give the program's name and an idea of what it does. --Copyright (C) yyyy name of author -- --This program is free software; you can redistribute it and/or modify it --under the terms of the GNU General Public License as published by the Free --Software Foundation; either version 2 of the License, or (at your option) --any later version. -- --This program is distributed in the hope that it will be useful, but WITHOUT --ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or --FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for --more details. -- --You should have received a copy of the GNU General Public License along with --this program; if not, write to the Free Software Foundation, Inc., 59 --Temple Place - Suite 330, Boston, MA 02111-1307, USA. -- --Also add information on how to contact you by electronic and paper mail. -- --If the program is interactive, make it output a short notice like this when --it starts in an interactive mode: -- --Gnomovision version 69, Copyright (C) year name of author Gnomovision comes --with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free --software, and you are welcome to redistribute it under certain conditions; --type 'show c' for details. -- --The hypothetical commands 'show w' and 'show c' should show the appropriate --parts of the General Public License. Of course, the commands you use may be --called something other than 'show w' and 'show c'; they could even be --mouse-clicks or menu items--whatever suits your program. -- --You should also get your employer (if you work as a programmer) or your --school, if any, to sign a "copyright disclaimer" for the program, if --necessary. Here is a sample; alter the names: -- --Yoyodyne, Inc., hereby disclaims all copyright interest in the program --'Gnomovision' (which makes passes at compilers) written by James Hacker. -- --signature of Ty Coon, 1 April 1989 --Ty Coon, President of Vice -- --This General Public License does not permit incorporating your program into --proprietary programs. If your program is a subroutine library, you may --consider it more useful to permit linking proprietary applications with the --library. If this is what you want to do, use the GNU Library General Public --License instead of this License. ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_82575.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_82575.c -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_82575.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_82575.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.c -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_defines.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_defines.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_i210.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_i210.c -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_i210.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_i210.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mac.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mac.c -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mac.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mac.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_manage.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_manage.c -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_manage.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_manage.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mbx.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mbx.c -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mbx.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mbx.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_nvm.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_nvm.c -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_nvm.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_nvm.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.c -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_regs.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_regs.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_debugfs.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_debugfs.c -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_ethtool.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_ethtool.c -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_hwmon.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_hwmon.c -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_param.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_param.c -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_procfs.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_procfs.c -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_ptp.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_ptp.c -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_regtest.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_regtest.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_vmdq.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_vmdq.c -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_vmdq.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_vmdq.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.c -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat_ethtool.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat_ethtool.c -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82598.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82598.c -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82598.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82598.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.c -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_api.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_api.c -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_api.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_api.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_common.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_common.c -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_common.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_common.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_dcb.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_dcb.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_ethtool.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_ethtool.c -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_fcoe.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_fcoe.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_main.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_main.c -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_mbx.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_mbx.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_osdep.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_osdep.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_phy.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_phy.c -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_phy.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_phy.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_sriov.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_sriov.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_type.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_type.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_x540.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_x540.c -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_x540.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_x540.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.c -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List ---- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h -@@ -17,7 +17,7 @@ - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in -- the file called "COPYING". -+ the file called "LICENSE.GPL". - - Contact Information: - e1000-devel Mailing List diff --git a/debian/patches/ubuntu-fix-unusual-interpreter.patch b/debian/patches/ubuntu-fix-unusual-interpreter.patch deleted file mode 100644 index 754a4135..00000000 --- a/debian/patches/ubuntu-fix-unusual-interpreter.patch +++ /dev/null @@ -1,35 +0,0 @@ -Description: examples: fix unusual-interpreter v2 - -*Update in v2* -- use #!/usr/bin/env python as usually recommended and suggested in the - discussion - -Due to regular lintian checks in Debian packaging it surfaced that these -two scripts had a space in their #! statement which renders it to be -human, but not shell readable. - -Fixes: 8673a3e8 ("examples/ip_pipeline: add config diagram generator") -Fixes: fa667b46 ("examples/ip_pipeline: add core mappings script") - -This gets rid of lintian warning "W: dpdk-doc: unusual-interpreter" - -Forwarded: yes -Author: Christian Ehrhardt -Last-Update: 2016-08-02 - ---- a/examples/ip_pipeline/config/diagram-generator.py -+++ b/examples/ip_pipeline/config/diagram-generator.py -@@ -1,4 +1,4 @@ --#! /usr/bin/python2 -+#!/usr/bin/env python - - # BSD LICENSE - # ---- a/examples/ip_pipeline/config/pipeline-to-core-mapping.py -+++ b/examples/ip_pipeline/config/pipeline-to-core-mapping.py -@@ -1,4 +1,4 @@ --#! /usr/bin/python2 -+#!/usr/bin/env python - - # BSD LICENSE - # diff --git a/debian/patches/ubuntu-fix-vhost-user-socket-permission.patch b/debian/patches/ubuntu-fix-vhost-user-socket-permission.patch deleted file mode 100644 index ab3d6322..00000000 --- a/debian/patches/ubuntu-fix-vhost-user-socket-permission.patch +++ /dev/null @@ -1,371 +0,0 @@ -Description: eal: provide option to set vhost_user socket owner/permissions - -The API doesn't hold a way to specify a owner/permission set for vhost_user -created sockets. - -Projects consuming DPDK started to do 'their own workarounds' like openvswitch -https://patchwork.ozlabs.org/patch/559043/ -https://patchwork.ozlabs.org/patch/559045/ -But for this specific example they are blocked/stalled behind a bigger -rework (https://patchwork.ozlabs.org/patch/604898/). - -We need something now for existing code linking against DPDK. That implies to -avoid changing API/ABI. So I created a DPDK EAL commandline option based ideas -in the former patches. - -Fixes LP: #1546565 - -*Update* - - with the split libs it now nees to be listed in - lib/librte_eal/linuxapp/eal/rte_eal_version.map to work on link steps - - please note that upstream gravitates towards not extending but creating a - new the API in DPDK as long term solution (will take a while) - - also as listed before most affected projects seem to create their own - workaround. - So over time we have to check when we can drop it at the price of a config - transition - likely OVS 2.6 won't need it anymore. - -Forwarded: yes -Author: Christian Ehrhardt -Last-Update: 2016-07-25 - -diff --git a/doc/guides/testpmd_app_ug/run_app.rst b/doc/guides/testpmd_app_ug/run_app.rst -index 7712bd2..28776b9 100644 ---- a/doc/guides/testpmd_app_ug/run_app.rst -+++ b/doc/guides/testpmd_app_ug/run_app.rst -@@ -156,6 +156,25 @@ See the DPDK Getting Started Guides for more information on these options. - - Use malloc instead of hugetlbfs. - -+* ``--vhost-owner`` -+ -+ When creating vhost_user sockets change owner and group to the specified value. -+ This can be given as ``user:group``, but also only ``user`` or ``:group`` are supported. -+ -+ Examples:: -+ -+ --vhost-owner 'libvirt-qemu:kvm' -+ --vhost-owner 'libvirt-qemu' -+ --vhost-owner ':kvm' -+ -+* ``--vhost-perm`` -+ -+ When creating vhost_user sockets set them up with these permissions. -+ -+ For example:: -+ -+ --vhost-perm '0664' -+ - - Testpmd Command-line Options - ---------------------------- -diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c -index 481c732..2126140 100644 ---- a/lib/librte_eal/common/eal_common_options.c -+++ b/lib/librte_eal/common/eal_common_options.c -@@ -95,6 +95,8 @@ eal_long_options[] = { - {OPT_VFIO_INTR, 1, NULL, OPT_VFIO_INTR_NUM }, - {OPT_VMWARE_TSC_MAP, 0, NULL, OPT_VMWARE_TSC_MAP_NUM }, - {OPT_XEN_DOM0, 0, NULL, OPT_XEN_DOM0_NUM }, -+ {OPT_VHOST_OWNER, 1, NULL, OPT_VHOST_OWNER_NUM }, -+ {OPT_VHOST_PERM, 1, NULL, OPT_VHOST_PERM_NUM }, - {0, 0, NULL, 0 } - }; - -@@ -166,6 +168,8 @@ eal_reset_internal_config(struct internal_config *internal_cfg) - #endif - internal_cfg->vmware_tsc_map = 0; - internal_cfg->create_uio_dev = 0; -+ internal_cfg->vhost_sock_owner = NULL; -+ internal_cfg->vhost_sock_perm = NULL; - } - - static int -diff --git a/lib/librte_eal/common/eal_internal_cfg.h b/lib/librte_eal/common/eal_internal_cfg.h -index 5f1367e..bdf34e3 100644 ---- a/lib/librte_eal/common/eal_internal_cfg.h -+++ b/lib/librte_eal/common/eal_internal_cfg.h -@@ -83,6 +83,8 @@ struct internal_config { - volatile enum rte_intr_mode vfio_intr_mode; - const char *hugefile_prefix; /**< the base filename of hugetlbfs files */ - const char *hugepage_dir; /**< specific hugetlbfs directory to use */ -+ const char *vhost_sock_owner; /**< owner:group of vhost_user sockets */ -+ const char *vhost_sock_perm; /**< permissions of vhost_user sockets */ - - unsigned num_hugepage_sizes; /**< how many sizes on this system */ - struct hugepage_info hugepage_info[MAX_HUGEPAGE_SIZES]; -diff --git a/lib/librte_eal/common/eal_options.h b/lib/librte_eal/common/eal_options.h -index a881c62..1161083 100644 ---- a/lib/librte_eal/common/eal_options.h -+++ b/lib/librte_eal/common/eal_options.h -@@ -83,6 +83,10 @@ enum { - OPT_VMWARE_TSC_MAP_NUM, - #define OPT_XEN_DOM0 "xen-dom0" - OPT_XEN_DOM0_NUM, -+#define OPT_VHOST_OWNER "vhost-owner" -+ OPT_VHOST_OWNER_NUM, -+#define OPT_VHOST_PERM "vhost-perm" -+ OPT_VHOST_PERM_NUM, - OPT_LONG_MAX_NUM - }; - -diff --git a/lib/librte_eal/common/include/rte_eal.h b/lib/librte_eal/common/include/rte_eal.h -index a71d6f5..506cf24 100644 ---- a/lib/librte_eal/common/include/rte_eal.h -+++ b/lib/librte_eal/common/include/rte_eal.h -@@ -252,6 +252,11 @@ static inline int rte_gettid(void) - return RTE_PER_LCORE(_thread_id); - } - -+/** -+ * Set owner/permissions on sockets if requested on EAL commandline -+ */ -+void rte_eal_set_socket_permissions(const char *); -+ - #ifdef __cplusplus - } - #endif -diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c -index 3fb2188..dc84c5b 100644 ---- a/lib/librte_eal/linuxapp/eal/eal.c -+++ b/lib/librte_eal/linuxapp/eal/eal.c -@@ -53,6 +53,9 @@ - #if defined(RTE_ARCH_X86) - #include - #endif -+#include -+#include -+#include - - #include - #include -@@ -344,6 +347,8 @@ eal_usage(const char *prgname) - " --"OPT_CREATE_UIO_DEV" Create /dev/uioX (usually done by hotplug)\n" - " --"OPT_VFIO_INTR" Interrupt mode for VFIO (legacy|msi|msix)\n" - " --"OPT_XEN_DOM0" Support running on Xen dom0 without hugetlbfs\n" -+ " --"OPT_VHOST_OWNER" Create vhost-user sockets with this owner:group\n" -+ " --"OPT_VHOST_PERM" Create vhost-user sockets with these permissions\n" - "\n"); - /* Allow the application to print its usage message too if hook is set */ - if ( rte_application_usage_hook ) { -@@ -601,6 +606,14 @@ eal_parse_args(int argc, char **argv) - internal_config.create_uio_dev = 1; - break; - -+ case OPT_VHOST_OWNER_NUM: -+ internal_config.vhost_sock_owner = optarg; -+ break; -+ -+ case OPT_VHOST_PERM_NUM: -+ internal_config.vhost_sock_perm = optarg; -+ break; -+ - default: - if (opt < OPT_LONG_MIN_NUM && isprint(opt)) { - RTE_LOG(ERR, EAL, "Option %c is not supported " -@@ -943,3 +956,172 @@ rte_eal_check_module(const char *module_name) - /* Module has been found */ - return 1; - } -+ -+/* Try to double the size of '*buf', return true -+ * if successful, and '*sizep' will be updated with -+ * the new size. Otherwise, return false. */ -+static int -+enlarge_buffer(char **buf, size_t *sizep) -+{ -+ size_t newsize = *sizep * 2; -+ -+ if (newsize > *sizep) { -+ *buf = realloc(*buf, newsize); -+ *sizep = newsize; -+ return 1; -+ } -+ -+ return 0; -+} -+ -+static int -+get_owners_from_str(const char *user_spec, uid_t *uid, gid_t *gid) -+{ -+ size_t bufsize = 4096; -+ -+ char *pos = strchr(user_spec, ':'); -+ user_spec += strspn(user_spec, " \t\r\n"); -+ size_t len = pos ? (size_t)(pos - user_spec) : strlen(user_spec); -+ -+ char *buf = NULL; -+ struct passwd pwd, *res; -+ int e; -+ -+ buf = malloc(bufsize); -+ char *user_search = NULL; -+ if (len) { -+ user_search = malloc(len + 1); -+ memcpy(user_search, user_spec, len); -+ user_search[len] = '\0'; -+ while ((e = getpwnam_r(user_search, &pwd, buf, bufsize, &res)) == ERANGE) { -+ if (!enlarge_buffer(&buf, &bufsize)) { -+ break; -+ } -+ } -+ -+ if (e != 0) { -+ RTE_LOG(ERR, EAL,"Failed to retrive user %s's uid (%s), aborting.", -+ user_search, strerror(e)); -+ goto release; -+ } -+ if (res == NULL) { -+ RTE_LOG(ERR, EAL,"user %s not found, aborting.", -+ user_search); -+ e = -1; -+ goto release; -+ } -+ } else { -+ /* User name is not specified, use current user. */ -+ while ((e = getpwuid_r(getuid(), &pwd, buf, bufsize, &res)) == ERANGE) { -+ if (!enlarge_buffer(&buf, &bufsize)) { -+ break; -+ } -+ } -+ -+ if (e != 0) { -+ RTE_LOG(ERR, EAL,"Failed to retrive current user's uid " -+ "(%s), aborting.", strerror(e)); -+ goto release; -+ } -+ user_search = strdup(pwd.pw_name); -+ } -+ -+ if (uid) -+ *uid = pwd.pw_uid; -+ -+ free(buf); -+ buf = NULL; -+ -+ if (pos) { -+ char *grpstr = pos + 1; -+ grpstr += strspn(grpstr, " \t\r\n"); -+ -+ if (*grpstr) { -+ struct group grp, *res; -+ -+ bufsize = 4096; -+ buf = malloc(bufsize); -+ while ((e = getgrnam_r(grpstr, &grp, buf, bufsize, &res)) -+ == ERANGE) { -+ if (!enlarge_buffer(&buf, &bufsize)) { -+ break; -+ } -+ } -+ -+ if (e) { -+ RTE_LOG(ERR, EAL,"Failed to get group entry for %s, " -+ "(%s), aborting.", grpstr, -+ strerror(e)); -+ goto release; -+ } -+ if (res == NULL) { -+ RTE_LOG(ERR, EAL,"Group %s not found, aborting.", -+ grpstr); -+ e = -1; -+ goto release; -+ } -+ -+ if (gid) -+ *gid = grp.gr_gid; -+ } -+ } -+ -+ release: -+ free(buf); -+ free(user_search); -+ return e; -+} -+ -+static void -+vhost_set_permissions(const char *vhost_sock_location) -+{ -+ unsigned long int mode = strtoul(internal_config.vhost_sock_perm, NULL, 0); -+ int err = chmod(vhost_sock_location, (mode_t)mode); -+ if (err) { -+ RTE_LOG(ERR, EAL,"vhost-user socket cannot set" -+ " permissions to %s (%s).\n", -+ internal_config.vhost_sock_perm, strerror(err)); -+ return; -+ } -+ RTE_LOG(INFO, EAL,"Socket %s changed permissions" -+ " to %s\n", vhost_sock_location, -+ internal_config.vhost_sock_perm); -+} -+ -+static void -+vhost_set_ownership(const char *vhost_sock_location) -+{ -+ uid_t vhuid=0; -+ gid_t vhgid=0; -+ -+ if (get_owners_from_str(internal_config.vhost_sock_owner, &vhuid, &vhgid)) { -+ RTE_LOG(ERR, EAL,"vhost-user socket unable to get" -+ " specified user/group: %s\n", -+ internal_config.vhost_sock_owner); -+ return; -+ } -+ -+ int err = chown(vhost_sock_location, vhuid, vhgid); -+ if (err) { -+ RTE_LOG(ERR, EAL,"vhost-user socket unable to set" -+ " ownership to %s (%s).\n", -+ internal_config.vhost_sock_owner, strerror(err)); -+ return; -+ } -+ -+ RTE_LOG(INFO, EAL,"Socket %s changed ownership" -+ " to %s.\n", vhost_sock_location, -+ internal_config.vhost_sock_owner); -+} -+ -+void -+rte_eal_set_socket_permissions(const char *path) -+{ -+ if (internal_config.vhost_sock_perm) { -+ vhost_set_permissions(path); -+ } -+ -+ if (internal_config.vhost_sock_owner) { -+ vhost_set_ownership(path); -+ } -+} -diff --git a/lib/librte_eal/linuxapp/eal/rte_eal_version.map b/lib/librte_eal/linuxapp/eal/rte_eal_version.map -index db8c984..bb92e57 100644 ---- a/lib/librte_eal/linuxapp/eal/rte_eal_version.map -+++ b/lib/librte_eal/linuxapp/eal/rte_eal_version.map -@@ -139,6 +139,7 @@ DPDK_2.2 { - rte_keepalive_register_core; - rte_xen_dom0_supported; - rte_xen_mem_phy2mch; -+ rte_eal_set_socket_permissions; - - } DPDK_2.1; - -diff --git a/lib/librte_vhost/vhost_user/vhost-net-user.c b/lib/librte_vhost/vhost_user/vhost-net-user.c -index b35594d..dbdb8ad 100644 ---- a/lib/librte_vhost/vhost_user/vhost-net-user.c -+++ b/lib/librte_vhost/vhost_user/vhost-net-user.c -@@ -79,6 +79,8 @@ struct vhost_user { - pthread_mutex_t mutex; - }; - -+#include -+ - #define MAX_VIRTIO_BACKLOG 128 - - static void vhost_user_server_new_connection(int fd, void *data, int *remove); -@@ -682,6 +684,7 @@ rte_vhost_driver_register(const char *path, uint64_t flags) - if (!vsocket) - goto out; - memset(vsocket, 0, sizeof(struct vhost_user_socket)); -+ rte_eal_set_socket_permissions(path); - vsocket->path = strdup(path); - vsocket->connfd = -1; - -- cgit 1.2.3-korg