Discussion:
[ovs-discuss] OVS co-exist with Click router?
Xinming Chen
2014-09-28 21:34:56 UTC
Permalink
Hi All,
For some reason we want to put OVS and Click modular router on the same
machine, setting up the OVS as an OpenFlow switch to route IPv4 traffic,
and Click to route IPv6 traffic.
But we haven't find a way to have both of them working. Both Click and OVS
uses kernel modules to intercept packets. And to my understanding, if a
packet goes into OVS, it will be controlled by OVS until it is sent out of
a port. The same applies to Click.
Is there a way that can classify the packets and make OVS only intercept
the IPv4 packets? or is there a way that OVS can hand the packet to Click
once it recognice an IPv6 packet?

Thanks!
--
Xinming Chen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/discuss/attachments/20140928/c6a9993a/attachment.html>
Justin Pettit
2014-09-28 22:25:12 UTC
Permalink
Can you connect OVS and Click with something like veths?

--Justin
Post by Xinming Chen
Hi All,
For some reason we want to put OVS and Click modular router on the same machine, setting up the OVS as an OpenFlow switch to route IPv4 traffic, and Click to route IPv6 traffic.
But we haven't find a way to have both of them working. Both Click and OVS uses kernel modules to intercept packets. And to my understanding, if a packet goes into OVS, it will be controlled by OVS until it is sent out of a port. The same applies to Click.
Is there a way that can classify the packets and make OVS only intercept the IPv4 packets? or is there a way that OVS can hand the packet to Click once it recognice an IPv6 packet?
Thanks!
--
Xinming Chen
_______________________________________________
discuss mailing list
discuss at openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/discuss/attachments/20140928/52b8d9fd/attachment.html>
Xinming Chen
2014-09-28 23:18:21 UTC
Permalink
Do you mean IP alias like eth1:0, eth1:1? I've tried that but OVS can't see
any packet on alias interfaces.
If this is not what you mean, can you give me a link of veths? I'd be glad
to try them out.

Thanks,
Xinming
Post by Justin Pettit
Can you connect OVS and Click with something like veths?
--Justin
Hi All,
For some reason we want to put OVS and Click modular router on the same
machine, setting up the OVS as an OpenFlow switch to route IPv4 traffic,
and Click to route IPv6 traffic.
But we haven't find a way to have both of them working. Both Click and OVS
uses kernel modules to intercept packets. And to my understanding, if a
packet goes into OVS, it will be controlled by OVS until it is sent out of
a port. The same applies to Click.
Is there a way that can classify the packets and make OVS only intercept
the IPv4 packets? or is there a way that OVS can hand the packet to Click
once it recognice an IPv6 packet?
Thanks!
--
Xinming Chen
_______________________________________________
discuss mailing list
discuss at openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/discuss/attachments/20140928/e7a95125/attachment.html>
Justin Pettit
2014-09-29 00:11:38 UTC
Permalink
Those are aliases. ?Here's some documentation on veths:

http://backreference.org/2013/06/20/some-notes-on-veth-interfaces/

--Justin
Post by Xinming Chen
Do you mean IP alias like eth1:0, eth1:1? I've tried that but OVS can't see
any packet on alias interfaces.
If this is not what you mean, can you give me a link of veths? I'd be glad
to try them out.
Thanks,
Xinming
Post by Justin Pettit
Can you connect OVS and Click with something like veths?
--Justin
Hi All,
For some reason we want to put OVS and Click modular router on the same
machine, setting up the OVS as an OpenFlow switch to route IPv4 traffic,
and Click to route IPv6 traffic.
But we haven't find a way to have both of them working. Both Click and OVS
uses kernel modules to intercept packets. And to my understanding, if a
packet goes into OVS, it will be controlled by OVS until it is sent out of
a port. The same applies to Click.
Is there a way that can classify the packets and make OVS only intercept
the IPv4 packets? or is there a way that OVS can hand the packet to Click
once it recognice an IPv6 packet?
Thanks!
--
Xinming Chen
_______________________________________________
discuss mailing list
discuss at openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss
_______________________________________________
discuss mailing list
discuss at openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss
Xinming Chen
2014-10-03 03:27:58 UTC
Permalink
Thanks for your suggestion Justin.

We have tested the veth. the openflow switch side works great, but Click
seems not working correctly.
Here is what I've configured on eth1, the same configuration applies to
eth2 and eth3:
We created two pairs of veth for each real interface, one end is bridged to
the real one, the other end is used by the ovs and click.


####script starts
#create two veth pairs
ip link add veth1.0.0 type veth peer name veth1.0.1
ip link add veth1.1.0 type veth peer name veth1.1.1

#bridging the real interface with one end of each pair
ovs-vsctl add-br br-eth1
ovs-vsctl add-port br-eth1 eth1
ovs-vsctl add-port br-eth1 veth1.0.0
ovs-vsctl add-port br-eth1 veth1.1.0

#bring up interfaces
ifconfig eth1 promisc up
ifconfig veth1.0.0 promisc up
ifconfig veth1.0.1 promisc up #used by OpenFlow switch
ifconfig veth1.1.0 promisc up
ifconfig veth1.1.1 promisc up #used by Click
####script ends

This is a figure that illustrate our configuration for eth1.

+---------------------------+
| br-eth1 |
+------+----------+---------+
| eth1 |veth1.0.0 |veth1.1.0|
+--+---+-----+----+----+----+
| | |
----------+ | +----+-----+------+--------+
veth1.0.1 |veth1.1.1 | ... | ... |
+-----+ +----------+------+--------+
|click| | of-switch |
+-----+ +--------------------------+

The problem is: click can see the incoming packets (e.g. a ping packet),
but after it finishes processing and send it back to the linux stack (using
Click's ToHost element), the packet gets dropped and the OS doesn't send a
response to the ping.

Is there a function in ovs that act like Click's ToHost, to send all the
ipv6 packets to Click without being forwarded by ovs?

Thanks,
Xinming
Post by Justin Pettit
http://backreference.org/2013/06/20/some-notes-on-veth-interfaces/
--Justin
Post by Xinming Chen
Do you mean IP alias like eth1:0, eth1:1? I've tried that but OVS can't
see
Post by Xinming Chen
any packet on alias interfaces.
If this is not what you mean, can you give me a link of veths? I'd be
glad
Post by Xinming Chen
to try them out.
Thanks,
Xinming
Post by Justin Pettit
Can you connect OVS and Click with something like veths?
--Justin
Hi All,
For some reason we want to put OVS and Click modular router on the same
machine, setting up the OVS as an OpenFlow switch to route IPv4
traffic,
Post by Xinming Chen
Post by Justin Pettit
and Click to route IPv6 traffic.
But we haven't find a way to have both of them working. Both Click and
OVS
Post by Xinming Chen
Post by Justin Pettit
uses kernel modules to intercept packets. And to my understanding, if a
packet goes into OVS, it will be controlled by OVS until it is sent
out of
Post by Xinming Chen
Post by Justin Pettit
a port. The same applies to Click.
Is there a way that can classify the packets and make OVS only
intercept
Post by Xinming Chen
Post by Justin Pettit
the IPv4 packets? or is there a way that OVS can hand the packet to
Click
Post by Xinming Chen
Post by Justin Pettit
once it recognice an IPv6 packet?
Thanks!
--
Xinming Chen
_______________________________________________
discuss mailing list
discuss at openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss
_______________________________________________
discuss mailing list
discuss at openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss
--
Xinming Chen
PhD Candidate
Network Systems Lab, Department of Electrical and Computer Engineering
University of Massachusetts Amherst, MA 01003 USA
<http://security.riit.tsinghua.edu.cn/wiki/Xinming_Chen>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/discuss/attachments/20141002/e90036c7/attachment.html>
Baohua Yang
2014-09-29 02:30:52 UTC
Permalink
veth is something as virtual network devices in linux.

http://openvz.org/Virtual_Ethernet_device

On Mon, Sep 29, 2014 at 7:18 AM, Xinming Chen <chenxinming05 at gmail.com>
Post by Xinming Chen
Do you mean IP alias like eth1:0, eth1:1? I've tried that but OVS can't
see any packet on alias interfaces.
If this is not what you mean, can you give me a link of veths? I'd be glad
to try them out.
Thanks,
Xinming
Can you connect OVS and Click with something like veths?
Post by Justin Pettit
--Justin
Hi All,
For some reason we want to put OVS and Click modular router on the same
machine, setting up the OVS as an OpenFlow switch to route IPv4 traffic,
and Click to route IPv6 traffic.
But we haven't find a way to have both of them working. Both Click and
OVS uses kernel modules to intercept packets. And to my understanding, if a
packet goes into OVS, it will be controlled by OVS until it is sent out of
a port. The same applies to Click.
Is there a way that can classify the packets and make OVS only intercept
the IPv4 packets? or is there a way that OVS can hand the packet to Click
once it recognice an IPv6 packet?
Thanks!
--
Xinming Chen
_______________________________________________
discuss mailing list
discuss at openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss
_______________________________________________
discuss mailing list
discuss at openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss
--
Best wishes!
Baohua
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/discuss/attachments/20140929/817405f4/attachment.html>
Loading...