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

Reply via email to