[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4ADB5043.7070707@gmail.com>
Date: Sun, 18 Oct 2009 19:28:35 +0200
From: Eric Dumazet <eric.dumazet@...il.com>
To: hadi@...erus.ca
CC: netdev@...r.kernel.org, David Miller <davem@...emloft.net>,
Atis Elsts <atis@...rotik.com>,
Maciej Z.enczykowski <zenczykowski@...il.com>
Subject: Re: [PATCH][RFC]: ingress socket filter by mark
jamal a écrit :
> Maciej forced me to dig into this ;->
>
> at the socket level if a packet arrives with a different mark than
> what we bind to, drop it. I have tested this patch and it drops a packet
> with mismatching mark.
>
> There are several approaches - and i think the patch suggestion i have
> made here maybe too strict. I assume that if someone binds to a mark,
> they want to not only send packets with that mark but receive
> only if that mark is set.
> A looser check would be something along the line accept as well if mark
> is not set i.e
> if (sk->sk_mark && skb->mark && sk->sk_mark != skb->mark)
>
> Alternatively i could add one bit in the socket flags and have it so
> that check is made only if app has been explicit:
> if (sock_flag(sk, SOCK_CHK_SOMARK) && sk->sk_mark != skb->mark) drop
>
> Another approach is to set sock filter from app. I dont like this
> approach because it will be the least usable from app level and would be
> the least simple from kernel level.
>
> cheers,
> jamal
>
I vote for extending BPF, and not adding the price of a compare
for each packet. Only users wanting mark filtering should pay the price.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists