Note: doublecheck priority!
“An entry must be programmed in flow table 2” → r.TABLE(2)
“Which directs all further packets with MAC source address of the sending server” → r.MATCH(’MAC_SRC’, mac)
“to flow table 3” → r.ACTION(’GOTO’, 3)
Rule with Prio 1 exisits → r.PRIORITY(2)
send_rule(switch, r)
‘The received packet must be sent back to the switch’ → send_packet(packet, switch)
Note 1: you can use for loops, pseudocode
Note 2: DON’T OVERTHINK, simply do the subtasks isolated. Pay attention only for prioritues.