Service chaining with segment routing along with nsh vxlan tunnel


Suman Kpatra/KOL/TCS <suman.kpatra@...>
 

Dear all,

Trying out service chaining with segment routing along with nsh vxlan tunnel for the following use case:

Source---->VPP1--->Service1---->VPP1--->VPP2--->Service2--->VPP2--->VPP3--->Service3---VPP3--->Destination

Created sr tunnel between Source,VPP1,VPP2,VPP3,Destination

Following are the configuration:


Source

ifconfig eth2 up
ip addr add 192.168.50.20 dev eth2

-----------------------------------------------------------------------------------------------------------------------------------------------------------------
VPP1

vppctl set int state GigabitEthernet0/a/0 up
vppctl set int ip address GigabitEthernet0/a/0 192.168.50.91/24

vppctl nsh vxlan tunnel src 192.168.50.20 dst 192.168.50.91 c1 9901 c2 9902 c3 9903 c4 9904 spi 1 si 255 vni 16777215 md-type 1 next-ip4 decap-next nsh-vxlan-gpe
vppctl nsh vxlan tunnel src 192.168.50.91 dst 192.168.50.71 c1 9901 c2 9902 c3 9903 c4 9904 spi 1 si 255 vni 16777215 md-type 1 next-ip4 decap-next nsh-vxlan-gpe
vppctl nsh vxlan tunnel src 192.168.50.71 dst 192.168.50.91 c1 9901 c2 9902 c3 9903 c4 9904 spi 1 si 254 vni 16777215 md-type 1 next-ip4 decap-next nsh-vxlan-gpe
vppctl nsh vxlan tunnel src 192.168.50.91 dst 192.168.50.92 c1 9901 c2 9902 c3 9903 c4 9904 spi 1 si 254 vni 16777215 md-type 1 next-ip4 decap-next nsh-vxlan-gpe

vppctl sr tunnel src 192.168.50.20 dst 192.168.50.21/24 next 192.168.50.92 next 192.168.50.93 next 192.168.50.21 tag 192.168.50.91 InPE 1 clean

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

Service1

ifconfig eth2 up
ip addr add 192.168.50.71 dev eth2

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

VPP2

vppctl set int state GigabitEthernet0/a/0 up
vppctl set int ip address GigabitEthernet0/a/0 192.168.50.92/24

vppctl nsh vxlan tunnel src 192.168.50.92 dst 192.168.50.72 c1 9901 c2 9902 c3 9903 c4 9904 spi 1 si 254 vni 16777215 md-type 1 next-ip4 decap-next nsh-vxlan-gpe
vppctl nsh vxlan tunnel src 192.168.50.72 dst 192.168.50.92 c1 9901 c2 9902 c3 9903 c4 9904 spi 1 si 253 vni 16777215 md-type 1 next-ip4 decap-next nsh-vxlan-gpe
vppctl nsh vxlan tunnel src 192.168.50.92 dst 192.168.50.93 c1 9901 c2 9902 c3 9903 c4 9904 spi 1 si 253 vni 16777215 md-type 1 next-ip4 decap-next nsh-vxlan-gpe


-----------------------------------------------------------------------------------------------------------------------------------------------------------------

Service2

ifconfig eth2 up
ip addr add 192.168.50.72 dev eth2

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

VPP3

vppctl set int state GigabitEthernet0/a/0 up
vppctl set int ip address GigabitEthernet0/a/0 192.168.50.93/24

vppctl nsh vxlan tunnel src 192.168.50.93 dst 192.168.50.73 c1 9901 c2 9902 c3 9903 c4 9904 spi 1 si 253 vni 16777215 md-type 1 next-ip4 decap-next nsh-vxlan-gpe
vppctl nsh vxlan tunnel src 192.168.50.73 dst 192.168.50.93 c1 9901 c2 9902 c3 9903 c4 9904 spi 1 si 252 vni 16777215 md-type 1 next-ip4 decap-next nsh-vxlan-gpe
vppctl nsh vxlan tunnel src 192.168.50.93 dst 192.168.50.21 c1 9901 c2 9902 c3 9903 c4 9904 spi 1 si 252 vni 16777215 md-type 1 next-ip4 decap-next nsh-vxlan-gpe

vppctl sr tunnel src 192.168.50.21 dst 192.168.50.20/24 next 192.168.50.92 next 192.168.50.91 next 192.168.50.20 tag 192.168.50.93 InPE 1 clean

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

Service3

ifconfig eth2 up
ip addr add 192.168.50.73 dev eth2

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

Destination

ifconfig eth2 up
ip addr add 192.168.50.21 dev eth2

-----------------------------------------------------------------------------------------------------------------------------------------------------------------


Intention:
Packets destined for destination from source should flow through the following service1,service2,service3.

Is this configuration going to work? Any other suggestion to achieve the above scenario?


Thanks,
Suman


=====-----=====-----=====
Notice: The information contained in this e-mail
message and/or attachments to it may contain
confidential or privileged information. If you are
not the intended recipient, any dissemination, use,
review, distribution, printing or copying of the
information contained in this e-mail message
and/or attachments to it are strictly prohibited. If
you have received this communication in error,
please notify us by reply e-mail or telephone and
immediately and permanently delete the message
and any attachments. Thank you


James Neil Guichard
 

Hi Suman,

This is not going to work as you are mixing two completely independent technologies. There is no tie in between NSH service chaining and segment routing. Theoretically it can be done but it won’t currently work in VPP.

Jim

From: Suman Kpatra/KOL/TCS <suman.kpatra@...>
Date: Monday, April 4, 2016 at 8:41 AM
To: Jim Guichard <jguichar@...>
Cc: Pratik Dave <pratik.dave@...>, "nsh_sfc-dev@..." <nsh_sfc-dev@...>, abhijeet karve <abhijeet.karve@...>
Subject: Service chaining with segment routing along with nsh vxlan tunnel

Dear all,

Trying out service chaining with segment routing along with nsh vxlan tunnel for the following use case:

Source---->VPP1--->Service1---->VPP1--->VPP2--->Service2--->VPP2--->VPP3--->Service3---VPP3--->Destination

Created sr tunnel between Source,VPP1,VPP2,VPP3,Destination

Following are the configuration:


Source

ifconfig eth2 up
ip addr add 192.168.50.20 dev eth2

-----------------------------------------------------------------------------------------------------------------------------------------------------------------
VPP1

vppctl set int state GigabitEthernet0/a/0 up
vppctl set int ip address GigabitEthernet0/a/0 192.168.50.91/24

vppctl nsh vxlan tunnel src 192.168.50.20 dst 192.168.50.91 c1 9901 c2 9902 c3 9903 c4 9904 spi 1 si 255 vni 16777215 md-type 1 next-ip4 decap-next nsh-vxlan-gpe
vppctl nsh vxlan tunnel src 192.168.50.91 dst 192.168.50.71 c1 9901 c2 9902 c3 9903 c4 9904 spi 1 si 255 vni 16777215 md-type 1 next-ip4 decap-next nsh-vxlan-gpe
vppctl nsh vxlan tunnel src 192.168.50.71 dst 192.168.50.91 c1 9901 c2 9902 c3 9903 c4 9904 spi 1 si 254 vni 16777215 md-type 1 next-ip4 decap-next nsh-vxlan-gpe
vppctl nsh vxlan tunnel src 192.168.50.91 dst 192.168.50.92 c1 9901 c2 9902 c3 9903 c4 9904 spi 1 si 254 vni 16777215 md-type 1 next-ip4 decap-next nsh-vxlan-gpe

vppctl sr tunnel src 192.168.50.20 dst 192.168.50.21/24 next 192.168.50.92 next 192.168.50.93 next 192.168.50.21 tag 192.168.50.91 InPE 1 clean

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

Service1

ifconfig eth2 up
ip addr add 192.168.50.71 dev eth2

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

VPP2

vppctl set int state GigabitEthernet0/a/0 up
vppctl set int ip address GigabitEthernet0/a/0 192.168.50.92/24

vppctl nsh vxlan tunnel src 192.168.50.92 dst 192.168.50.72 c1 9901 c2 9902 c3 9903 c4 9904 spi 1 si 254 vni 16777215 md-type 1 next-ip4 decap-next nsh-vxlan-gpe
vppctl nsh vxlan tunnel src 192.168.50.72 dst 192.168.50.92 c1 9901 c2 9902 c3 9903 c4 9904 spi 1 si 253 vni 16777215 md-type 1 next-ip4 decap-next nsh-vxlan-gpe
vppctl nsh vxlan tunnel src 192.168.50.92 dst 192.168.50.93 c1 9901 c2 9902 c3 9903 c4 9904 spi 1 si 253 vni 16777215 md-type 1 next-ip4 decap-next nsh-vxlan-gpe


-----------------------------------------------------------------------------------------------------------------------------------------------------------------

Service2

ifconfig eth2 up
ip addr add 192.168.50.72 dev eth2

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

VPP3

vppctl set int state GigabitEthernet0/a/0 up
vppctl set int ip address GigabitEthernet0/a/0 192.168.50.93/24

vppctl nsh vxlan tunnel src 192.168.50.93 dst 192.168.50.73 c1 9901 c2 9902 c3 9903 c4 9904 spi 1 si 253 vni 16777215 md-type 1 next-ip4 decap-next nsh-vxlan-gpe
vppctl nsh vxlan tunnel src 192.168.50.73 dst 192.168.50.93 c1 9901 c2 9902 c3 9903 c4 9904 spi 1 si 252 vni 16777215 md-type 1 next-ip4 decap-next nsh-vxlan-gpe
vppctl nsh vxlan tunnel src 192.168.50.93 dst 192.168.50.21 c1 9901 c2 9902 c3 9903 c4 9904 spi 1 si 252 vni 16777215 md-type 1 next-ip4 decap-next nsh-vxlan-gpe

vppctl sr tunnel src 192.168.50.21 dst 192.168.50.20/24 next 192.168.50.92 next 192.168.50.91 next 192.168.50.20 tag 192.168.50.93 InPE 1 clean

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

Service3

ifconfig eth2 up
ip addr add 192.168.50.73 dev eth2

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

Destination

ifconfig eth2 up
ip addr add 192.168.50.21 dev eth2

-----------------------------------------------------------------------------------------------------------------------------------------------------------------


Intention:
Packets destined for destination from source should flow through the following service1,service2,service3.

Is this configuration going to work? Any other suggestion to achieve the above scenario?


Thanks,
Suman


=====-----=====-----=====
Notice: The information contained in this e-mail
message and/or attachments to it may contain
confidential or privileged information. If you are
not the intended recipient, any dissemination, use,
review, distribution, printing or copying of the
information contained in this e-mail message
and/or attachments to it are strictly prohibited. If
you have received this communication in error,
please notify us by reply e-mail or telephone and
immediately and permanently delete the message
and any attachments. Thank you