Re: [vpp-dev] How do I create a igb_uio module on Centos

2017-02-21 Thread Burt Silverman
​I will likely buy an intel processor based computer after I take a NJ
break. And there are probably machines sitting at the local "Transfer
Station" (aka City Dump) that are more usable for this activity than my AMD!

I am thinking of adding "SC Linux expert" to my resume. When the
interviewer says, "I spotted a typo on your resume, but it's great to see
you have expertise in SE (secure) Linux, I'll explain, "no, not a typo,
that's Senior Citizen Linux."

Burt
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] How do I create a igb_uio module on Centos

2017-02-21 Thread Dave Barach (dbarach)
Hey Burt,

8 + 9 => make a new .../build-data/platforms/amd-senior-citizen.mk file, and 
build PLATFORM=amd-senior-citizen. It wouldn’t be a problem to merge a patch 
with that piece of the puzzle.

From the Shameless Commerce Department at Car Talk Plaza: you could also buy a 
new computer. (;-)...

Thanks… Dave

From: vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io] On 
Behalf Of Burt Silverman
Sent: Monday, February 20, 2017 10:52 PM
To: Billy McFall 
Cc: vpp-dev ; Damjan Marion 
Subject: Re: [vpp-dev] How do I create a igb_uio module on Centos

I was able to make VPP recognize my network interfaces, despite the fact that 
my processor is an older AMD and is missing SSSE3, SSE4.1, and SSE4.2. So FYI 
if anybody who owns an older AMD processor comes along, here is what I did:
0. When upgrading from an even older processor, use thermal paste. I have yet 
to do this, and my ears are killing me -- especially after I start running VPP.
1. Download DPDK source. This is not a great idea, but I need to modify DPDK 
code, and due to my limited familiarity with DPDK build within VPP, my changes 
were getting overwritten while developing them. So I took the easy way out and 
simply used a separate DPDK git repo, so I am missing VPP goodies.
2. in dpdk/config/common_base, change the following options from =y to =n:

CONFIG_RTE_LIBRTE_IXGBE_PMD
CONFIG_RTE_LIBRTE_FM10K_PMD
CONFIG_RTE_LIBRTE_VIRTIO_PMD
CONFIG_RTE_APP_TEST
CONFIG_RTE_TEST_PMD
I am working with four physical 1Gbps intel e1000 interfaces, so I can get away 
with this.
Once you have these changes, you can "make config T=x86_64-native-linuxapp-gcc"
3. cd ~/dpdk/lib/librte_eal/common/include/arch/x86 and edit rte_memcpy.h.
Go to the definition of rte_memcpy_generic() nearest the bottom of the file 
(might be known as rte_memcpy() in older DPDK). Comment out the declarations of 
xmm0 through xmm8.
4. Redefine macro MOVEUNALIGNED_LEFT47(dst, src, len, offset) as (memcpy(dst, 
src, len)) AND comment out the original definition. [Extra credit: figure out 
how to use AMD SSE4.a instructions for higher performance, or whether that even 
makes any sense.]
5. cd ~/dpdk; make  EXTRA_CFLAGS=-fPIC  -jYOURCHOICE
The EXTRA_CFLAGS is necessary so that the libraries will link with libvnet.
6. sudo make install
7. cd ~/vpp

8. edit build-data/packages/vpp.mk<http://vpp.mk>
Precede -I/usr/include with -I/usr/local/include in part of the definition of 
vpp_CPPFLAGS. This is because I did a default install of dpdk which goes into 
/usr/local rather than /usr.
9. edit build-data/platforms/vpp.mk<http://vpp.mk>
For x86_64, change vpp_march from corei7 to native and remove vpp_mtune. And 
remove the -mtune option from vpp_TAG_CFLAGS and vpp_TAG_LDFLAGS
10. I think this is all you need before "make build-release". When that is 
complete, you should be able to use the programs in 
build-root/install-vpp-native/vpp/bin.
11. Next step is for me to connect an ethernet cable between one of the ports 
of my new 4 port intel adapter to a laptop with static IPs and see if I can 
ping. Everything preceding that in 
https://wiki.fd.io/view/VPP/How_To_Connect_A_PCI_Interface_To_VPP works great.
12. I'll probably get an intel based desktop in the near future.
Burt





On Sat, Feb 18, 2017 at 9:00 AM, Burt Silverman 
mailto:bur...@gmail.com>> wrote:
OK, thanks Damjan and Billy. It turns out that my problem was more fundamental. 
I have a bad vpp binary, as I built on an AMD processor, so the binary 
complains that the CPU does not have SSE4.2 extensions.

Unfortunately when I "sudo service vpp start" there are no messages on the 
screen, so I assumed things were AOK at that point. I have to either look in 
/var/log/messages.log or issue "vpp" directly on the command line to see the 
errors. I wonder if it is possible to have user friendly error messages appear 
directly on screen when issuing "sudo service vpp start". Also I'll have to 
troubleshoot to see if there is a workaround for the SSE4.2 issue, unless 
somebody knows about AMD Phenom ii processors.

Burt
ps, in the past I used to just build code on a laptop and never tried running 
it:-)

On Sat, Feb 18, 2017 at 8:04 AM, Billy McFall 
mailto:bmcf...@redhat.com>> wrote:
I have been editing ../vpp/dpdk/Makefile, search for IGB_UIO and change the n 
to a y.

Billy

On Sat, Feb 18, 2017 at 6:31 AM, Damjan Marion 
mailto:dmarion.li...@gmail.com>> wrote:

On 18 Feb 2017, at 05:48, Burt Silverman 
mailto:bur...@gmail.com>> wrote:

Hi,

I am trying to follow the procedures on 
https://wiki.fd.io/view/VPP/Build,_install,_and_test_images and 
https://wiki.fd.io/view/VPP/How_To_Connect_A_PCI_Interface_To_VPP but I end up 
with no igb_uio module; so I cannot
# modprobe igb_uio

and that seems to correspond to
·vpp-dpdk-dkms - DKMS based DPDK kernel module package (only on 
Debian/Ubuntu)

from https://wiki.fd.io/view/VPP/

Re: [vpp-dev] How do I create a igb_uio module on Centos

2017-02-20 Thread Burt Silverman
I was able to make VPP recognize my network interfaces, despite the fact
that my processor is an older AMD and is missing SSSE3, SSE4.1, and SSE4.2.
So FYI if anybody who owns an older AMD processor comes along, here is what
I did:

0. When upgrading from an even older processor, use thermal paste. I have
yet to do this, and my ears are killing me -- especially after I start
running VPP.

1. Download DPDK source. This is not a great idea, but I need to modify
DPDK code, and due to my limited familiarity with DPDK build within VPP, my
changes were getting overwritten while developing them. So I took the easy
way out and simply used a separate DPDK git repo, so I am missing VPP
goodies.

2. in dpdk/config/common_base, change the following options from =y to =n:

CONFIG_RTE_LIBRTE_IXGBE_PMD
CONFIG_RTE_LIBRTE_FM10K_PMD
CONFIG_RTE_LIBRTE_VIRTIO_PMD
CONFIG_RTE_APP_TEST
CONFIG_RTE_TEST_PMD

I am working with four physical 1Gbps intel e1000 interfaces, so I can get
away with this.
Once you have these changes, you can "make config
T=x86_64-native-linuxapp-gcc"

3. cd ~/dpdk/lib/librte_eal/common/include/arch/x86 and edit rte_memcpy.h.
Go to the definition of rte_memcpy_generic() nearest the bottom of the file
(might be known as rte_memcpy() in older DPDK). Comment out the
declarations of xmm0 through xmm8.
4. Redefine macro MOVEUNALIGNED_LEFT47(dst, src, len, offset) as
(memcpy(dst, src, len)) AND comment out the original definition. [Extra
credit: figure out how to use AMD SSE4.a instructions for higher
performance, or whether that even makes any sense.]

5. cd ~/dpdk; make  EXTRA_CFLAGS=-fPIC  -jYOURCHOICE
The EXTRA_CFLAGS is necessary so that the libraries will link with libvnet.

6. sudo make install

7. cd ~/vpp

8. edit build-data/packages/vpp.mk
Precede -I/usr/include with -I/usr/local/include in part of the definition
of vpp_CPPFLAGS. This is because I did a default install of dpdk which goes
into /usr/local rather than /usr.
9. edit build-data/platforms/vpp.mk
For x86_64, change vpp_march from corei7 to native and remove vpp_mtune.
And remove the -mtune option from vpp_TAG_CFLAGS and vpp_TAG_LDFLAGS

10. I think this is all you need before "make build-release". When that is
complete, you should be able to use the programs in
build-root/install-vpp-native/vpp/bin.

11. Next step is for me to connect an ethernet cable between one of the
ports of my new 4 port intel adapter to a laptop with static IPs and see if
I can ping. Everything preceding that in
https://wiki.fd.io/view/VPP/How_To_Connect_A_PCI_Interface_To_VPP works
great.

12. I'll probably get an intel based desktop in the near future.

Burt






On Sat, Feb 18, 2017 at 9:00 AM, Burt Silverman  wrote:

> OK, thanks Damjan and Billy. It turns out that my problem was more
> fundamental. I have a bad vpp binary, as I built on an AMD processor, so
> the binary complains that the CPU does not have SSE4.2 extensions.
>
> Unfortunately when I "sudo service vpp start" there are no messages on the
> screen, so I assumed things were AOK at that point. I have to either look
> in /var/log/messages.log or issue "vpp" directly on the command line to see
> the errors. I wonder if it is possible to have user friendly error messages
> appear directly on screen when issuing "sudo service vpp start". Also I'll
> have to troubleshoot to see if there is a workaround for the SSE4.2 issue,
> unless somebody knows about AMD Phenom ii processors.
>
> Burt
> ps, in the past I used to just build code on a laptop and never tried
> running it:-)
>
> On Sat, Feb 18, 2017 at 8:04 AM, Billy McFall  wrote:
>
>> I have been editing ../vpp/dpdk/Makefile, search for IGB_UIO and change
>> the n to a y.
>>
>> Billy
>>
>> On Sat, Feb 18, 2017 at 6:31 AM, Damjan Marion 
>> wrote:
>>
>>>
>>> On 18 Feb 2017, at 05:48, Burt Silverman  wrote:
>>>
>>> Hi,
>>>
>>> I am trying to follow the procedures on https://wiki.fd.io/view/VPP
>>> /Build,_install,_and_test_images and https://wiki.fd.io/view/VP
>>> P/How_To_Connect_A_PCI_Interface_To_VPP but I end up with no igb_uio
>>> module; so I cannot
>>> # modprobe igb_uio
>>>
>>> and that seems to correspond to
>>>
>>>- *vpp-dpdk-dkms* - DKMS based DPDK kernel module package (only on
>>>Debian/Ubuntu)
>>>
>>>
>>> from https://wiki.fd.io/view/VPP/Build,_install,_and_test_images
>>>
>>> so what is the workflow when using Centos? The wiki indicates that no
>>> special workflow is required for Centos other than using systemd commands
>>> rather than upstart commands.
>>>
>>>
>>> We never made this working on centos, as we use uio_pci_generic. Why do
>>> you need igb_uio?
>>>
>>>
>>> ___
>>> vpp-dev mailing list
>>> vpp-dev@lists.fd.io
>>> https://lists.fd.io/mailman/listinfo/vpp-dev
>>>
>>
>>
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] How do I create a igb_uio module on Centos

2017-02-18 Thread Burt Silverman
OK, thanks Damjan and Billy. It turns out that my problem was more
fundamental. I have a bad vpp binary, as I built on an AMD processor, so
the binary complains that the CPU does not have SSE4.2 extensions.

Unfortunately when I "sudo service vpp start" there are no messages on the
screen, so I assumed things were AOK at that point. I have to either look
in /var/log/messages.log or issue "vpp" directly on the command line to see
the errors. I wonder if it is possible to have user friendly error messages
appear directly on screen when issuing "sudo service vpp start". Also I'll
have to troubleshoot to see if there is a workaround for the SSE4.2 issue,
unless somebody knows about AMD Phenom ii processors.

Burt
ps, in the past I used to just build code on a laptop and never tried
running it:-)

On Sat, Feb 18, 2017 at 8:04 AM, Billy McFall  wrote:

> I have been editing ../vpp/dpdk/Makefile, search for IGB_UIO and change
> the n to a y.
>
> Billy
>
> On Sat, Feb 18, 2017 at 6:31 AM, Damjan Marion 
> wrote:
>
>>
>> On 18 Feb 2017, at 05:48, Burt Silverman  wrote:
>>
>> Hi,
>>
>> I am trying to follow the procedures on https://wiki.fd.io/view/VPP
>> /Build,_install,_and_test_images and https://wiki.fd.io/view/VP
>> P/How_To_Connect_A_PCI_Interface_To_VPP but I end up with no igb_uio
>> module; so I cannot
>> # modprobe igb_uio
>>
>> and that seems to correspond to
>>
>>- *vpp-dpdk-dkms* - DKMS based DPDK kernel module package (only on
>>Debian/Ubuntu)
>>
>>
>> from https://wiki.fd.io/view/VPP/Build,_install,_and_test_images
>>
>> so what is the workflow when using Centos? The wiki indicates that no
>> special workflow is required for Centos other than using systemd commands
>> rather than upstart commands.
>>
>>
>> We never made this working on centos, as we use uio_pci_generic. Why do
>> you need igb_uio?
>>
>>
>> ___
>> vpp-dev mailing list
>> vpp-dev@lists.fd.io
>> https://lists.fd.io/mailman/listinfo/vpp-dev
>>
>
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] How do I create a igb_uio module on Centos

2017-02-18 Thread Billy McFall
I have been editing ../vpp/dpdk/Makefile, search for IGB_UIO and change the
n to a y.

Billy

On Sat, Feb 18, 2017 at 6:31 AM, Damjan Marion 
wrote:

>
> On 18 Feb 2017, at 05:48, Burt Silverman  wrote:
>
> Hi,
>
> I am trying to follow the procedures on https://wiki.fd.io/view/
> VPP/Build,_install,_and_test_images and https://wiki.fd.io/view/
> VPP/How_To_Connect_A_PCI_Interface_To_VPP but I end up with no igb_uio
> module; so I cannot
> # modprobe igb_uio
>
> and that seems to correspond to
>
>- *vpp-dpdk-dkms* - DKMS based DPDK kernel module package (only on
>Debian/Ubuntu)
>
>
> from https://wiki.fd.io/view/VPP/Build,_install,_and_test_images
>
> so what is the workflow when using Centos? The wiki indicates that no
> special workflow is required for Centos other than using systemd commands
> rather than upstart commands.
>
>
> We never made this working on centos, as we use uio_pci_generic. Why do
> you need igb_uio?
>
>
> ___
> vpp-dev mailing list
> vpp-dev@lists.fd.io
> https://lists.fd.io/mailman/listinfo/vpp-dev
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] How do I create a igb_uio module on Centos

2017-02-18 Thread Damjan Marion
> 
> On 18 Feb 2017, at 05:48, Burt Silverman  wrote:
> 
> Hi,
> 
> I am trying to follow the procedures on 
> https://wiki.fd.io/view/VPP/Build,_install,_and_test_images 
>  and 
> https://wiki.fd.io/view/VPP/How_To_Connect_A_PCI_Interface_To_VPP 
>  but I end 
> up with no igb_uio module; so I cannot
> # modprobe igb_uio
> 
> and that seems to correspond to
> vpp-dpdk-dkms - DKMS based DPDK kernel module package (only on Debian/Ubuntu)
> 
> from https://wiki.fd.io/view/VPP/Build,_install,_and_test_images 
> 
> 
> so what is the workflow when using Centos? The wiki indicates that no special 
> workflow is required for Centos other than using systemd commands rather than 
> upstart commands.

We never made this working on centos, as we use uio_pci_generic. Why do you 
need igb_uio?

___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev