[mpls-linux-general] MPLS Performance Improvement
Status: Beta
Brought to you by:
jleu
|
From: Sasa P. <sas...@fe...> - 2005-03-15 13:29:10
|
To improve MPLS performance do this:
1. in /usr/src/linux/include/net/mpls.h file comment following lines:
/* Comment this to suppress MPLS_DEBUG calls */
//#define MPLS_ENABLE_DEBUG 1
/* Comment this to suppress TRACING enter/exit functions */
//#define MPLS_ENABLE_DEBUG_FUNC 1
2. in /usr/src/linux/net/mpls/mpls_utils.c do this:
void
mpls_skb_dump (struct sk_buff* sk)
{
return;
/* THIS IS IRRELEVANT
unsigned int i;
if (!mpls_debug)
return;
printk("MPLS mpls_skb_dump: from %s with len %d (%d)"
"headroom=%d tailroom=%d\n",
sk->dev?sk->dev->name:" net stack ",
sk->len,
sk->truesize,
skb_headroom(sk),
skb_tailroom(sk));
for (i=(unsigned int)sk->head; i<=(unsigned int)sk->tail; i++) {
if (i == (unsigned int)sk->data)
printk("{");
if (i == (unsigned int)sk->h.raw)
printk("#");
if (i == (unsigned int)sk->nh.raw)
printk("|");
if (i == (unsigned int)sk->mac.raw)
printk("*");
printk("%02x",*((unsigned char*)i));
if (i == (unsigned int)sk->tail)
printk("}");
}
printk("\n");
*/
}
With this, I improve throughput 40 times. (over 6 MPLS nodes with
netperf; Source and Destination are IP nodes)
THROUGHPUT BEFORE: 0.35 Mbps
THROUGHPUT AFTER: 13.01 Mbps !!!!
|