On 2/19/23 11:56, Bilinmek Istemiyor wrote:
Hello,
Thank you for the response, It is really helpful and I really
appreciated it. As seen from my post, networking, specifically SDN is
not a specialty of mine. Thank you for the directions. From your
reply, I understand that openvswitch does not handle routing or layer
3 switching in itself, I need some external tools/settings to handle
it. I have several more questions, and I appreciate if you can
provide your opinions about these. Please bare with me if they are
really dumb questions because the information in the internet is
overwhelming for me and I have difficulty to extract answers for these
basic questions.
linux networking is powerful. you'll need to go through a series of
ah-hah! moments to understand what it can do.
I always thought mininet is a isolated simulation environment for some
academic or research work and not for real environments. I hear that
routers, switches with different topologies can be created with
mininet easily. Is it possible to use it daily for the requirements
that I presented previously? Will there be performance penalty against
a setting if the same topology is created with other tools you
specified, openvswitch, iproute2 etc?
mininet is an automation tool, which makes use of linux iproute2 command
line tools. it can be used for testing and education, and production
if it meets the needs.
but before you try mininet, you should use the command line tools
natively first. then you'll understand how the other tools work.
https://baturin.org/docs/iproute2/#ip-netns - look for the heading
"Connect one namespace to another " - then use ip link to turn on
interfaces, and ip addr to assign addreses within each namespace.
Once you can accomplish that, you'll have been introduced to the basics
of links, addressing, and namespaces, which form the basis for much of
linux networking. And these are the tools which mininet abstracts so
you don't have to run these commands individually all the time.
hence, no, there are no performance penalties for using the higher
abstraction tools.
I have seen some blogs/post using openwrt as a virtual router or just
using a linux box in a virtual machine as a static router. What do you
think about this?
there is no need for any of these other tools, other than if you simply
want to use their gui abstractions to perform what can be done natively
under the hood.
Any old modern linux distribution/kernel will provide all these
functions natively
I may be wrong but if I understand correctly that with openflow it
is possible to do the routing or l3 switching without actually needing
a router. I will be needing an openflow controller I presume along
with openflow enabled switches, and some flows need to be programmed.
Openvswicth does openflow but misses controller part to the best of my
understanding. Are these statements correct? If so which tools should
I use to do layer 3 switching with openflow.
openflow is, in effect, and some embellishments, a layer 2 switch. it
can be controlled via command line arguments or via various and sundry
openflow controllers.
You have not commented anything about open virtual networking (ovn).
What do you think about it. It is not in proposed your set of
solutions. I ask it even though it will be hard to use for me it since
I have not encountered a package for arch linux.
ovn is one of those controllers, and can perform some rudimentary layer
3 routing. I'd learn openvswitch prior to getting into the intricacies
of ovn. It will then become more apparent as to the its use cases.
I would recommend learning basic iproute2/ovs prior to getting into ovn.
Which direction would you chose if you were me. mininet,
openflow/openvswitch, openswitch/openwrt/linuxboxrouter etc.
iproute2 (https://baturin.org/docs/iproute2), ovs for basic link and
vlan management, mininet to create larger learning environments, then,
well, lots of possible directions.
Thanks in advance....
good luck
_______________________________________________
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss