Thanks for the clarifications Venu. I was measuring bandwidth by checking
'kstat -n' and as you mentioned, it's probably not accurate.

Using 'netstat -k', I see that the bandwidth is capped correctly. The only
problem I have now is to get the output of 'netstat -k' in plain text,
instead of the curses based output. My python wrapper runs with out a
terminal, as I mentioned to you in the other e-mail.

Please let me know when the new bits are available.

Thanks again!
Pradeep 

> -----Original Message-----
> From: venugopal iyer [mailto:venu at sun.com] 
> Sent: Friday, January 18, 2008 12:12 PM
> To: Pradeep Padala
> Cc: crossbow-discuss at opensolaris.org
> Subject: Re: [crossbow-discuss] Does capping network 
> bandwidth work in Crossbow?
> 
> 
> Hi, Pradeep:
> 
> On Thu, 17 Jan 2008, Pradeep Padala wrote:
> 
> > Hi,
> >
> > I am trying to set bandwidth caps for two zones. I created 
> two vnics 
> > and assigned them to two zones 'exclusive'ly. Then, I used the 
> > following commands to set the bandwidth limits
> >
> > #dladm modify-vnic -b 100 1
> > #dladm modify-vnic -b 900 2
> >
> > and I see that they are set correctly.
> >
> > # dladm show-vnic
> >        device  speed
> > vnic1   e1000g0 1000  Mbps      mac: 0:14:4f:8d:a9:bd  
> (fixed)  bw limit:
> > 100 Mbps    cpus: 0
> > vnic2   e1000g0 1000  Mbps      mac: 0:14:4f:8d:a9:be  
> (fixed)  bw limit:
> > 900 Mbps    cpus: 0
> 
> That's right.
> 
> >
> > I am measuring the bandwidth used by a zone, by calculating tx + rx 
> > bytes as seen by 'kstat -n vnic?'. Is this the right way to 
> measure it?
> 
> I suspect that may  work. I think you might have earlier bits 
> that did bandwidth regulation in squeues (in IP). So, unless 
> the squeue always polls the vnic to get the no. of pkts per 
> the set limit, the numbers above might not give you the right 
> info. E.g packet that comes via an interrupt will update the 
> vnic counters and be sent upstream to the appropriate squeue, 
> which will enforce the limit. (This logic has changed and we 
> will be pushing out the latest bits on OpenSolaris shortly, 
> possibly in the next week. With the latest bits the above 
> method - kstat - should be fine; see 
> http://www.opensolaris.org/os/project/crossbow/Design_softringset.txt
> for some info. about bandwidth control et. al.)
> 
> 
> >
> > I use httperf to connect to the webservers running in the 
> two zones, 
> > and I always see the bandwidth used by the zones exceeding 
> the limits 
> > often reaching 400Mbps (my workload is very network heavy).
> >
> > I tried using the -L option as specified in the dladm man page
> > 
> (http://dlc.sun.com/osol/netvirt/downloads/20070214/dladm.1m.txt) to 
> > cap bandwidth, but I get an error.
> >
> > # dladm modify-vnic -b 100 -L 1
> > dladm: unrecognized option '-L'
> 
> -L is not needed for dladm.
> 
> >
> > I am not sure whether this is the right way to cap 
> bandwidth. Another 
> > way to do it, I believe, is to use flowadm and setup flows 
> with limited bandwidth.
> > I thought that probably uses more protocol processing than 
> necessary, 
> > since I just want to cap the full vnic bandwidth.
> >
> 
> Yes, you should just be able to set the vnic limit, if that's 
> sufficient.
> 
> 
> > Any ideas?
> 
> Until the new bits are made available: I haven't used 
> httperf,  but you could try netperf and look at its results 
> just to check if the limit is being enforced.
> 
> 
> -venu
> >
> > Pradeep
> >
> > _______________________________________________
> > crossbow-discuss mailing list
> > crossbow-discuss at opensolaris.org
> > http://mail.opensolaris.org/mailman/listinfo/crossbow-discuss
> >
> 


Reply via email to