[ovs-dev] [PATCH] bfd: Send BFD packets with DSCP CS6
Raymond Burkholder
ray at oneunified.net
Tue Jan 23 02:23:29 UTC 2018
On 01/22/2018 03:36 PM, Ben Pfaff wrote:
> Can you provide a reference to something that helps me understand why
> the new value is the "correct" one? This is not my area of expertise
> and all I learn from the commit message is an assertion that the new
> value is better.
here is a short declaration:
http://www.ciscopress.com/articles/article.asp?p=357102&seqNum=4
A long dissertation:
https://www.cisco.com/c/en/us/td/docs/solutions/Enterprise/WAN_and_MAN/QoS_SRND/QoS-SRND-Book/QoSIntro.html
But in a nutshell:
Network engineers create various queue/drop policies based upon
precedence. Routing protocols are considered high priority/high
precedence. During link saturation events, packets will get dropped.
By creating an egress policy where packets marked by CS6 are allowed
front-of-the-queue status, one can be sure that hello's from the various
protocols arrive when they need to, without delay and without loss. On
the other hand, if the hellos are dropped as part of normal traffic
operations, then traffic routing will flap, leading to further
congestion and drops.
CS6 is a 'well known' marker to network engineers. In many vendor's
gear, it is automatically assigned to routing protocol packets.
Since OVS does not perform queuing, and leaves that to the kernel edge
operations, the queue policies can be used to ensure timely egress of
the BFD packets during high utilization events.
>
> Thanks,
>
> Ben.
>
> On Mon, Dec 25, 2017 at 04:59:22PM +0000, Venkatesan Pradeep wrote:
>> Send BFD packets with TOS value equivalent to DSCP CS6 so that the network
>> can apply the right QoS for those packets. This can help avoid BFD flaps due
>> to network congestion.
>>
>> Signed-off-by: Venkatesan Pradeep <venkatesan.pradeep at ericsson.com>
>> ---
>> lib/bfd.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/lib/bfd.c b/lib/bfd.c
>> index 40cd0be..8d291bb 100644
>> --- a/lib/bfd.c
>> +++ b/lib/bfd.c
>> @@ -612,7 +612,7 @@ bfd_put_packet(struct bfd *bfd, struct dp_packet *p,
>> ip->ip_ihl_ver = IP_IHL_VER(5, 4);
>> ip->ip_tot_len = htons(sizeof *ip + sizeof *udp + sizeof *msg);
>> ip->ip_ttl = MAXTTL;
>> - ip->ip_tos = IPTOS_LOWDELAY | IPTOS_THROUGHPUT;
>> + ip->ip_tos = IPTOS_PREC_INTERNETCONTROL;
>> ip->ip_proto = IPPROTO_UDP;
>> put_16aligned_be32(&ip->ip_src, bfd->ip_src);
>> put_16aligned_be32(&ip->ip_dst, bfd->ip_dst);
>> _______________________________________________
>> dev mailing list
>> dev at openvswitch.org
>> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
--
Raymond Burkholder
ray at oneunified.net
https://blog.raymond.burkholder.net
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
More information about the dev
mailing list