Re: [vpp-dev] The feasibility of C++ gRPC with libvcl_ldpreload

2017-12-06 Thread Florin Coras
Hi Peter, 

eventfd, as far as I know, is used for event notification. In other words, it’s 
not something needed for exchanging data with a remote peer over tcp. Could you 
provide more details concerning what you’re trying to achieve?

Cheers, 
Florin

> On Dec 6, 2017, at 2:25 PM, Peter Palmár  wrote:
> 
> Hi,
> 
> we are testing the VPP TCP stack by using the following combination: A C++ 
> application based on C++ gRPC with libvcl_ldpreload.
> 
> We use greeter_server and greeter_client from grpc/examples/cpp/helloworld 
> taken from https://github.com/grpc/grpc .
> 
> The server and client use the eventfd()/eventfd2() system call which is not 
> implemented in libvcl_ldpreload;
> this seems to be a reason why the communication between the server and client 
> does not work.
> 
> Could you please let me know whether I am right and if so, whether/when an 
> implementation of eventfd is planned to be added to libvcl_ldpreload?
> 
> The attached file contains the client output.
> 
> Regards,
> Peter
> 
> ___
> 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

[vpp-dev] The feasibility of C++ gRPC with libvcl_ldpreload

2017-12-06 Thread Peter Palmár
Hi,

we are testing the VPP TCP stack by using the following combination: A C++ 
application based on C++ gRPC with libvcl_ldpreload.

We use greeter_server and greeter_client from grpc/examples/cpp/helloworld 
taken from https://github.com/grpc/grpc.

The server and client use the eventfd()/eventfd2() system call which is not 
implemented in libvcl_ldpreload;
this seems to be a reason why the communication between the server and client 
does not work.

Could you please let me know whether I am right and if so, whether/when an 
implementation of eventfd is planned to be added to libvcl_ldpreload?

The attached file contains the client output.

Regards,
Peter

sudo -E bash -c 'export 
LD_PRELOAD=/home/palmar/dev/vpp/build-root/build-vpp_debug-native/vpp/.libs/libvcl_ldpreload.so.0.0.0;
 ./greeter_client'
[sudo] password for palmar: 
vppcom_app_create:1964: [3889] getenv 'VCL_CONFIG' failed!
open configuration file '/etc/vpp/vcl.conf' failed
vppcom_cfg_heapsize:1604: [3889] allocated VCL heap = 0x7fa1e8475000, size 
268435456 (0x1000)
vppcom_cfg_read:1624: [3889] open configuration file '/etc/vpp/vcl.conf' failed!

Connecting to VPP api... connected!
vppcom_app_create:2063: [3889] sending session enable
vppcom_app_create:2074: [3889] sending app attach
vppcom_app_create:2086: [3889] app_name 'vcom-app-3889', my_client_index 0 (0x0)
vcom_socket_main_init

[3889] vcom_init...done!

[3889] vcom_constructor...done!
vppcom_epoll_create:3352: [3889] Created vep_idx 0 / sid 0!
[3889] epoll_create: '0006'='0008'
[3889] vcom_socket_epoll_ctl_i: libc_epoll_ctl() returned 0
epfd 6, vep_idx 0, fd 7 sid -1 op 1
count 1, vcl_cnt 0, libc_cnt 1
[3889] epoll_ctl: ''='0006', '0001', '0007'
epfd='0006', vep_idx='', type='EPOLL_TYPE_VPPCOM_BOUND   ', 
flags='524288', count='1', close='0'
vppcom_session_create:2136: [3889] sid 1
[3889][14055050752 (0x7fa1e7c72700)] socket: '0008'= D='0010', T='0001', 
P=''
fd='0008', sid='0001',type='SOCKET_TYPE_VPPCOM_BOUND  '
epfd='0006', vep_idx='', type='EPOLL_TYPE_VPPCOM_BOUND   ', 
flags='524288', count='1', close='0'
vppcom_session_bind:2286: [3889] sid 1: binding to local IPv6 address 0.0.0.1 
port 0, proto TCP
[3889] bind: ''='0008', '0x7fa1e7c71800', '0028'
[3889] close: fd 8
vppcom_session_close:2172: [3889] vpp handle 0x, sid 1: closing 
session...
vppcom_session_close:2248: [3889] vpp handle 0x, sid 1: session 
removed.
[3889] close: vcom_close() returned 0
epfd='0006', vep_idx='', type='EPOLL_TYPE_VPPCOM_BOUND   ', 
flags='524288', count='1', close='0'
vppcom_session_create:2136: [3889] sid 1
[3889][14055050752 (0x7fa1e7c72700)] socket: '0008'= D='0010', T='0001', 
P=''
fd='0008', sid='0001',type='SOCKET_TYPE_VPPCOM_BOUND  '
epfd='0006', vep_idx='', type='EPOLL_TYPE_VPPCOM_BOUND   ', 
flags='524288', count='1', close='0'
[3889] setsockopt: ''='0008', '0041', '0026', '0x7fa1e7c718b4', '0004'
[3889] fcntl: '0002'='0008', '0003'
[3889] fcntl: ''='0008', '0004'
[3889] fcntl: ''='0008', '0001'
[3889] fcntl: ''='0008', '0002'
[3889] setsockopt: ''='0008', '0006', '0001', '0x7fa1e7c718b4', '0004'
[3889] connect: '-022'='0008', '0x7fa1e7c71930', '0028'
[3889] vcom_socket_epoll_ctl_i: vppcom_epoll_ctl() returned 0
epfd 6, vep_idx 0, fd 8 sid 1 op 1
count 2, vcl_cnt 1, libc_cnt 1
[3889] epoll_ctl: ''='0006', '0001', '0008'
[3889] shutdown: ''='0008', '0002'
[3889] close: fd 8
vppcom_session_close:2172: [3889] vpp handle 0x, sid 1: closing 
session...
vppcom_session_close:2248: [3889] vpp handle 0x, sid 1: session 
removed.
[3889] close: vcom_close() returned 0
14: Connect Failed
Greeter received: RPC failed
[3889] close: fd 6
[3889] close: vcom_close() returned 0
vcom_socket_main_destroy
vppcom_session_close:2169: [3889] vep_idx 0 / sid 0: closing epoll session...
vppcom_session_close:2245: [3889] vep_idx 0 / sid 0: epoll session removed.
vppcom_app_destroy:2102: [3889] detaching from VPP, my_client_index 0 (0x0)

[3889] vcom_destroy...done!

[3889] vcom_destructor...done!
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] Building and running sample plugin

2017-12-06 Thread Pradeep Patel (pradpate)
I am trying to build and run sample plugin using make option. I see sample 
plugin so gets created but failed due to undefined symbol: sample_main. Any 
pointers with be helpful.
Regards,
Pradeep
>make build SAMPLE_PLUGIN=yes
> make run SAMPLE_PLUGIN=yes


vagrant@localhost:/vpp$ make run SAMPLE_PLUGIN=yes
WARNING: STARTUP_CONF not defined or file doesn't exist.
 Running with minimal startup config:  unix { interactive cli-listen 
/run/vpp/cli.sock gid 1000 }

vlib_plugin_early_init:356: plugin path 
/vpp/build-root/install-vpp_debug-native/sample-plugin/lib64/vpp_plugins:/vpp/build-root/install-vpp_debug-native/vpp/lib64/vpp_plugins
load_one_plugin:184: Loaded plugin: acl_plugin.so (Access Control Lists)
load_one_plugin:184: Loaded plugin: dpdk_plugin.so (Data Plane Development Kit 
(DPDK))
load_one_plugin:184: Loaded plugin: flowprobe_plugin.so (Flow per Packet)
load_one_plugin:184: Loaded plugin: gtpu_plugin.so (GTPv1-U)
load_one_plugin:184: Loaded plugin: ila_plugin.so (Identifier-locator 
addressing for IPv6)
load_one_plugin:184: Loaded plugin: ioam_plugin.so (Inbound OAM)
load_one_plugin:114: Plugin disabled (default): ixge_plugin.so
load_one_plugin:184: Loaded plugin: lb_plugin.so (Load Balancer)
load_one_plugin:184: Loaded plugin: libsixrd_plugin.so (IPv6 Rapid Deployment 
on IPv4 Infrastructure (RFC5969))
load_one_plugin:184: Loaded plugin: memif_plugin.so (Packet Memory Interface 
(experimetal))
load_one_plugin:184: Loaded plugin: nat_plugin.so (Network Address Translation)
load_one_plugin:184: Loaded plugin: pppoe_plugin.so (PPPoE)
load_one_plugin:142: 
/vpp/build-root/install-vpp_debug-native/sample-plugin/lib64/vpp_plugins/sample_plugin.so:
 undefined symbol: sample_main
load_one_plugin:143: Failed to load plugin 'sample_plugin.so'
Aborted
Makefile:434: recipe for target 'run' failed
make: *** [run] Error 134
vagrant@localhost:/vpp$ vim ^C
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] How can i use VPP as MPLS PE/P device

2017-12-06 Thread Luke, Chris
But to make sure we’re clear, while VPP can provide the dataplane of a P/PE, 
but something else has to provide the control plane (eg, LDP, BGP, SDN 
controller, etc)

 

Chris.

 

From:  on behalf of "Neale Ranns (nranns)" 

Date: Wednesday, December 6, 2017 at 09:33
To: "wangchuan...@163.com" , vpp-dev 
Subject: Re: [vpp-dev] How can i use VPP as MPLS PE/P device

 

 

Another hastily assembled, on-demand guide:

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

 

/neale

 

From:  on behalf of "wangchuan...@163.com" 

Date: Wednesday, 6 December 2017 at 09:11
To: vpp-dev 
Subject: [vpp-dev] How can i use VPP as MPLS PE/P device

 

hi all,

I want to configure my testing MPLS network.

how can I configure VPP to act as PE or P using CLI cmd?

who can help?




best regards!

 

simon wang



smime.p7s
Description: S/MIME cryptographic signature
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] How can i use VPP as MPLS PE/P device

2017-12-06 Thread Neale Ranns (nranns)

Another hastily assembled, on-demand guide:
  https://wiki.fd.io/view/VPP/MPLS_FIB

/neale

From:  on behalf of "wangchuan...@163.com" 

Date: Wednesday, 6 December 2017 at 09:11
To: vpp-dev 
Subject: [vpp-dev] How can i use VPP as MPLS PE/P device

hi all,
I want to configure my testing MPLS network.
how can I configure VPP to act as PE or P using CLI cmd?
who can help?


best regards!


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

[vpp-dev] How can i use VPP as MPLS PE/P device

2017-12-06 Thread wangchuan...@163.com
hi all,
I want to configure my testing MPLS network.
how can I configure VPP to act as PE or P using CLI cmd?
who can help?

best regards!



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

Re: [vpp-dev] i40e in a sorry state?

2017-12-06 Thread Jon Loeliger
On Wed, Dec 6, 2017 at 5:17 AM, Kinsella, Ray  wrote:

>
> We may need the contents of PFHMC_ERRORINFO and PFHMC_ERRORDATA registers
> to figure this out.
> I suspect that this may be something to do with interrupts being enabled.
> However from reading the code, looks like interrupts should be disabled by
> default unless explictly enabled.
>
> Ray K
>

Ray,

I backed off to 17.08, and still showed the problem.  That indicated to me
that something else was happening.  I dug a little deeper and found an
entirely different hole unrelated to VPP/DPDK that caused this issue for me.

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

Re: [vpp-dev] NFV with VPP

2017-12-06 Thread Ole Troan
Yuliang,

> If I want to run a VNF chain (e.g., FW, NAT, IDS, VPN gateway...), what is 
> the normal way of running them with VPP? Do we run each VNF in a VM/container 
> and use VPP as a software switch, or run each VNF as a node in the VPP graph? 
> If it is the latter case, is there any open source code online for these VNF 
> (say, IDS or VPN) that can be plugged into VPP?

"How long is a piece of string?" Seems to be the current best answer. ;-)

On one end of the spectrum a "VNF" is just a feature (a graph node) in VPP. On 
the other end you have a set of isolated VNFs running in VMs, containers or 
uni-kernels. These VNFs can be built with VPP or something else. Then you can 
also use VPP as a vRouter / vSwitch to tie it all together.

If you like to have most of your machine resources tied up in overhead running 
Linux kernels and swapping packets between themselves. Aka a nation of hair 
dressers, then you might prefer one approach over another. :-)

Joking aside, what problem are you trying to solve?
Do you need to tie features from different projects/vendors together or can you 
implement what you need in VPP?

Best regards,
Ole


signature.asc
Description: Message signed with OpenPGP
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] SR MPLS not effective

2017-12-06 Thread Neale Ranns (nranns)

Hi Xyxue,

The junk value for the last label in the stack was a result of you configuring 
9 labels, when the mpls_label_dpo_t can contain only 8.
I have pushed patch:
  https://gerrit.fd.io/r/#/c/9739/
to:
1 – up this value to 12, which is as many as will allow a mpls_label_dpo_t to 
still fit on one cache line
2 – not go wandering into random memory when the stack size is exceeded, but 
instead log and error and stack on drop.
If more than 12 labels are really needed, then I’ll need to revisit this and 
probably play the same trick as we do for handling more that 4 load-balance 
buckets.

Regards,
neale

From: 薛欣颖 
Date: Thursday, 30 November 2017 at 12:44
To: "Neale Ranns (nranns)" , "Pablo Camarillo (pcamaril)" 
, vpp-dev 
Subject: Re: Re: [vpp-dev] SR MPLS not effective


Hi Neale,

I can't configure the command like this:
'VPP# sr mpls policy add bsid 999 next 210  209  208  207  206  205  204  203  
202  201
unknown input `209  208  207  206  205  204  ...''

I configured the command like before. And the all info is shown below:
packet info:
00:05:58:166326: af-packet-input
af_packet: hw_if_index 1 next-index 4
tpacket2_hdr:
status 0x2001 len 78 snaplen 78 mac 66 net 80
sec 0x5a1feacb nsec 0x372a239a vlan 0
00:05:58:166355: ethernet-input
IP4: 00:00:00:66:00:55 -> 00:0c:29:4d:af:b5
00:05:58:166385: ip4-input
ICMP: 21.1.1.5 -> 23.1.1.5
tos 0x00, ttl 64, length 64, checksum 0x4cb1
fragment id 0x0001
ICMP echo_request checksum 0x5f5d
00:05:58:166391: ip4-lookup
fib 0 dpo-idx 33 flow hash: 0x
ICMP: 21.1.1.5 -> 23.1.1.5
tos 0x00, ttl 64, length 64, checksum 0x4cb1
fragment id 0x0001
ICMP echo_request checksum 0x5f5d
00:05:58:166401: ip4-load-balance
fib 0 dpo-idx 33 flow hash: 0x
ICMP: 21.1.1.5 -> 23.1.1.5
tos 0x00, ttl 64, length 64, checksum 0x4cb1
fragment id 0x0001
ICMP echo_request checksum 0x5f5d
00:05:58:166405: ip4-mpls-label-imposition
mpls-header:[16416:63:0:eos]   //when I 
configured two layer label,this info is ' mpls-header:[101:63:0:eos] '
00:05:58:166415: mpls-label-imposition
mpls-header:[211:255:0:neos]
00:05:58:166416: mpls-output
adj-idx 3 : mpls via 14.1.1.2 host-eth2: 000c290fe2a8000c294dafa18847 flow 
hash: 0x
: 
0020: 
00:05:58:166424: host-eth2-output
host-eth2
MPLS: 00:0c:29:4d:af:a1 -> 00:0c:29:0f:e2:a8
label 211 exp 0, s 0, ttl 255

VPP# show sr mpls policies
 
VPP# show sr mpls policies
SR MPLS policies:
[0].- BSID: 999
Type: Default
Segment Lists:
[0].- < 210, 209, 208, 207, 206, 205, 204, 203, 202, 201 >
---


VPP# show mpls fib label 999
MPLS-VRF:0, fib_index 0
999:neos/21 fib:0 index:26 locks:2
src:SR refs:1
index:27 locks:4 flags:shared, uPRF-list:28 len:1 itfs:[2, ]
index:27 pl-index:27 mpls weight=1 pref=0 recursive: oper-flags:resolved,
via 210 neos in fib:0 via-fib:27 via-dpo:[dpo-load-balance:29]
Extensions:
path:27 labels:209 208 207 206 205 204 203 202 201
forwarding: mpls-neos-chain
[@0]: dpo-load-balance: [proto:mpls index:30 buckets:1 uRPF:28 to:[0:0]]
[0] [@8]: 
mpls-label:[0]:[209:255:0:neos][208:255:0:neos][207:255:0:neos][206:255:0:neos][205:255:0:neos][204:255:0:neos][203:255:0:neos][202:255:0:neos][16416:0:1:neos]
[@2]: dpo-load-balance: [proto:mpls index:29 buckets:1 uRPF:29 to:[0:0] 
via:[586:58600]]
[0] [@8]: mpls-label:[3]:[211:255:0:neos]
[@3]: mpls via 14.1.1.2 host-eth2: 000c290fe2a8000c294dafa18847
999:eos/21 fib:0 index:28 locks:4
src:SR refs:1
index:27 locks:4 flags:shared, uPRF-list:28 len:1 itfs:[2, ]
index:27 pl-index:27 mpls weight=1 pref=0 recursive: oper-flags:resolved,
via 210 neos in fib:0 via-fib:27 via-dpo:[dpo-load-balance:29]
Extensions:
path:27 labels:209 208 207 206 205 204 203 202 201
src:recursive-resolution cover:-1 refs:1

forwarding: mpls-eos-chain
[@0]: dpo-load-balance: [proto:mpls index:31 buckets:1 uRPF:28 to:[0:0]]
[0] [@8]: 
mpls-label:[2]:[209:255:0:neos][208:255:0:neos][207:255:0:neos][206:255:0:neos][205:255:0:neos][204:255:0:neos][203:255:0:neos][202:255:0:neos][16416:0:1:neos]
[@2]: dpo-load-balance: [proto:mpls index:29 buckets:1 uRPF:29 to:[0:0] 
via:[586:58600]]
[0] [@8]: mpls-label:[3]:[211:255:0:neos]
[@3]: mpls via 14.1.1.2 host-eth2: 000c290fe2a8000c294dafa18847


VPP# show mpls fib label 210
MPLS-VRF:0, fib_index 0
210:neos/21 fib:0 index:27 locks:4
src:CLI refs:1
index:29 locks:2 flags:shared, uPRF-list:29 len:1 itfs:[2, ]
index:29 pl-index:29 ip4 weight=1 pref=0 attached-nexthop: oper-flags:resolved,
14.1.1.2 host-eth2
[@0]: ipv4 via 14.1.1.2 host-eth2: 000c290fe2a8000c294dafa10800
Extensions:
path:29 labels:211
src:recursive-resolution cover:-1 refs:1

forwarding: mpls-neos-chain
[@0]: dpo-load-balance: [proto:mpls index:29 buckets:1 uRPF:29 to:[0:0] 
via:[686:68600]]
[0] [@8]: mpls-label:[3]:[211:255:0:neos]
[@3]: mpls via 

Re: [vpp-dev] memory issues

2017-12-06 Thread Dave Barach (dbarach)
Before we crank up the vppinfra memory leakfinder, etc. etc.: cat /proc/`pidof 
vpp`/maps and have a hard stare at the output.

Configure one step at a time, looking for significant changes in the address 
space layout.

HTH… Dave

From: vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io] On 
Behalf Of Luke, Chris
Sent: Tuesday, December 5, 2017 9:58 PM
To: 薛欣颖 ; vpp-dev 
Subject: Re: [vpp-dev] memory issues

I agree 5g is large, but I do not think this is the FIB. The default heap maxes 
out much sooner than that. Something else is going on.

For DPDK, “show dpdk buffer” and otherwise “show physmem”.

Chris.

From: 薛欣颖 >
Date: Tuesday, December 5, 2017 at 20:06
To: Chris Luke 
>, vpp-dev 
>
Subject: Re: Re: [vpp-dev] memory issues


Hi Chris,

I see what you mean. I have two other questions:
1. 200k static routing use 5g memory is also  large , how can I configure it 
use less physical memory?
2. How can I check the packet buffer memory?

BTW, do you have the test similar with 'the memory size 200k static routing 
use'?

Thanks,
Xyxue


From: Luke, Chris
Date: 2017-12-05 21:43
To: 薛欣颖; vpp-dev
Subject: Re: [vpp-dev] memory issues
You’re misreading top. “Virt” only means the virtual memory footprint of the 
process. This includes unused heap, shared libraries, anonymous mmap() regions 
etc. “RSS” is the resident-in-memory size. It’s actually using 5G.

“show memory” also only shows the heap usage, it does not include packet buffer 
memory.

Chris.

From: > on 
behalf of 薛欣颖 >
Date: Tuesday, December 5, 2017 at 00:51
To: vpp-dev >
Subject: [vpp-dev] memory issues


Hi guys,

I am using vpp v18.01-rc0~241-g4c9f2a8.
I configured 200K static routing. When I 'show memory' in VPP, '150+k used'. 
But in my machine ,used almost 15g. After del the static routing ,almost using 
16g memory.
More info is shown below:

VPP# show memory
Thread 0 vpp_main
heap 0x7fffb58e9000, 1076983 objects, 110755k of 151671k used, 15386k free, 
13352k reclaimed, 16829k overhead, 1048572k capacity
User heap index=0:
heap 0x7fffb58e9000, 1076984 objects, 110755k of 151671k used, 15386k free, 
13352k reclaimed, 16829k overhead, 1048572k capacity
User heap index=1:
heap 0x77ed4000, 2 objects, 128k of 130k used, 92 free, 0 reclaimed, 1k 
overhead, 1020k capacity
User heap index=2:
heap 0x7fffb1e28000, 2 objects, 512k of 514k used, 92 free, 0 reclaimed, 1k 
overhead, 8188k capacity
User heap index=3:
heap 0x7fffb1628000, 2 objects, 512k of 514k used, 92 free, 0 reclaimed, 1k 
overhead, 8188k capacity
User heap index=4:
heap 0x7fffaf628000, 2 objects, 512k of 514k used, 92 free, 0 reclaimed, 1k 
overhead, 32764k capacity
User heap index=5:
heap 0x7fffaf528000, 2 objects, 8k of 10k used, 92 free, 0 reclaimed, 1k 
overhead, 1020k capacity
User heap index=6:
heap 0x7fffaf428000, 2 objects, 8k of 10k used, 92 free, 0 reclaimed, 1k 
overhead, 1020k capacity
User heap index=7:
heap 0x7fffaf328000, 2 objects, 120k of 122k used, 92 free, 0 reclaimed, 1k 
overhead, 1020k capacity
User heap index=8:
heap 0x7fffaf228000, 2 objects, 120k of 122k used, 92 free, 0 reclaimed, 1k 
overhead, 1020k capacity
User heap index=9:
heap 0x7fffa7228000, 2 objects, 8k of 10k used, 92 free, 0 reclaimed, 1k 
overhead, 131068k capacity
User heap index=10:
heap 0x7fff9f228000, 2 objects, 8k of 10k used, 92 free, 0 reclaimed, 1k 
overhead, 131068k capacity
User heap index=11:
heap 0x7fff9b228000, 2 objects, 16k of 18k used, 92 free, 0 reclaimed, 1k 
overhead, 65532k capacity
User heap index=12:
heap 0x7fff9b028000, 2 objects, 256k of 258k used, 92 free, 0 reclaimed, 1k 
overhead, 2044k capacity
User heap index=13:
heap 0x7fff9ae28000, 2 objects, 240k of 242k used, 92 free, 0 reclaimed, 1k 
overhead, 2044k capacity
User heap index=14:
heap 0x7fff9ad28000, 5 objects, 8k of 10k used, 168 free, 0 reclaimed, 1k 
overhead, 1020k capacity
User heap index=15:
heap 0x7fff9ac28000, 5 objects, 8k of 10k used, 168 free, 0 reclaimed, 1k 
overhead, 1020k capacity
User heap index=16:
heap 0x7fff9ab28000, 2 objects, 8k of 10k used, 92 free, 0 reclaimed, 1k 
overhead, 1020k capacity
User heap index=17:
heap 0x7fff9a128000, 2 objects, 1k of 3k used, 88 free, 0 reclaimed, 1k 
overhead, 10236k capacity
User heap index=18:
heap 0x7fff9a028000, 2 objects, 8k of 10k used, 92 free, 0 reclaimed, 1k 
overhead, 1020k capacity
User heap index=19:
heap 0x7fff99f28000, 2 objects, 8k of 10k used, 92 free, 0 reclaimed, 1k 
overhead, 1020k capacity
User heap index=20:
heap 0x7fff99e28000, 2 objects, 2k of 4k 

Re: [vpp-dev] i40e in a sorry state?

2017-12-06 Thread Kinsella, Ray


We may need the contents of PFHMC_ERRORINFO and PFHMC_ERRORDATA 
registers to figure this out.

I suspect that this may be something to do with interrupts being enabled.
However from reading the code, looks like interrupts should be disabled 
by default unless explictly enabled.


Ray K

https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/xl710-10-40-controller-datasheet.pdf

Section 7.9.5

HMC related errors are reported through the PFHMC_ERRORINFO (see Section 
11.1.2.8.56) and PFHMC_ERRORDATA (see Section 11.1.2.8.57) registers. 
The HMC_ERR interrupt status bit in the PFINT_ICR0 register may also 
deliver an interrupt for HMC errors if the interrupt is enabled in the 
PFINT_ICR0_ENA register. When the HMC detects an error, it sets the 
PFHMC_ERRORINFO.ERROR_DETECTED bit along with the relevant information 
in the other fields of the PFHMC_ERRORINFO and PFHMC_ERRORDATA 
registers. No further notification of subsequent HMC errors associated 
with any given PF will be issued until the current error is acknowledged 
by writing a 0 to the PFHMC_ERRORINFO.ERROR_DETECTED bit. Table 7-187 
describes the errors detected for each HMC object and the behavior 
associated with each error.



On 05/12/2017 19:37, Jon Loeliger wrote:

Guys,

I've updated VPP to vpp.x86_64 0:18.01-rc0~405_g7f0d1d3 and when
I enable a interface, I get this love note:

    i40e_dev_interrupt_handler(): ICR0: HMC error
    Aborted

This used to work, of course.  Some more details below.

Any notions?

Thanks,
jdl


# cat /etc/vpp/startup.conf

unix {
    nodaemon
    log /tmp/vpp.log
    full-coredump
    cli-listen /run/vpp/cli.sock
    gid vpp
}

dpdk {
    uio-driver igb_uio
}

api-trace {
    on
}

api-segment {
    gid vpp
}



# /usr/bin/vpp -c /etc/vpp/startup.conf
vlib_plugin_early_init:356: plugin path /usr/lib/vpp_plugins
load_one_plugin:184: Loaded plugin: acl_plugin.so (Access Control Lists)
load_one_plugin:184: Loaded plugin: dpdk_plugin.so (Data Plane 
Development Kit (DPDK))

load_one_plugin:184: Loaded plugin: flowprobe_plugin.so (Flow per Packet)
load_one_plugin:184: Loaded plugin: gtpu_plugin.so (GTPv1-U)
load_one_plugin:184: Loaded plugin: ila_plugin.so (Identifier-locator 
addressing for IPv6)

load_one_plugin:184: Loaded plugin: ioam_plugin.so (Inbound OAM)
load_one_plugin:114: Plugin disabled (default): ixge_plugin.so
load_one_plugin:184: Loaded plugin: lb_plugin.so (Load Balancer)
load_one_plugin:184: Loaded plugin: libsixrd_plugin.so (IPv6 Rapid 
Deployment on IPv4 Infrastructure (RFC5969))
load_one_plugin:184: Loaded plugin: memif_plugin.so (Packet Memory 
Interface (experimetal))
load_one_plugin:184: Loaded plugin: nat_plugin.so (Network Address 
Translation)

load_one_plugin:184: Loaded plugin: pppoe_plugin.so (PPPoE)
load_one_plugin:184: Loaded plugin: router.so (router)
load_one_plugin:184: Loaded plugin: stn_plugin.so (VPP Steals the NIC 
for Container integration)
/usr/bin/vpp[4604]: tap_inject_interface_add_del:474: 
tap_inject_interface_add_del: Adding interface with hw_if_index 0
/usr/bin/vpp[4604]: tap_inject_is_config_enabled:122: 
tap_inject_is_config_enabled: Value of im->flags is 0
/usr/bin/vpp[4604]: tap_inject_interface_add_del:477: 
tap_inject_interface_add_del: tap_inject is disabled in config
/usr/bin/vpp[4604]: load_one_plugin:63: Loaded plugin: 
/usr/lib/vpp_api_test_plugins/acl_test_plugin.so
/usr/bin/vpp[4604]: load_one_plugin:63: Loaded plugin: 
/usr/lib/vpp_api_test_plugins/dpdk_test_plugin.so
/usr/bin/vpp[4604]: load_one_plugin:63: Loaded plugin: 
/usr/lib/vpp_api_test_plugins/flowprobe_test_plugin.so
/usr/bin/vpp[4604]: load_one_plugin:63: Loaded plugin: 
/usr/lib/vpp_api_test_plugins/gtpu_test_plugin.so
/usr/bin/vpp[4604]: load_one_plugin:63: Loaded plugin: 
/usr/lib/vpp_api_test_plugins/ioam_export_test_plugin.so
/usr/bin/vpp[4604]: load_one_plugin:63: Loaded plugin: 
/usr/lib/vpp_api_test_plugins/ioam_pot_test_plugin.so
/usr/bin/vpp[4604]: load_one_plugin:63: Loaded plugin: 
/usr/lib/vpp_api_test_plugins/ioam_trace_test_plugin.so
/usr/bin/vpp[4604]: load_one_plugin:63: Loaded plugin: 
/usr/lib/vpp_api_test_plugins/ioam_vxlan_gpe_test_plugin.so
/usr/bin/vpp[4604]: load_one_plugin:63: Loaded plugin: 
/usr/lib/vpp_api_test_plugins/lb_test_plugin.so
/usr/bin/vpp[4604]: load_one_plugin:63: Loaded plugin: 
/usr/lib/vpp_api_test_plugins/memif_test_plugin.so
/usr/bin/vpp[4604]: load_one_plugin:63: Loaded plugin: 
/usr/lib/vpp_api_test_plugins/nat_test_plugin.so
/usr/bin/vpp[4604]: load_one_plugin:63: Loaded plugin: 
/usr/lib/vpp_api_test_plugins/pppoe_test_plugin.so
/usr/bin/vpp[4604]: load_one_plugin:63: Loaded plugin: 
/usr/lib/vpp_api_test_plugins/udp_ping_test_plugin.so
/usr/bin/vpp[4604]: load_one_plugin:63: Loaded plugin: 
/usr/lib/vpp_api_test_plugins/vxlan_gpe_ioam_export_test_plugin.so
/usr/bin/vpp[4604]: tap_inject_is_config_enabled:122: 
tap_inject_is_config_enabled: Value of im->flags is 0
/usr/bin/vpp[4604]: vlib_pci_bind_to_uio: Skipping PCI device