netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Denys Fedoryshchenko <denys@visp.net.lb>
To: hadi@cyberus.ca
Cc: Stephen Hemminger <shemminger@linux-foundation.org>,
	netdev@vger.kernel.org
Subject: Re: few more fixes for iproute2/m_ipt
Date: Wed, 6 Aug 2008 13:21:18 +0300	[thread overview]
Message-ID: <200808061321.19560.denys@visp.net.lb> (raw)
In-Reply-To: <1218017085.4755.23.camel@localhost>

[-- Attachment #1: Type: text/plain, Size: 1556 bytes --]

On Wednesday 06 August 2008, jamal wrote:
>
> Indeed there seems to be an issue here, but:
> Have you tried in your batch with a few "index"ed parameters to ipt with
> your fix? I think it will break with your changes. Of course that does
> not invalidate your concern. If you send me a two liner batch example
> which breaks for you, I will test it.
not sure about two lines
attaching example batch

>
> > 2)Since target->t = fw_calloc(1, size); allocated memory in function
> > build_st, it have to be freed at the end, or in batch we will have memory
> > leak. TODO: Probably it must be freed in all "return -1" cases in
> > parse_ipt after build_st. About this i am not sure, up to Stephen.
> >
> > 3)lname and new_name was malloc'ed, but not freed
> >
> > Point 1 fix is critical, since without it m_ipt crashing iproute2 in
> > batch mode.
>
> I think #2 and #3 are leggit. Send two patches - one for #1 when you
> validate and the other for #2,#3 when you validate. BTW, for the
> equivalent of the latter - if you feel brave - theres a lot more of that
> type in the tc code.
#1 is validated 100%, because i was not able to run tc in batch mode for my 
tasks(2nd or 3rd ipt rule will crash), till i implement those patches. The 
batch i gave is short version, full version have around 11k lines. But it 
crashes usually max on 2rd or 3nd ipt.

Well, i can fix what i can sniff&smell in my daily job, and especially if i 
hit a wall because of some code :-) For me it is difficult to inspect the 
code, since i am very weak in C, but i will try. 



[-- Attachment #2: batch.example --]
[-- Type: text/x-java, Size: 6348 bytes --]

filter del dev ifb0 protocol ip pref 100
class del dev ifb0 classid 1:100 
qdisc del dev ppp0 root
qdisc add dev ppp0 root handle 1: prio
qdisc add dev ppp0 parent 1:1 handle 2: est 1sec 8sec tbf buffer 2048000 latency 500ms rate 256000bit peakrate 1280000bit mtu 1512
filter add dev ppp0 parent 1:0 protocol ip prio 5 u32 match ip src 194.146.153.24/32 flowid 3:1
filter add dev ppp0 parent 1:0 protocol ip prio 5 u32 match ip src 194.146.153.26/32 flowid 3:1
filter add dev ppp0 parent 1:0 protocol ip prio 5 u32 match ip src 194.146.153.6/32 flowid 3:1
filter add dev ppp0 parent 1:0 protocol ip prio 5 u32 match ip src 194.146.153.19/32 flowid 3:1
filter add dev ppp0 parent 1:0 protocol ip prio 5 u32 match ip src 2.2.2.102/32 flowid 3:1
filter add dev ppp0 parent 1:0 protocol ip prio 5 u32 match ip src 2.2.2.105/32 flowid 3:1
filter add dev ppp0 parent 1:0 protocol ip prio 5 u32 match ip src 2.2.2.106/32 flowid 3:1
filter add dev ppp0 parent 1:0 protocol ip prio 10 u32 match ip dst 0.0.0.0/0 flowid 2:1
class add dev ifb0 classid 1:100 parent 1:0 htb rate 56000bit quantum 1600
qdisc add dev ifb0 parent 1:100 handle 100: bfifo limit 14000
filter add dev ifb0 protocol ip pref 100 parent 1: handle 100 fw classid 1:100
qdisc del dev ppp0 ingress
qdisc add dev ppp0 ingress
filter add dev ppp0 parent ffff: protocol ip prio 5 u32 match ip dst 2.2.2.102/32 flowid 1:1
filter add dev ppp0 parent ffff: protocol ip prio 5 u32 match ip dst 2.2.2.105/32 flowid 1:1
filter add dev ppp0 parent ffff: protocol ip prio 5 u32 match ip dst 2.2.2.106/32 flowid 1:1
filter add dev ppp0 parent ffff: protocol ip prio 5 u32 match ip dst 194.146.153.24/32 flowid 1:1
filter add dev ppp0 parent ffff: protocol ip prio 5 u32 match ip dst 194.146.153.6/32 flowid 1:1
filter add dev ppp0 parent ffff: protocol ip prio 5 u32 match ip dst 194.146.153.26/32 flowid 1:1
filter add dev ppp0 parent ffff: protocol ip prio 5 u32 match ip dst 194.146.153.19/32 flowid 1:1
filter add dev ppp0 parent ffff: protocol ip prio 10 u32 match u32 0 0 flowid 1:1 action ipt -j MARK --set-mark 100 action mirred egress redirect dev ifb0
filter del dev ifb0 protocol ip pref 101
class del dev ifb0 classid 1:101 
qdisc del dev ppp1 root
qdisc add dev ppp1 root handle 1: prio
qdisc add dev ppp1 parent 1:1 handle 2: est 1sec 8sec tbf buffer 2048000 latency 500ms rate 256000bit peakrate 1280000bit mtu 1512
filter add dev ppp1 parent 1:0 protocol ip prio 5 u32 match ip src 194.146.153.24/32 flowid 3:1
filter add dev ppp1 parent 1:0 protocol ip prio 5 u32 match ip src 194.146.153.26/32 flowid 3:1
filter add dev ppp1 parent 1:0 protocol ip prio 5 u32 match ip src 194.146.153.6/32 flowid 3:1
filter add dev ppp1 parent 1:0 protocol ip prio 5 u32 match ip src 194.146.153.19/32 flowid 3:1
filter add dev ppp1 parent 1:0 protocol ip prio 5 u32 match ip src 2.2.2.102/32 flowid 3:1
filter add dev ppp1 parent 1:0 protocol ip prio 5 u32 match ip src 2.2.2.105/32 flowid 3:1
filter add dev ppp1 parent 1:0 protocol ip prio 5 u32 match ip src 2.2.2.106/32 flowid 3:1
filter add dev ppp1 parent 1:0 protocol ip prio 10 u32 match ip dst 0.0.0.0/0 flowid 2:1
class add dev ifb0 classid 1:101 parent 1:0 htb rate 56000bit quantum 1600
qdisc add dev ifb0 parent 1:101 handle 101: bfifo limit 14000
filter add dev ifb0 protocol ip pref 101 parent 1: handle 101 fw classid 1:101
qdisc del dev ppp1 ingress
qdisc add dev ppp1 ingress
filter add dev ppp1 parent ffff: protocol ip prio 5 u32 match ip dst 2.2.2.102/32 flowid 1:1
filter add dev ppp1 parent ffff: protocol ip prio 5 u32 match ip dst 2.2.2.105/32 flowid 1:1
filter add dev ppp1 parent ffff: protocol ip prio 5 u32 match ip dst 2.2.2.106/32 flowid 1:1
filter add dev ppp1 parent ffff: protocol ip prio 5 u32 match ip dst 194.146.153.24/32 flowid 1:1
filter add dev ppp1 parent ffff: protocol ip prio 5 u32 match ip dst 194.146.153.6/32 flowid 1:1
filter add dev ppp1 parent ffff: protocol ip prio 5 u32 match ip dst 194.146.153.26/32 flowid 1:1
filter add dev ppp1 parent ffff: protocol ip prio 5 u32 match ip dst 194.146.153.19/32 flowid 1:1
filter add dev ppp1 parent ffff: protocol ip prio 10 u32 match u32 0 0 flowid 1:1 action ipt -j MARK --set-mark 101 action mirred egress redirect dev ifb0
filter del dev ifb0 protocol ip pref 110
class del dev ifb0 classid 1:110 
qdisc del dev ppp10 root
qdisc add dev ppp10 root handle 1: prio
qdisc add dev ppp10 parent 1:1 handle 2: est 1sec 8sec tbf buffer 2048000 latency 500ms rate 256000bit peakrate 1280000bit mtu 1512
filter add dev ppp10 parent 1:0 protocol ip prio 5 u32 match ip src 194.146.153.24/32 flowid 3:1
filter add dev ppp10 parent 1:0 protocol ip prio 5 u32 match ip src 194.146.153.26/32 flowid 3:1
filter add dev ppp10 parent 1:0 protocol ip prio 5 u32 match ip src 194.146.153.6/32 flowid 3:1
filter add dev ppp10 parent 1:0 protocol ip prio 5 u32 match ip src 194.146.153.19/32 flowid 3:1
filter add dev ppp10 parent 1:0 protocol ip prio 5 u32 match ip src 2.2.2.102/32 flowid 3:1
filter add dev ppp10 parent 1:0 protocol ip prio 5 u32 match ip src 2.2.2.105/32 flowid 3:1
filter add dev ppp10 parent 1:0 protocol ip prio 5 u32 match ip src 2.2.2.106/32 flowid 3:1
filter add dev ppp10 parent 1:0 protocol ip prio 10 u32 match ip dst 0.0.0.0/0 flowid 2:1
class add dev ifb0 classid 1:110 parent 1:0 htb rate 56000bit quantum 1600
qdisc add dev ifb0 parent 1:110 handle 110: bfifo limit 14000
filter add dev ifb0 protocol ip pref 110 parent 1: handle 110 fw classid 1:110
qdisc del dev ppp10 ingress
qdisc add dev ppp10 ingress
filter add dev ppp10 parent ffff: protocol ip prio 5 u32 match ip dst 2.2.2.102/32 flowid 1:1
filter add dev ppp10 parent ffff: protocol ip prio 5 u32 match ip dst 2.2.2.105/32 flowid 1:1
filter add dev ppp10 parent ffff: protocol ip prio 5 u32 match ip dst 2.2.2.106/32 flowid 1:1
filter add dev ppp10 parent ffff: protocol ip prio 5 u32 match ip dst 194.146.153.24/32 flowid 1:1
filter add dev ppp10 parent ffff: protocol ip prio 5 u32 match ip dst 194.146.153.6/32 flowid 1:1
filter add dev ppp10 parent ffff: protocol ip prio 5 u32 match ip dst 194.146.153.26/32 flowid 1:1
filter add dev ppp10 parent ffff: protocol ip prio 5 u32 match ip dst 194.146.153.19/32 flowid 1:1
filter add dev ppp10 parent ffff: protocol ip prio 10 u32 match u32 0 0 flowid 1:1 action ipt -j MARK --set-mark 110 action mirred egress redirect dev ifb0

  reply	other threads:[~2008-08-06 10:22 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-05 21:42 few more fixes for iproute2/m_ipt Denys Fedoryshchenko
2008-08-06 10:04 ` jamal
2008-08-06 10:21   ` Denys Fedoryshchenko [this message]
2008-08-06 11:04     ` jamal
2008-08-06 11:26       ` Denys Fedoryshchenko
2008-08-06 12:46         ` jamal
2008-08-06 12:50           ` Denys Fedoryshchenko
2008-08-06 12:55             ` jamal
2008-08-06 12:56               ` Denys Fedoryshchenko
2008-08-06 12:59               ` Denys Fedoryshchenko
2008-08-06 13:17                 ` jamal
2009-01-07  3:43 ` Stephen Hemminger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200808061321.19560.denys@visp.net.lb \
    --to=denys@visp.net.lb \
    --cc=hadi@cyberus.ca \
    --cc=netdev@vger.kernel.org \
    --cc=shemminger@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).