Routing paths in Segment Routing

68 views
Skip to first unread message

Van Tong

unread,
Nov 5, 2019, 3:52:50 PM11/5/19
to ONOS Developers
Hi all,

I have a small project related to Segment Routing in the university. After implementing segment routing (SR) application in ONOS (v2.1) with Mininet, I found out that there is a difference between the experiments of TCP and UDP.

When I send the TCP packets from a source to a destination, SR application forwards the packets through only one routing path in the normal network condition. However, SR application forwards the UDP packets through some equal-cost multi-paths in the same network condition.

Does anybody know why there is a difference between the experiments of TCP and UDP?


Best regards,

Van

Yi Tseng

unread,
Nov 7, 2019, 8:10:06 PM11/7/19
to Van Tong, ONOS Developers
Hi Van Tong,

It depends on how the ECMP is implemented in the device. Some device uses 5-tuple for hashing and pick the ECMP bucket.

It also depends on how you generate traffic. The device uses 5-tuple hashing usually pick the same path if we use the same header(Eth, IP, Port) for every packet.

Yi

--
You received this message because you are subscribed to the Google Groups "ONOS Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to onos-dev+u...@onosproject.org.
To view this discussion on the web visit https://groups.google.com/a/onosproject.org/d/msgid/onos-dev/b70c780f-a7de-4f13-bc45-d580a310359d%40onosproject.org.


--
Yi Tseng
Member of Technical Staff
Open Networking Foundation

Van Tong

unread,
Nov 12, 2019, 8:38:32 AM11/12/19
to onos...@onosproject.org, tongva...@gmail.com
Hi Yi,

Thank you very much.

Best regards,
Van

Vào 02:10:06 UTC+1 Thứ Sáu, ngày 08 tháng 11 năm 2019, Yi Tseng đã viết:
Hi Van Tong,

It depends on how the ECMP is implemented in the device. Some device uses 5-tuple for hashing and pick the ECMP bucket.

It also depends on how you generate traffic. The device uses 5-tuple hashing usually pick the same path if we use the same header(Eth, IP, Port) for every packet.

Yi

On Tue, Nov 5, 2019 at 12:52 PM Van Tong <tongva...@gmail.com> wrote:
Hi all,

I have a small project related to Segment Routing in the university. After implementing segment routing (SR) application in ONOS (v2.1) with Mininet, I found out that there is a difference between the experiments of TCP and UDP.

When I send the TCP packets from a source to a destination, SR application forwards the packets through only one routing path in the normal network condition. However, SR application forwards the UDP packets through some equal-cost multi-paths in the same network condition.

Does anybody know why there is a difference between the experiments of TCP and UDP?


Best regards,

Van

--
You received this message because you are subscribed to the Google Groups "ONOS Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to onos...@onosproject.org.

Van Tong

unread,
Nov 12, 2019, 10:12:21 AM11/12/19
to ONOS Developers, tongva...@gmail.com

Dear Yi,


I have another question related to the update of routing paths in SR application of ONOS.

I want to create the QoS-aware SR, so I modified function getECMPPaths in EcmpShortestPathGraph.java to return the appropriate paths that meet the requirement in term of QoS. Then, I call to the function populateAllRoutingRules in DefaultRoutingHandler.java to repopulate the routing rules.

However, SR keeps the same routing paths when the packets are transmitted from a source to a destination (SR application transmits the packets through a routing path). It means that the routing rules are not yet updated.

Do you know why?


Best regards,

Van



Vào 02:10:06 UTC+1 Thứ Sáu, ngày 08 tháng 11 năm 2019, Yi Tseng đã viết:
Hi Van Tong,

It depends on how the ECMP is implemented in the device. Some device uses 5-tuple for hashing and pick the ECMP bucket.

It also depends on how you generate traffic. The device uses 5-tuple hashing usually pick the same path if we use the same header(Eth, IP, Port) for every packet.

Yi
On Tue, Nov 5, 2019 at 12:52 PM Van Tong <tongva...@gmail.com> wrote:
Hi all,

I have a small project related to Segment Routing in the university. After implementing segment routing (SR) application in ONOS (v2.1) with Mininet, I found out that there is a difference between the experiments of TCP and UDP.

When I send the TCP packets from a source to a destination, SR application forwards the packets through only one routing path in the normal network condition. However, SR application forwards the UDP packets through some equal-cost multi-paths in the same network condition.

Does anybody know why there is a difference between the experiments of TCP and UDP?


Best regards,

Van

--
You received this message because you are subscribed to the Google Groups "ONOS Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to onos...@onosproject.org.

Yi Tseng

unread,
Nov 19, 2019, 2:54:57 PM11/19/19
to Van Tong, ONOS Developers
Hi,

Sorry for the delay.

I am not sure what is the issue here. Where/how did you call the "populateAllRoutingRules" function?

I'd suggest enabling the ONOS debug mode (bazel run onos-local -- clean debug) and attach from the IDE(e.g., IntelliJ) to make sure functions you need is invoked by the app.

Yi

To unsubscribe from this group and stop receiving emails from it, send an email to onos-dev+u...@onosproject.org.
To view this discussion on the web visit https://groups.google.com/a/onosproject.org/d/msgid/onos-dev/08940fae-84ac-4f59-b275-29d92805887b%40onosproject.org.

Van Tong

unread,
Nov 20, 2019, 3:11:54 AM11/20/19
to ONOS Developers, tongva...@gmail.com
Hi Yi,

I call the populateAllRoutingRules function from SegmentRoutingManager to update the routing paths more frequently.
Do you have any documents explaining the flow graph of the process of the routing paths in SR application of ONOS?

Van

Vào 20:54:57 UTC+1 Thứ Ba, ngày 19 tháng 11 năm 2019, Yi Tseng đã viết:

Yi Tseng

unread,
Nov 20, 2019, 6:11:21 PM11/20/19
to Van Tong, ONOS Developers, Trellis Developers
[+Trellis dev mailing list]

I don't have a document that describes the flow.

I'd suggest using debugging mode to find the reason.

Yi

To unsubscribe from this group and stop receiving emails from it, send an email to onos-dev+u...@onosproject.org.
To view this discussion on the web visit https://groups.google.com/a/onosproject.org/d/msgid/onos-dev/a9d667cb-2d67-4cd0-bce6-2c4ed3ae6672%40onosproject.org.

Charles Chan

unread,
Nov 20, 2019, 6:12:23 PM11/20/19
to ONOS Developers, tongva...@gmail.com
Route population will generate a lot of debug message that's also useful. You can try to enable them by entering the following in ONOS CLI:
log:set debug org.onosproject.segmentrouting

Thanks,
Charles

Van Tong

unread,
Nov 21, 2019, 3:35:09 AM11/21/19
to ONOS Developers, tongva...@gmail.com
Hi Charles and Yi,

Thank you very much for the instructions.

Van

Vào 00:12:23 UTC+1 Thứ Năm, ngày 21 tháng 11 năm 2019, Charles Chan đã viết:
Reply all
Reply to author
Forward
0 new messages