Re: [vpp-dev] Write simple program that can work with VPP API

2017-12-11 Thread Dave Wallace

Samuel,

Your main() function is missing the initialization of the connection to 
VPP as well as vppinfra initialization should you decide to use such 
features in your app.


I would recommend that you review the vat (VPP API Test) application 
main() function which is the application used to test the vpp api c 
interface: https://git.fd.io/vpp/tree/src/vat/main.c


Thanks,
-daw-


On 12/10/17 6:36 AM, Samuel S wrote:

Hi,
I decide to write some simple program that  can work with VPP API.
in other word i want call some vpp api in my simple program.
I want interact with VPP through C application.
and i read wiki but 
i think i have some mistake, or i can't fully understand what i had to do.

please guide me.
and here my code:
vpp_api.h 
vpp_api.c 
main.c 



___
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 can i use VPP as MPLS PE/P device

2017-12-11 Thread Michael Borokhovich
Thanks, Ray. Do you know if HC BGP supports EVPN? Also, is there current or
planned OSPF and LDP support in HC?

On Mon, Dec 11, 2017 at 6:39 AM, Kinsella, Ray  wrote:

> At the moment - there is no direct/easy way to do this AFAIK.
>
> Router plugin is the best example of this, the other option is to use HC
> instead of FRR for BGP.
>
> Ray K
>
>
> On 08/12/2017 21:23, Michael Borokhovich wrote:
>
>> So, for the control plane, we can use e.g., FRR that will populate
>> Linux's FIB and MPLS table. Then, we need to sync this info to VPP's FIB
>> and VPP's MPLS table.
>>
>> While the "router plugin" provides support for FIB synchronization, there
>> is no support for MPLS sync. Does anyone know if there are plans to add
>> this MPLS support to router plugin? Otherwise, what would be the
>> alternative best way of synchronizing Linux MPLS table with VPP?
>>
>> Thanks!
>> Michael.
>>
>>
>> On Wed, Dec 6, 2017 at 2:15 PM, Luke, Chris > > wrote:
>>
>> 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> /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 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 can i use VPP as MPLS PE/P device

2017-12-11 Thread Marek Gradzki -X (mgradzki - PANTHEON TECHNOLOGIES at Cisco)
Hi,

just some clarification regarding honeycomb and MPLS.

HC does not populate Linux MPLS table currently.

VPP MPLS configuration support is planned for 18.01:
- Netconf/Restconf - already done:
https://gerrit.fd.io/r/#/q/topic:mpls+project:hc2vpp
https://git.fd.io/hc2vpp/tree/docker/mpls_demo

- BGP (rfc3701 + draft-ietf-idr-bgp-prefix-sid): in progress

Regards,
Marek

-Original Message-
From: vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io] On 
Behalf Of Kinsella, Ray
Sent: 11 grudnia 2017 12:39
To: Michael Borokhovich ; Luke, Chris 

Cc: vppsb-...@lists.fd.io; wangchuan...@163.com; vpp-dev 
Subject: Re: [vpp-dev] How can i use VPP as MPLS PE/P device

At the moment - there is no direct/easy way to do this AFAIK.

Router plugin is the best example of this, the other option is to use HC 
instead of FRR for BGP.

Ray K


On 08/12/2017 21:23, Michael Borokhovich wrote:
> So, for the control plane, we can use e.g., FRR that will populate 
> Linux's FIB and MPLS table. Then, we need to sync this info to VPP's 
> FIB and VPP's MPLS table.
>
> While the "router plugin" provides support for FIB synchronization, 
> there is no support for MPLS sync. Does anyone know if there are plans 
> to add this MPLS support to router plugin? Otherwise, what would be 
> the alternative best way of synchronizing Linux MPLS table with VPP?
>
> Thanks!
> Michael.
>
>
> On Wed, Dec 6, 2017 at 2:15 PM, Luke, Chris  > wrote:
>
> 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 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 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 mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] undefined refrence to

2017-12-11 Thread Dave Barach (dbarach)
Gld doesn’t know that e.g. vpp_api.o needs e.g. format until after it’s already 
processed -lvppinfra. Reorder the command line.

From: vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io] On 
Behalf Of Samuel S
Sent: Monday, December 11, 2017 2:05 AM
To: vpp-dev@lists.fd.io
Subject: [vpp-dev] undefined refrence to

Hi,
Finally i can write something that can be built (i think). but i have some 
issue.
i include api_common.h, api_helper_macro.h and vat_helper_marcors.h but i can't 
make it and compiler says:
/***/
gcc -Wall -I/usr/include -I/usr/include/vpp_plugins -lvlibmemoryclient -lsvm 
-lvppinfra -lvlib -lvatplugin -lpthread -lm -lrt -ldl -lcrypto vpp_api.o main.o 
-o test
vpp_api.o: In function `vpp_nat_init':
vpp_api.c:(.text+0x3be): undefined reference to `format'
vpp_api.c:(.text+0x3ce): undefined reference to 
`vl_client_get_first_plugin_msg_id'
vpp_api.c:(.text+0x405): undefined reference to `vl_noop_handler'
vpp_api.c:(.text+0x420): undefined reference to `vl_msg_api_set_handlers'
vpp_api.o: In function `vpp_connect':
vpp_api.c:(.text+0x44f): undefined reference to `vl_client_connect_to_vlib'
vpp_api.c:(.text+0x458): undefined reference to `svm_region_exit'
vpp_api.c:(.text+0x466): undefined reference to `api_main'
main.o: In function `api_snat_interface_dump':
main.c:(.text+0x29f): undefined reference to `vl_msg_api_alloc_as_if_client'
main.c:(.text+0x2fb): undefined reference to `vl_msg_api_send_shmem'
main.c:(.text+0x307): undefined reference to `vat_time_now'
main.c:(.text+0x360): undefined reference to `vat_suspend'
main.c:(.text+0x36c): undefined reference to `vat_time_now'
collect2: error: ld returned 1 exit status
makefile:20: recipe for target 'main' failed
make: *** [main] Error 1
/**/
vpp_api.h
vpp_api.c
main.c
makefile
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] Build error when trying to cross-compile vpp

2017-12-11 Thread Dave Barach (dbarach)
Look in config.log and work out the name of the compiler. Fix in 
.../build-data/platforms/x86_64.mk or override from the command line.

From: nikhil ap [mailto:niks3...@gmail.com]
Sent: Sunday, December 10, 2017 8:43 AM
To: Dave Barach (dbarach) 
Cc: vpp-dev@lists.fd.io
Subject: Re: [vpp-dev] Build error when trying to cross-compile vpp

Hi Dave, it doesn't work. After make boostrap, I did:

make PLATFORM=x86_64

  No cross-compiler found for platform x86_64 target x86_64-mu-linux; try 
make PLATFORM=x86_64 install-tools 
Makefile:635: recipe for target 'dpdk-configure' failed
make[1]: *** [dpdk-configure] Error 1
make[1]: Leaving directory '/home/nikhil/projects/vpp/build-root'
Makefile:322: recipe for target 'build' failed
make: *** [build] Error 2

I also tried

 make PLATFORM=x86_64 x86_64_os=rumprun-netbsd build
builds without cross-compilation ( May be because the make boostrap configured 
the native compiler)

checking for gcc... gcc
checking whether we are cross compiling... no

I guess make PLATFORM= bootsrap  where it configures is the generally 
the way of cross-compilation


On Fri, Dec 8, 2017 at 6:20 PM, Dave Barach (dbarach) 
> wrote:
Please try this sequence from the top of your workspace:

$ make bootstrap
$ make PLATFORM= build

That’s the “supported, plan-A” scheme. If it doesn’t work, please let us know.

If you specify PLATFORM when building host tools (i.e. vppapigen), it won’t 
work.

Thanks… Dave

From: nikhil ap [mailto:niks3...@gmail.com]
Sent: Thursday, December 7, 2017 10:58 PM

To: Dave Barach (dbarach) >
Cc: vpp-dev@lists.fd.io
Subject: Re: [vpp-dev] Build error when trying to cross-compile vpp

Hi Dave,

It works if I run, "make is_build_tool=yes tools-install" in .../build-root but 
if I specify the platform, I still see the same issue if I try to cross-compile 
tools with  make PLATFORM=x86_64 TAG=x86_64_debug is_build_tool=yes 
tools-install

It is hitting this configuration in ../src/configure.ac

AM_COND_IF([CROSSCOMPILE],
[
  AC_PATH_PROG([VPPAPIGEN], [vppapigen], [no])
  if test "$VPPAPIGEN" = "no"; then
AC_MSG_ERROR([Externaly built vppapigen is needed when cross-compiling...])
  fi
],[


On Tue, Dec 5, 2017 at 8:53 PM, Dave Barach (dbarach) 
> wrote:
See also “bootstrap.sh...”

$ make V=0 is_build_tool=yes tools-install

Thanks… Dave

From: nikhil ap [mailto:niks3...@gmail.com]
Sent: Tuesday, December 5, 2017 9:11 AM
To: Dave Barach (dbarach) >
Cc: vpp-dev@lists.fd.io

Subject: Re: [vpp-dev] Build error when trying to cross-compile vpp

Hi Dave,

I added a file x86_64.mk in .../build-data/plaforms/ with the 
following content:

x86_64_arch = x86_64
x86_64_os = rumprun-netbsd
x86_64_target = x86_64-rumprun-netbsd
x86_64_native_tools = vppapigen
x86_64_uses_dpdk = yes

and in the TLD I did a "make PLATFORM=x86_64 TAG=x86_64_debug bootstrap" but I 
am still seeing that vppapigen is not getting built. Any clues?

Thanks,
Nikhil


On Tue, Dec 5, 2017 at 7:05 PM, Dave Barach (dbarach) 
> wrote:
Dear Nikhil,

The first step in adding a new platform: construct 
.../build-data/plaforms/xxx.mk. There are several examples.

Note the rule:

xxx_native_tools = vppapigen

This rule builds the missing build-host tool.

Then:

“make PLATFORM=xxx TAG=xxx_debug vpp-install” or similar.

Caveat: the main Makefile “.../build-root/Makefile” is non-trivial.

In the past, we’ve used it to self-compile full toolchains, and to use the 
resulting toolchains to cross-compile embedded Linux images with squashfs / 
unionfs disk images.

All of the mechanisms are there to do interesting things, but since we seldom 
do those things anymore you can expect a certain amount of trouble.

Thanks… Dave

From: vpp-dev-boun...@lists.fd.io 
[mailto:vpp-dev-boun...@lists.fd.io] On 
Behalf Of nikhil ap
Sent: Tuesday, December 5, 2017 6:05 AM
To: vpp-dev@lists.fd.io
Subject: Re: [vpp-dev] Build error when trying to cross-compile vpp

After a bit more digging around the make file, I did this:

 make PLATFORM=x86_64 x86_64_os=rumprun-netbsd bootstrap

checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-rumprun-netbsd
checking whether we are cross compiling... yes

However, I am still seeing this error:

checking for vppapigen... no
configure: error: Externaly built vppapigen is needed when cross-compiling...
Makefile:635: recipe for target 'tools-configure' failed
make[1]: *** [tools-configure] Error 1

What is the issue?

On Tue, Dec 5, 2017 at 3:55 PM, nikhil ap 

Re: [vpp-dev] MACIP ACL replace causes ip4_table_index change?

2017-12-11 Thread Dave Barach (dbarach)
Folks will miss a clib_warning, unless they check syslog. 

I'd consider returning VNET_API_ERROR_ENTRY_ALREADY_EXISTS and calling it a day.

Thanks… Dave

-Original Message-
From: Andrew  Yourtchenko [mailto:ayour...@gmail.com] 
Sent: Sunday, December 10, 2017 9:04 AM
To: Dave Barach (dbarach) 
Cc: Jon Loeliger ; vpp-dev 
Subject: Re: [vpp-dev] MACIP ACL replace causes ip4_table_index change?

Dear Dave,

On 12/9/17, Dave Barach (dbarach)  wrote:
> This looks wrong... vnet_set_input_acl_intfc(...) at line 93:
>
>   /* Return ok on ADD operation if feature is already enabled */
>   if (is_add &&
>am->classify_table_index_by_sw_if_index[ti][sw_if_index] != ~0)
>  return 0;
>
> It’s been that way for a very long time.

Yeah so I am wondering what's the right approach on fixing it, I see
three alternatives:

1) "set" the new inacl even if there is an existing one applied..
upside: consistent with what "set" means in layman's terms; downside:
bigger change vs. the existing semantics which maybe is masking some
other issues.

2) return an error rather than zero, and let the callers deal with
this. upside: no big change of the semantics. downside: returning an
error might upset some callers that were "accidentally" relying on
this behaviour.

3) stick in a "clib_warning()" saying "This will soon return an error.
The calling code needs to ensure this is handled correctly", and wait
for one or two releases, and have a JIRA for the next release to
*then* do (2) in the next release.

If this behavior has been here sufficiently long, (3) seems like a
safest action..

What do you think ?

--a


>
> Thanks… Dave
>
> From: vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io] On
> Behalf Of Jon Loeliger
> Sent: Saturday, December 9, 2017 11:23 AM
> To: Andrew  Yourtchenko 
> Cc: vpp-dev 
> Subject: Re: [vpp-dev] MACIP ACL replace causes ip4_table_index change?
>
> On Sat, Dec 9, 2017 at 8:16 AM, Andrew  Yourtchenko
> > wrote:
> Jon,
>
> Hi Andrew,
>
> Thanks for taking a look at this issue!
>
> on api trace: does the below work ? (even though the current scenario
> is trivially reproducible, the api traces are very useful for tougher
> cases, and save a lot of typing while storytelling).
>
> DBGvpp# api trace on
>
> . do the things 
>
> DBGvpp# api trace save macip-trace
> API trace saved to /tmp/macip-trace
> DBGvpp# api trace custom-dump /tmp/macip-trace
> SCRIPT: macip_acl_add_replace -1 count 1 count 1 \
>   ipv4 permit \
> src mac 00:00:00:00:00:00 mask 00:00:00:00:00:00 \
> src ip 0.0.0.0/0, \
>
> SCRIPT: macip_acl_interface_add_del sw_if_index 0 acl_index 0 add
> SCRIPT: macip_acl_add_replace 0 count 1 count 1 \
>   ipv4 permit \
> src mac 00:00:00:00:00:00 mask 00:00:00:00:00:00 \
> src ip 0.0.0.0/0, \
>
> I think that is the right sequence.
>
>
> Now, to the issue itself: it's exactly as I described, but with a twist:
> vnet_set_input_acl_intfc(), which is used under the hood to assign the
> inacl on the interfaces, is quite picky - if there is an existing
> inacl applied, it just quietly does nothing. (@DaveB - this kinda
> feels strange, I am not sure what the logic is behind doing that.)
>
> Anyway, rather than debating on why it behaves this way, and,
> especially since we actually are deleting the tables in question, it's
> better to unapply the inacls first, and then reapply them after the
> tables have been recreated.
>
> This solves half the problem for me.  It looks like I can properly
> turn around and remove this ACL from the interface now!
>
> But I still have doubts; or at least I don't understand why the
> three table indices are 3 after initial creation, and 0 after they
> are replaced.
>
> The result is in https://gerrit.fd.io/r/#/c/9772/ - you can verify
> that it addresses the issue.
>
> I've left a comment on the code there.
>
> Despite what Gerrit thinks, this code does compile and run for me!
> So maybe just a "rebuild" request there will allow it to verify?
>
>
> Now, going on to "how exactly did this slip through" - seems the macip
> tests are quite a bit too lenient than they should be. I'll need to
> address that as well, though probably I will split the dot1q/dot1ad
> test cases out, and in the process refactor things a bit... so in the
> interests of your time, maybe 9772 can go with just an actual code
> fix.
>
> I've not read through the test as they stand today.
> I'd like to understand the "3 vs. 0" issue before I am happy to
> Code Review +1 this patch.
>
> I've dumped the entire debugging process into a log, which turned out
> be fairly long, so to avoid sending the walls of text to the list,
> I've dumped it elsewhere:
> http://stdio.be/blog/2017-12-09-Debugging-VPP-MACIP-ACLs/
>
> And, excellent!  I read through 

Re: [vpp-dev] Measure plugin performances

2017-12-11 Thread Kinsella, Ray

Justin,

Suggest adding vpphost and iperfvpp to different network namespaces.
All that is happening at the moment is the kernel is recognizing it owns 
both IPs and bypassing everything.


You also need to add vppiperf and vppout to a bridge domain in VPP.

Take a look at VPP bootstrap in vppsb, it does 98% of what you are 
trying to do here.


https://git.fd.io/vppsb/tree/vpp-bootstrap

Ray K


On 11/12/2017 12:18, Justin Iurman wrote:

Hi everyone,

Just wanted to know if there is already something inside VPP to measure some metrics when 
testing performances of our own plugin ? I know there are some useful info with 
"vppctl show ..." but is it enough/all ?

Actually, based on this link ( 
https://wiki.fd.io/view/VPP/Progressive_VPP_Tutorial#Exercise:_Connecting_two_vpp_instances
 ), I was trying to reproduce the almost-the-same topology combined with iperf. 
Here is how it looks like (hope format doesn't get scratched here):
   _   __
  | |host-vppiperf   iperfvpp |  |
  |   VPP   |--- 10.10.2.1/24 --- 10.10.2.2/24 ---|  SERVER  |
  |_| |__|
   |
   host-vppout
  10.10.1.2/24
   |
   |
   |
vpphost (CLIENT)
  10.10.1.1/24

And here is the VPP-topology-building procedure:

## BEGIN ##
## create vpp and connect it to host
sudo vpp unix { log /tmp/vpp.log cli-listen /run/vpp/cli-vpp.sock } api-segment 
{ prefix vpp } plugins { plugin dpdk_plugin.so { disable } }

# veth interface between host and vpp
sudo ip link add name vppout type veth peer name vpphost
sudo ip link set dev vppout up
sudo ip link set dev vpphost up
sudo ip addr add 10.10.1.1/24 dev vpphost

# host interface between host and vpp
sudo vppctl -s /run/vpp/cli-vpp.sock create host-interface name vppout
sudo vppctl -s /run/vpp/cli-vpp.sock set int state host-vppout up
sudo vppctl -s /run/vpp/cli-vpp.sock set int ip address host-vppout 10.10.1.2/24

## create iperf server and connect it to vpp
sudo ip link add name vppiperf type veth peer name iperfvpp
sudo ip link set dev vppiperf up
sudo ip link set dev iperfvpp up
sudo ip addr add 10.10.2.2/24 dev iperfvpp

sudo vppctl -s /run/vpp/cli-vpp.sock create host-interface name vppiperf
sudo vppctl -s /run/vpp/cli-vpp.sock set int state host-vppiperf up
sudo vppctl -s /run/vpp/cli-vpp.sock set int ip address host-vppiperf 
10.10.2.1/24

#disabled
#sudo ip route add 10.10.2.0/24 via 10.10.1.2
#sudo ip route add 10.10.1.0/24 via 10.10.2.1
## END ##

When running iperf:

# server bound to iperfvpp (10.10.2.2)
iperf3 -s -B 10.10.2.2 -D
# client
iperf3 -c 10.10.2.2 -B 10.10.1.1 -u -4 -k 10

It works but there is no trace of those packets inside VPP. Note: pings work 
and I'm able to see them inside VPP. What am I missing ? I think I can guess 
what the problem is but still don't know how to solve it. Any tips/help ? 
Thanks !

Justin
___
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] Measure plugin performances

2017-12-11 Thread Justin Iurman
Oh and by the way, when I say "Pings work" I mean "pings on vpp interfaces" and 
that's the only way I can see packets in VPP (which is normal after all). But 
still, pings to 10.10.2.2 work but no trace in VPP (same as iperf packets). 
Just wanted to clarify this, because it was a bit unclear.

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


[vpp-dev] Measure plugin performances

2017-12-11 Thread Justin Iurman
Hi everyone,

Just wanted to know if there is already something inside VPP to measure some 
metrics when testing performances of our own plugin ? I know there are some 
useful info with "vppctl show ..." but is it enough/all ?

Actually, based on this link ( 
https://wiki.fd.io/view/VPP/Progressive_VPP_Tutorial#Exercise:_Connecting_two_vpp_instances
 ), I was trying to reproduce the almost-the-same topology combined with iperf. 
Here is how it looks like (hope format doesn't get scratched here):
  _   __
 | |host-vppiperf   iperfvpp |  |
 |   VPP   |--- 10.10.2.1/24 --- 10.10.2.2/24 ---|  SERVER  |
 |_| |__|
  |
  host-vppout
 10.10.1.2/24
  |
  |
  |
vpphost (CLIENT)
 10.10.1.1/24

And here is the VPP-topology-building procedure:

## BEGIN ##
## create vpp and connect it to host
sudo vpp unix { log /tmp/vpp.log cli-listen /run/vpp/cli-vpp.sock } api-segment 
{ prefix vpp } plugins { plugin dpdk_plugin.so { disable } }

# veth interface between host and vpp
sudo ip link add name vppout type veth peer name vpphost
sudo ip link set dev vppout up
sudo ip link set dev vpphost up
sudo ip addr add 10.10.1.1/24 dev vpphost

# host interface between host and vpp
sudo vppctl -s /run/vpp/cli-vpp.sock create host-interface name vppout
sudo vppctl -s /run/vpp/cli-vpp.sock set int state host-vppout up
sudo vppctl -s /run/vpp/cli-vpp.sock set int ip address host-vppout 10.10.1.2/24

## create iperf server and connect it to vpp
sudo ip link add name vppiperf type veth peer name iperfvpp
sudo ip link set dev vppiperf up
sudo ip link set dev iperfvpp up
sudo ip addr add 10.10.2.2/24 dev iperfvpp

sudo vppctl -s /run/vpp/cli-vpp.sock create host-interface name vppiperf
sudo vppctl -s /run/vpp/cli-vpp.sock set int state host-vppiperf up
sudo vppctl -s /run/vpp/cli-vpp.sock set int ip address host-vppiperf 
10.10.2.1/24

#disabled
#sudo ip route add 10.10.2.0/24 via 10.10.1.2
#sudo ip route add 10.10.1.0/24 via 10.10.2.1
## END ##

When running iperf:

# server bound to iperfvpp (10.10.2.2)
iperf3 -s -B 10.10.2.2 -D
# client
iperf3 -c 10.10.2.2 -B 10.10.1.1 -u -4 -k 10

It works but there is no trace of those packets inside VPP. Note: pings work 
and I'm able to see them inside VPP. What am I missing ? I think I can guess 
what the problem is but still don't know how to solve it. Any tips/help ? 
Thanks !

Justin
___
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-11 Thread Kinsella, Ray

At the moment - there is no direct/easy way to do this AFAIK.

Router plugin is the best example of this, the other option is to use HC 
instead of FRR for BGP.


Ray K


On 08/12/2017 21:23, Michael Borokhovich wrote:
So, for the control plane, we can use e.g., FRR that will populate 
Linux's FIB and MPLS table. Then, we need to sync this info to VPP's 
FIB and VPP's MPLS table.


While the "router plugin" provides support for FIB synchronization, 
there is no support for MPLS sync. Does anyone know if there are plans 
to add this MPLS support to router plugin? Otherwise, what would be 
the alternative best way of synchronizing Linux MPLS table with VPP?


Thanks!
Michael.


On Wed, Dec 6, 2017 at 2:15 PM, Luke, Chris > wrote:


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


___
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 mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] There is no nat-plugin directory in plugins folder.

2017-12-11 Thread Ole Troan
Mirzaei,

> I want to build Hc2vpp project according to this url, but when when i execute 
> this step:
> 
> cd ../../plugins/nat-plugin/
> There is no nat-plugin directory in plugins folder.
> 
> I have no idea what i am doing wrong. Can you please help me to solve this 
> problem?

If this is meant to refer to the VPP NAT plugin that is in plugins/nat

Cheers,
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] ACL Plugin: check for null session

2017-12-11 Thread khers
Dear Andrew

I'm working on d594711a5d79859a7d0bde83a516f7ab52051d9b commit on
stable/1710 branch. sorry for less info.
I can't reproduce last issue I have reported, forgot the commit I were
working on.

Regards,
Khers

On Mon, Dec 11, 2017 at 12:24 PM, Andrew Yourtchenko 
wrote:

> Dear Khers,
>
> At least the exact commit# you are working with to get more context would
> be useful - line 1029 on master points to a call acl_fill_5tuple to me...
>
> Also, I have not heard - were you able to reproduce the issue you
> contacted about a while ago ?
>
> --a
>
> > On 11 Dec 2017, at 08:46, khers  wrote:
> >
> > Dear VPP folks,
> >
> > The get_session_ptr function may return null pointer, while we do not
> check this situation in code, for example fa_node.c line 1029, if the sess
> equals null, we get segmentation fault in next usage of sess.
> > Please share your thought about this.
> >
> > Regards,
> > Khers
> > ___
> > 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] [FATAL] Non-resolvable parent POM for io.fd.hc2vpp.common:hc2vpp-parent:1.17.10.1-SNAPSHOT

2017-12-11 Thread Marek Gradzki -X (mgradzki - PANTHEON TECHNOLOGIES at Cisco)
Hi,

these artifacts are present in nexus:
https://nexus.fd.io/content/repositories/fd.io.snapshot/io/fd/honeycomb/common/honeycomb-parent/1.17.10.1-SNAPSHOT/

Our Jenkins jobs for 1710 are doing well.

Please revisits settings.xml section of the build guide
or build honeycomb from stable/1710 branch before building hc2vpp.

Regards,
Marek

From: vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io] On 
Behalf Of mirzaei.reza
Sent: 11 grudnia 2017 09:39
To: vpp-dev@lists.fd.io
Subject: [vpp-dev] [FATAL] Non-resolvable parent POM for 
io.fd.hc2vpp.common:hc2vpp-parent:1.17.10.1-SNAPSHOT




I want to build Hc2vpp project according to this url, but i got some errors in 
this step:

mvn clean install
***
[INFO] Scanning for projects...
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[FATAL] Non-resolvable parent POM for 
io.fd.hc2vpp.common:hc2vpp-parent:1.17.10.1-SNAPSHOT: Could not find artifact 
io.fd.honeycomb.common:honeycomb-parent:pom:1.17.10.1-SNAPSHOT and 
'parent.relativePath' points at no local POM @ 
io.fd.hc2vpp.common:hc2vpp-parent:1.17.10.1-SNAPSHOT, 
/home/routerlab/hc2vpp/common/hc2vpp-parent/pom.xml, line 7, column 13
@
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR] The project io.fd.hc2vpp:hc2vpp-aggregator:1.17.10.1-SNAPSHOT 
(/home/routerlab/hc2vpp/pom.xml) has 1 error
[ERROR] Non-resolvable parent POM for 
io.fd.hc2vpp.common:hc2vpp-parent:1.17.10.1-SNAPSHOT: Could not find artifact 
io.fd.honeycomb.common:honeycomb-parent:pom:1.17.10.1-SNAPSHOT and 
'parent.relativePath' points at no local POM @ 
io.fd.hc2vpp.common:hc2vpp-parent:1.17.10.1-SNAPSHOT, 
/home/routerlab/hc2vpp/common/hc2vpp-parent/pom.xml, line 7, column 13 -> [Help 
2]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e 
switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please 
read the following articles:
[ERROR] [Help 1] 
http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] 
http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException
***

Can you please help me to solve this problem?

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

[vpp-dev] ACL Plugin: check for null session

2017-12-11 Thread khers
Dear VPP folks,

The get_session_ptr function may return null pointer, while we do not check
this situation in code, for example fa_node.c line 1029, if the sess equals
null, we get segmentation fault in next usage of sess.
Please share your thought about this.

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

[vpp-dev] There is no nat-plugin directory in plugins folder.

2017-12-11 Thread mirzaei.reza
Hi 

I want to build Hc2vpp project according to this url [1], but when when
i execute this step:

cd ../../plugins/nat-plugin/

There is no NAT-PLUGIN directory in PLUGINS folder.

I have no idea what i am doing wrong. Can you please help me to solve
this problem?

Best regards
Reza 

Links:
--
[1]
https://docs.fd.io/hc2vpp/1.17.10/hc2vpp-parent/release-notes-aggregator/install_manual_build.html___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] [FATAL] Non-resolvable parent POM for io.fd.hc2vpp.common:hc2vpp-parent:1.17.10.1-SNAPSHOT

2017-12-11 Thread mirzaei.reza
I want to build Hc2vpp project according to this url, but i got some
errors in this step: 

MVN CLEAN INSTALL
***
[INFO] Scanning for projects...
[ERROR] [ERROR] Some problems were encountered while processing the
POMs:
[FATAL] Non-resolvable parent POM for
io.fd.hc2vpp.common:hc2vpp-parent:1.17.10.1-SNAPSHOT: Could not find
artifact io.fd.honeycomb.common:honeycomb-_PARENT:POM:1.17.10.1-SNAPSHOT
AND 'PARENT.RELATIVEPATH' POINTS AT NO LOCAL POM @
IO.FD.HC2VPP.COMMON:HC2VPP-PARENT:1.17.10.1-SNAPSHOT,
/HOME/ROUTERLAB/HC2VPP/COMMON/HC2VPP-PARENT/POM.XML, LINE 7, COLUMN 13_
@
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
_[ERROR] THE PROJECT IO.FD.HC2VPP:HC2VPP-AGGREGATOR:1.17.10.1-SNAPSHOT
(/HOME/ROUTERLAB/HC2VPP/POM.XML) HAS 1 ERROR_
[ERROR] Non-resolvable parent POM for
io.fd.hc2vpp.common:hc2vpp-parent:1.17.10.1-SNAPSHOT: Could not find
artifact io.fd.honeycomb.common:honeycomb-parent:pom:1.17.10.1-SNAPSHOT
and 'parent.relativePath' points at no local POM @
io.fd.hc2vpp.common:hc2vpp-parent:1.17.10.1-SNAPSHOT,
/home/routerlab/hc2vpp/common/hc2vpp-parent/pom.xml, line 7, column 13
-> [Help 2]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the
-e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions,
please read the following articles:
[ERROR] [Help 1]
http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2]
http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException
***


Can you please help me to solve this problem? 

Best regards
Reza___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev