Guido,

Each SF should be a separate entity, with its own IP address. When the SFF
sends a packet to an SF, it will set the IPv4 tunnel destination of the
VxLAN-GPE tunnel to be the IP of the SF. There is a demo in the SFC source
code called sfc103 (sfc-demo/sfc103) that you should look at that creates a
separate VM for the following [classifier1, SFF1, SF1, SFF2, SF2,
classifier2]. Notice that each VM will have its own IP address that will be
used in the SFC configuration (for the SFF-SF config also).

I cant remember how to do this with mininet since I usually do this with
VMs, but you will need to create a separate entity in mininet with its own
IP for each SF.

To make the SF NSH-Aware, there is a tool in the SFC source code called
vxlan_tool.py (sfc-test/nsh-tools/vxlan_tool.py, it should probably be
renamed to nsh_tool.py) that you can run that will make it NSH aware. The
vxlan_tool.py opens a raw socket, reads the VxLAN-GPE + NSH packets,
decrements the NSH-NSI and just replies with the same packet. You can
launch it as follows (notice you should replace enp0s8 with your ethernet
port)

    python /vm_sync/vxlan_tool.py -i enp0s8 -d forward -v on

Let me know if that helps, and come back if you need anything else.

Regards,

Brady

On Fri, Nov 17, 2017 at 6:59 AM <[email protected]> wrote:

> Good day dear Brady,
>
>
> I have been working hard on trying to get SFC with ODL carbon to work,
> I made some good progress on it, however I am still getting some
> configuration errors, would you be so kind please to take a look at
> the steps I took and the final result in order to provide me a little
> clue on what I am doing wrong or missing in the configurations?
>
>
>
> Very kind regards
>
>
> Guido
>
>
>
>
> On Fri, 03 Nov 2017 18:55:19 +0000
>   Brady Johnson <[email protected]> wrote:
> > Guido,
> >
> > I can help with this.
> >
> >First of all, Beryllium is very old and is not supported anymore. Nor
> >is
> > the next release Boron. Carbon is the oldest supported release, and
> > Nitrogen is the latest stable release. I highly recommend you
> >upgrade to a
> > later version to get the bug fixes and latest features.
> >
> > As for the ODL SFC features you installed, you will also need
> > odl-sfc-openflow-renderer. And if you want the SFC OpenFlow
> >classifier, you
> > will also want the odl-sfc-scf-openflow feature.
> >
> > Your steps for installing OVS with NSH look ok, but you can use this
> >as a
> > reference:
> >
> >
> https://wiki.opendaylight.org/view/Service_Function_Chaining:Main#Building_Open_vSwitch_with_VxLAN-GPE_and_NSH_support
> >
> > And now for not seeing the OVS bridge as an SFF: this is not the
> >correct
> > way to create an SFF. You should instead create an SFF by injecting
> >a
> > RESTconf message to the ODL north bound. Here are the steps:
> >
> >
> >   1. Start ODL with the features you listed, plus the features I
> >mentioned
> >   above.
> >   2. Set the manager in OVS like you did and make sure it connects
> >to ODL:
> >   ovs-vsctl set-manager tcp:127.0.0.1:6640
> >   3. sudo ovs-vsctl show
> >   f3b1cb65-1419-403c-9863-4499e165aacc
> >   4.     Manager "tcp:192.168.86.36:6640"
> >   5.         is_connected: true    <== This means its connected to
> >ODL
> >   6.     ovs_version: "2.6.1"
> >   7.
> >   8.
> >   9. Inject the SFF config in ODL, this will create the SFF and the
> >bridge
> >   in OVS
> >   10.
> >   11.
> >   12. Check OVS again:
> >   f3b1cb65-1419-403c-9863-4499e165aacc
> >       Manager "tcp:192.168.86.36:6640"
> >           is_connected: true
> >       Bridge br-int
> >           Controller "tcp:192.168.86.36:6653"
> >               is_connected: true
> >           Port br-int
> >               Interface br-int
> >                   type: internal
> >           Port vxgpe
> >               Interface vxgpe
> >                   type: vxlan
> >                   options: {dst_port="6633", exts=gpe, key=flow,
> >   remote_ip=flow}
> >       ovs_version: "2.6.1"
> >   13.
> >   14.
> >   15. Check the GUI and you'll see the SFF.
> >
> > This is the JSON Im injecting for the SFF:
> >
> > {
> >  "service-function-forwarders": {
> >    "service-function-forwarder": [
> >      {
> >        "name": "sff1",
> >        "service-function-forwarder-ovs:ovs-bridge": {
> >            "bridge-name": "br-int"
> >        },
> >        "sff-data-plane-locator": [
> >          {
> >            "name": "vxgpe",
> >            "data-plane-locator":
> >            {
> >                "ip": "192.168.86.36",
> >                "port": 6633,
> >                "transport": "service-locator:vxlan-gpe"
> >            },
> >            "service-function-forwarder-ovs:ovs-options": {
> >                "key": "flow",
> >                "dst-port": "6633",
> >                "remote-ip": "flow",
> >                "exts" : "gpe"
> >            }
> >          }
> >        ],
> >        "service-function-dictionary": [
> >          {
> >            "name": "sf1",
> >            "sff-sf-data-plane-locator":
> >            {
> >                "sf-dpl-name": "sff1",
> >                "sff-dpl-name": "vxgpe"
> >            }
> >          }
> >        ]
> >      }
> >    ]
> >  }
> > }
> >
> >
> > Hope that helps,
> >
> > Brady
> >
> >
> > On Fri, Nov 3, 2017 at 9:00 AM Martinez Alvarez Guido Francisco <
> > [email protected]> wrote:
> >
> >> Good day to all,
> >>
> >>
> >> I am working still on get NSH set up and running, so far I have
> >> succesfully installed ODL Beryllium with the SFC features:
> >>
> >> feature:install odl-sfc-ui
> >> feature:install odl-sfc-sb-rest
> >> feature:install odl-sfc-ovs
> >>
> >> I got openvswitch installed which would be the 2.5.1 version (sudo
> >> apt-get install openvswitch-switch)
> >>
> >>
> >> And then I applied the patches to make it work with NSH :
> >>
> >> sudo apt-get update
> >> sudo apt-get install git wget
> >> mkdir -p <preferredInstallDir>/ovs
> >> cd <preferredInstallDir>/ovs
> >> wget
> >>
> >>
> https://raw.githubusercontent.com/yyang13/ovs_nsh_patches/master/start-ovs-deb-2.6.1.sh
> >> chmod 755 start-ovs-deb-2.6.1.sh
> >> ./start-ovs-deb-2.6.1.sh
> >>
> >> -WHen I issue a ovs-vsctl -V it shows a new version of OVS , I
> >>suppose
> >> the patch was succesfully applied as it shows OVS version 2.6.1
> >>
> >>
> >> -However when I set the manager to OVS with this commad : ovs-vsctl
> >> set-manager tcp:127.0.0.1:6640 and create a switch by:
> >>
> >>               ovs-vsctl add-br br1
> >>               ovs-vsctl add-port br1 testPort
> >>
> >> When I go to the SFC-UI (Service Function Forwarders tab) I cant see
> >> the new switch I created as a SFF there... I am even able to create
> >> OVS directly from the SFC UI (created odltest) but at the end
> >>whenever
> >> I go back to the SFC UI the switches are not detected as SFFs. I
> >> attach images of this issue I am having, do you think I am missing
> >> something here?
> >>
> >>
> >>
> >> Very Kind Regards
> >>
> >> Guido
> >> _______________________________________________
> >> sfc-dev mailing list
> >> [email protected]
> >> https://lists.opendaylight.org/mailman/listinfo/sfc-dev
> >>
>
>
_______________________________________________
sfc-dev mailing list
[email protected]
https://lists.opendaylight.org/mailman/listinfo/sfc-dev

Reply via email to