Hello
I am experimenting with Mininet and ODL l2switch plugin, trying to find
a configuration that makes the plugin accept PACKET_IN messages with IP
payload and respond with PACKET_OUT containing that payload, along with
the appropriate FLOW_MODs that establish connectivity between hosts.
With the default configuration the MAC-to-MAClearning process is done
through ARP requests and replies. This takes place if
attribute<observe-addressess-from> is set to *arp* under file
etc/opendaylight/karaf/56-addresstracker.xml, which is the default
value.
(https://nexus.opendaylight.org/content/sites/site/org.opendaylight.docs/master/userguide/manuals/userguide/bk-user-guide/content/_configuration_of_l2switch_components.html)
1. For changing the controller’s MAC-to-MAC learning process through IP
packets the attribute<observe-addressess-from> has to be set to
*ipv4*. However, as mentioned within the comments of the same file,
the value of this attribute has to be set to *ipv* which proves to
be *invalid*, since *no *learning process is triggered when this
value is set.
2. When the learning process is done through ARP, controller installs
the following flow on switches:
cookie=0x2b00000000000003, duration=2567.042s, table=0, n_packets=4,
n_bytes=168, priority=1,arp actions=CONTROLLER:65535
This matches ARP messages and sends them as PACKET_INs to the
controller. In this way controller processes the ARP messages and
learns the hosts MAC addresses through them. Then it responds with
FLOW_MODs, which establishes a duplex MAC-to-MAC datapath between
the hosts that sent the ARP response and reply messages.
When the configuration is made to learn MAC addresses through ipv4
we would in similar fashion expect from the controller to install a
flow that matches ipv4 packets and send them to the controller, *but
this does not happen*. As a consequence the controller never
receives PACKET_INs with IP packets data payload, so it never learns
MAC addresses and finally never installs FLOW_MODs to the switches
to establish datapaths.
3. If I manually install the flow on to the switches:
cookie=0x0, duration=2567.042s, table=0, n_packets=4, n_bytes=168,
priority=2,ip actions=CONTROLLER:65535
then the controller installs the expected FLOW_MODs to the switches
that create MAC-to-MAC datapaths.
4. In case of learning process through ARP messages, controller sends
back with PACKET_OUTs the ARP messages that receives with
PACKET_INs, so there is no data loss and everything works as
expected. However, in case of ipv4 configuration and if step 3 has
been executed, controller does not send back with PACKET_OUTs the
received IP packets which finally results in partial data loss among
hosts.
I do not know if the above behavior is a bug or I am missing something
with the configuration. Your feedback would be particularly helpful.
Thank you in advance
Panagiotis Georgiopoulos
--
The information in this e-mail message and any attachments are intended only
for the individual or entity to whom it is addressed and may be confidential.
If you have received this transmission in error, and you are not an intended
recipient, be aware that any copying, disclosure, distribution or use of this
transmission or its contents is prohibited. INTRACOM TELECOM and the sender
accept no liability for any loss, disruption or damage to your data or computer
system that may occur while using data contained in, or transmitted with, this
email. Views or opinions expressed in this message may be those of the author
and may not necessarily represent those of INTRACOM TELECOM
_______________________________________________
L2switch-dev mailing list
[email protected]
https://lists.opendaylight.org/mailman/listinfo/l2switch-dev