[vpp-dev] pppoe plugin + vlan

2020-05-09 Thread Stanislav Zaikin
Hello folks,

I'm trying to figure out how to make PPPoE plugin work with dot1q
subinterfaces (and maybe with qinq interfaces).

I've made a prototype with the following things:
1) I enabled arc "device-input" with the next node "pppoe-input" on the
pppoe cp interface: to get rid of L3_MAC_MISMATCH error (it's a bit
controversial thing, but I didn't find any other proper way to get it
working).
2) Because of the previous point - I rewrite parsing in the "pppoe-input"
node to parse all headers from the scratch.
3) I get rid of "local mac" because it's more obvious to get mac address
directly from encap interface when you filling up DPO adjacency. Anyway, in
the case of the dot1q subinterface, we need to get vlan tags to fill the
DPO adjacency.

I'm new to VPP, so maybe some of these things are not good from some points
of view. So it would be great if someone will look at it (and maybe propose
something).

Also, there are some open questions:
- Should we strip the vlan tag before we sent pppoe packets to the cp
interface? (I keep it, but my cp is ok with parsing vlan tags).
- Is there any sense in pointing local mac address when we creating a pppoe
session? We can get it from the encap interface.

https://gerrit.fd.io/r/c/vpp/+/26964

-- 
Best regards
Stanislav Zaikin
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#16293): https://lists.fd.io/g/vpp-dev/message/16293
Mute This Topic: https://lists.fd.io/mt/74099572/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


[vpp-dev] Coverity run FAILED as of 2020-05-09 14:00:23 UTC

2020-05-09 Thread Noreply Jenkins
Coverity run failed today.

ERROR: File 'output.txt' does not exist
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#16292): https://lists.fd.io/g/vpp-dev/message/16292
Mute This Topic: https://lists.fd.io/mt/74095639/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [vpp-dev] IPsec tunnel interfaces?

2020-05-09 Thread Neale Ranns via lists.fd.io

Hi Chris,

> Are there other properties of a tunnel mode SA that you need that are lost 
> with this approach?

I need to use tunnel mode SAs provided by IKEv2. Transport mode is an optional 
(normally on-the-wire IKEv2 negotiated) feature of IPsec. These tunnel mode SAs 
will have IPTFS enabled on them, and that functionality is only defined for 
IPsec tunnel mode SAs.

The only difference in VPP between a transport and tunnel mode SA is the 
presence of the encap. So I think it’s fair to say that what you need is an 
interface to interact with the L[23] system, ‘encap’ to describe how to 
encap/decap packets (i.e. what to copy from overlay/underlay (DSCP, ECN, etc) 
and an SA (for the algo set);
  Interface + encap + SA
VPP doesn’t model encap separately. So it’s a question of where you add the 
parenthesis.
  (interface + encap) + SA = ipip tunnel + transport mode SA
Or
  Interface + (encap + SA) = ipsec dedicated interface + tunnel mode SA
In both cases the same information is available, it’s just modelled 
differently. The first model is used since it reuses the types/functionality 
that VPP already has to support other use case, without the need for a 
dedicated interface type. Is it not possible for you to work with the first 
model, or is it less convenient?
/neale


There will be future work in IETF/ipsecme to enable a form of transport mode 
support in IPTFS to handle the Cisco-preferred GRE with transport mode IPsec 
configuration, but that is not available today, and obviously won't be the only 
option standardized.

Thanks,
Chris.


> /neale
>
>
>
>
>
>
> Thanks,
> Chris.
>
>
> >
> >I did read through the Wiki and it seems that this change was motivated 
> > by wanting to cleanup the IPsec API, but that hardly seems like 
> > justification to eliminate the efficient use of an entire variant of 
> > commonly used IPsec functionality.
> >
> > Cleaning up the API was one motivation. It was a pain that each time we 
> > added new attributes to SA creation (like ESN, UDP, algo=foo) (for use with 
> > the SPD) we had to make similar changes to both the ipsec and ipsec_gre 
> > create APIs. The other motivation was removing 2 interface types that did 
> > exactly the same as the existing ipip and gre tunnels (and the same goes 
> > for their APIs too, like how do I configure what DCSP, ECN, DF to copy on 
> > encap/decap).
> >
> > /neale
> >
> >
> >
> >Could we bring back the functionality using more "acceptable to the 
> > project" APIs or something?
> >
> >Thanks,
> >Chris.
> >
> >>
> >> /neale
> >>
> >>
> >> From:  on behalf of Christian Hopps 
> >> 
> >> Date: Wednesday 6 May 2020 at 14:32
> >> To: vpp-dev 
> >> Cc: Christian Hopps 
> >> Subject: [vpp-dev] IPsec tunnel interfaces?
> >>
> >> Hi, vpp-dev,
> >>
> >> Post 19.08 seems to have removed IPsec logical interfaces.
> >>
> >> One cannot always use transport mode IPsec.
> >>
> >> How can I get the efficiency of route based (FIB) IPsec w/o transport 
> >> mode? Adding superfluous encapsulations (wasting bandwidth) to replace 
> >> this (seemingly lost, hope not) functionality is not an option.
> >>
> >> Thanks,
> >> Chris.
> >>
>
>

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#16291): https://lists.fd.io/g/vpp-dev/message/16291
Mute This Topic: https://lists.fd.io/mt/74027328/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [vpp-dev] How to match a specific packet to the outbound direction of a specified interface #vpp

2020-05-09 Thread Mrityunjay Kumar
which vpp version are you heading? If you r using 19.05 or less, you can
create ipsec tunnel, and route your packet to ipsec0 interface,

create ipsec tunnel local-ip  local-spi  remote-ip 
remote-spi 
set interface ipsec key ipsec0 local crypto aes-gcm-128
2b7e151628aed2a6abf7158809cf4f3d
set interface ipsec key ipsec0 remote crypto aes-gcm-128
2b7e151628aed2a6abf7158809cf4f3d
set interface state ipsec0 up
set interface unnumbered ipsec0 use 
ip route add 192.168.200.10/24 via ipsec0

if your are using >= 19.08, best practice, you can create policy based
tunnel.

ipsec policy add spd 1 priority 100 inbound action bypass protocol 50
ipsec policy add spd 1 priority 100 outbound action bypass protocol 50
ipsec policy add spd 1 outbound action bypass local-ip-range
10.168.4.0-10.168.4.255 remote-ip-range 10.168.2.0-10.168.2.255
ipsec sa add 10 spi 3391172682 esp crypto-alg aes-gcm-256 crypto-key
523a88fa4ad8c0325d75c933d9e567c23879ea701355207551bc2cf7d963c3dac8dcdca2
tunnel-src 10.168.2.4 tunnel-dst 10.168.4.11
ipsec sa add 20 spi 3443809241 esp crypto-alg aes-gcm-256 crypto-key
6062e3e9a9d578f58527242e9fbd48aeef7a0f8b4adc4569e7a84cda19c14ae21aa0a2b4
tunnel-src 10.168.4.11 tunnel-dst 10.168.2.4
ipsec policy add spd 1 priority 10  inbound action protect sa 10
local-ip-range 10.168.3.11 - 10.168.3.11 remote-ip-range 10.168.2.4 -
10.168.2.4
ipsec policy add spd 1 priority 10 outbound action protect sa 20
local-ip-range 10.168.3.11 - 10.168.3.11 remote-ip-range 10.168.2.4 -
10.168.2.4



cheers!   enjoy
//MJ



*Regards*,
Mrityunjay Kumar.
Mobile: +91 - 9731528504



On Sat, May 9, 2020 at 12:16 PM  wrote:

> Hi VPP hackers,
> My program and vpp communicate through the memif interface.
> I want to make vpp match specific packets(such as ospf packet), and then
> redirect to the outbound direction of the memif interface.
>
> I don't know how to match a specific packet to the outbound direction of a
> specified interface.
>
> Can someone provide an example of configuration.
> Thanks in advance!
> 
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#16290): https://lists.fd.io/g/vpp-dev/message/16290
Mute This Topic: https://lists.fd.io/mt/74091305/21656
Mute #vpp: https://lists.fd.io/mk?hashtag=vpp=1480452
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [vpp-dev] clang-9

2020-05-09 Thread Lijian Zhang
Hi Damjan,
The patch[2] installs clang-9 in package dependencies and sets “clang-10 
clang-9 gcc-9 cc” as the default compiler.

The problem is,
1. clang-9 does not support ‘-mtune=qdf24xx’, ‘-mtune=neoverse-n1’, 
‘-mcpu=neoverse-n1’, so it cannot do arch-specific compiling and optimal 
function selection for those two CPUs.
These options requires gcc-9.2, clang-10 and any newer versions.

2. The clang package servers for Ubuntu-18.04 mentioned in 
https://apt.llvm.org/ support x86, but does not support Arm64, so we cannot 
install clang-10/clang-11 directly via apt commands on Arm servers.

I’m thinking two options,
1. remove clang-9 dependency in Makefile or add for x86_64 only, so that users 
should install clang-10/clang-9 for x86 manually, and for Arm, install gcc-9 
and clang-10/clang-11(not available yet). Just like CSIT has to update gcc 
version to gcc-8.3 manually(gcc-8.3 not listed in dependencies) previously.
2. there are other several workaround,
  2.1 install clang-10 from source code until we can do clang-10 
binary install on Ubuntu-18.04 on Arm;
  2.2 keep the code as it is now, although it will disable 
multi-arch support for these two CPUs with clang-9;
  2.3 when we are developing code or doing benchmarking, we need to 
hack the code temporarily from “set(CMAKE_C_COMPILER_NAMES clang-10 clang-9 
gcc-9 cc)” to “set(CMAKE_C_COMPILER_NAMES clang-10 gcc-9 cc)”, so that 
multi-arch will be supported with gcc-9.

Could you suggest on this issue?
Thanks.
From: vpp-dev@lists.fd.io  On Behalf Of Damjan Marion via 
lists.fd.io
Sent: 2020年4月28日 22:14
To: vpp-dev 
Subject: [vpp-dev] clang-9


Folks,

As there is bug in gnu assembler which is shipping with ubuntu 18.04 we are not 
able to produce working binaries with avx512 instruction set.
Because of that, I had to change default to avx2. reported bug[1], but it is 
ignored for a year.

As alternative[2], I wanted to consider using clang-9 which is shipped with 
ubuntu 18.04 and seems like it is even capable of producing faster binaries 
than gcc.
Unfortunately, "make test" is failing at several places including vxlan, ipsec 
and tcp stack[3].

May I ask folks who “own” that code to take a quick look?

Thanks,

Damjan

[1] https://bugs.launchpad.net/ubuntu/cosmic/+source/binutils/+bug/1819961
[2] https://gerrit.fd.io/r/c/vpp/+/26744
[3] https://jenkins.fd.io/job/vpp-verify-master-ubuntu1804/3615/console



-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#16289): https://lists.fd.io/g/vpp-dev/message/16289
Mute This Topic: https://lists.fd.io/mt/73327785/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


[vpp-dev] How to match a specific packet to the outbound direction of a specified interface #vpp

2020-05-09 Thread comeonyan
Hi VPP hackers,
My program and vpp communicate through the memif interface.
I want to make vpp match specific packets(such as ospf packet), and then 
redirect to the outbound direction of the memif interface.

I don't know how to match a specific packet to the outbound direction of a 
specified interface.

Can someone provide an example of configuration.
Thanks in advance!
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#16288): https://lists.fd.io/g/vpp-dev/message/16288
Mute This Topic: https://lists.fd.io/mt/74091305/21656
Mute #vpp: https://lists.fd.io/mk?hashtag=vpp=1480452
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-