Hi, Habib

Normally, when the BGP speaker sends an Open message, the source port number is something other than 179 (like port 55555). So, according to your table, the Open message will successfully arrive at its peer, but the reply from it will not return because the flows for it is not installed in your flow tables.

I think you need to add more two flows for reply messages, like:
    cookie=0x0, duration=11.287s, table=0, n_packets=0, n_bytes=0, idle_age=11, priority=120,tcp,in_port=2,*tp_**src*=179 actions=output:1     cookie=0x0, duration=7.775s, table=0, n_packets=0, n_bytes=0, idle_age=7, priority=120,tcp,in_port=1,*tp_src*=179 actions=output:2

I've confirmed that peering successfully established by adding this two flows .
Could you try it?


Thanks,
Fujimoto


On 2017年09月29日 18:44, Habib Mostafaei wrote:
Hi Fujimoto,

This is the flow table in one of the switches;

root@sw1:/# ovs-ofctl dump-flows sw1
NXST_FLOW reply (xid=0x4):
 cookie=0x0, duration=91.782s, table=0, n_packets=4, n_bytes=296, idle_age=6, priority=120,tcp,in_port=2,tp_dst=179 actions=output:1  cookie=0x0, duration=91.781s, table=0, n_packets=12, n_bytes=888, idle_age=14, priority=120,tcp,in_port=1,tp_dst=179 actions=output:2  cookie=0x0, duration=91.783s, table=0, n_packets=4, n_bytes=168, idle_age=24, priority=70,arp,in_port=2 actions=output:1  cookie=0x0, duration=91.782s, table=0, n_packets=4, n_bytes=168, idle_age=24, priority=70,arp,in_port=1 actions=output:2

Apparently, in this case the BGP packets can traverse through the network but the controllers cannot detect it. You can see the packets are matched in the flow table.

I did further changes on the TCP rules and I removed the destination port check from the rule and after this elimination surprisingly the peering established.

Probably, this is due to tcp communications among controllers which are not performed through port 179 to establish a BGP peering. Is it right?

Best regards,

Habib


On 9/29/2017 3:54 AM, Fujimoto Satoshi wrote:
Hi, Habib

If you installed rules for ARP and BGP correctly, the peering should be established.
Could you let me see the whole of flow table in your switches?


Thanks,
Fujimoto

On 2017年09月28日 00:39, Habib Mostafaei wrote:
Hi,

I have created two controllers as two BGP speakers like ryu documentation (i.e., by using application.py and bgp_sample_conf.py files).

I have two switches which are connected to controllers and the switches are connected to each other as well.

I would like to create a BGP peering between two controllers. To create the BGP session between controllers I have the rules to handle the ARP traffic and after solving ARP problem, I have another two rules on each switch in order to allow tcp packets (i.e., dst_port=179 for BGP packets) to enter the controller and exit from it. The rules are also matched but the peering does not established.

I was wondering how can I solve this problem.

Thank you.

Habib



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Ryu-devel mailing list
Ryu-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to