Gur Stavi wrote:
> > Gur Stavi wrote:
> > > >
> > > > If we don't care about opening up fanout groups to ETH_P_NONE, then
> > > > patch v2 seems sufficient. If explicitly blocking this, the ENXIO
> > > > return can be added, but ideally without touching the other lines.
> > >
> > > I don't think th
> Gur Stavi wrote:
> > >
> > > If we don't care about opening up fanout groups to ETH_P_NONE, then
> > > patch v2 seems sufficient. If explicitly blocking this, the ENXIO
> > > return can be added, but ideally without touching the other lines.
> >
> > I don't think that allowing ETH_P_NONE is relev
Gur Stavi wrote:
> >
> > If we don't care about opening up fanout groups to ETH_P_NONE, then
> > patch v2 seems sufficient. If explicitly blocking this, the ENXIO
> > return can be added, but ideally without touching the other lines.
>
> I don't think that allowing ETH_P_NONE is relevant.
> In my
Gur Stavi wrote:
> > Gur Stavi wrote:
> > > > Gur Stavi wrote:
> > > > > > Gur Stavi wrote:
> > > > > > > > Gur Stavi wrote:
> > > > > > > > > >> @@ -1846,21 +1846,21 @@ static int fanout_add(struct
> > sock
> > > > *sk,
> > > > > > > > struct fanout_args *args)
> > > > > > > > > >>err = -EINVA
>
> If we don't care about opening up fanout groups to ETH_P_NONE, then
> patch v2 seems sufficient. If explicitly blocking this, the ENXIO
> return can be added, but ideally without touching the other lines.
I don't think that allowing ETH_P_NONE is relevant.
In my opinion the 2 options that sho
> Gur Stavi wrote:
> > > Gur Stavi wrote:
> > > > > Gur Stavi wrote:
> > > > > > > Gur Stavi wrote:
> > > > > > > > >> @@ -1846,21 +1846,21 @@ static int fanout_add(struct
> sock
> > > *sk,
> > > > > > > struct fanout_args *args)
> > > > > > > > >> err = -EINVAL;
> > > > > > > > >>
> > > > > >
Gur Stavi wrote:
> > Gur Stavi wrote:
> > > > Gur Stavi wrote:
> > > > > > Gur Stavi wrote:
> > > > > > > >> @@ -1846,21 +1846,21 @@ static int fanout_add(struct sock
> > *sk,
> > > > > > struct fanout_args *args)
> > > > > > > >>err = -EINVAL;
> > > > > > > >>
> > > > > > > >>spin_
> Gur Stavi wrote:
> > > Gur Stavi wrote:
> > > > > Gur Stavi wrote:
> > > > > > >> @@ -1846,21 +1846,21 @@ static int fanout_add(struct sock
> *sk,
> > > > > struct fanout_args *args)
> > > > > > >> err = -EINVAL;
> > > > > > >>
> > > > > > >> spin_lock(&po->bind_lock);
> > > > >
Gur Stavi wrote:
> > Gur Stavi wrote:
> > > > Gur Stavi wrote:
> > > > > >> @@ -1846,21 +1846,21 @@ static int fanout_add(struct sock *sk,
> > > > struct fanout_args *args)
> > > > > >>err = -EINVAL;
> > > > > >>
> > > > > >>spin_lock(&po->bind_lock);
> > > > > >> - if (packet_sock_flag(po
> I realized another possible problem. We should consider adding ifindex
> Field to struct packet_fanout to be used for lookup of an existing match.
> There is little sense to bind sockets to different interfaces and then
> put them in the same fanout group.
> If you agree, I can prepare a separate
> Gur Stavi wrote:
> > > Gur Stavi wrote:
> > > > >> @@ -1846,21 +1846,21 @@ static int fanout_add(struct sock *sk,
> > > struct fanout_args *args)
> > > > >> err = -EINVAL;
> > > > >>
> > > > >> spin_lock(&po->bind_lock);
> > > > >> -if (packet_sock_flag(po, PACKET_SOCK_RUNNING) &&
>
Gur Stavi wrote:
> > Gur Stavi wrote:
> > > >> @@ -1846,21 +1846,21 @@ static int fanout_add(struct sock *sk,
> > struct fanout_args *args)
> > > >>err = -EINVAL;
> > > >>
> > > >>spin_lock(&po->bind_lock);
> > > >> - if (packet_sock_flag(po, PACKET_SOCK_RUNNING) &&
> > > >> -
> Gur Stavi wrote:
> > >> @@ -1846,21 +1846,21 @@ static int fanout_add(struct sock *sk,
> struct fanout_args *args)
> > >> err = -EINVAL;
> > >>
> > >> spin_lock(&po->bind_lock);
> > >> -if (packet_sock_flag(po, PACKET_SOCK_RUNNING) &&
> > >> -match->type == t
Gur Stavi wrote:
> >> @@ -1846,21 +1846,21 @@ static int fanout_add(struct sock *sk, struct
> >> fanout_args *args)
> >>err = -EINVAL;
> >>
> >>spin_lock(&po->bind_lock);
> >> - if (packet_sock_flag(po, PACKET_SOCK_RUNNING) &&
> >> - match->type == type &&
> >> + if (match->type ==
>> @@ -1846,21 +1846,21 @@ static int fanout_add(struct sock *sk, struct
>> fanout_args *args)
>> err = -EINVAL;
>>
>> spin_lock(&po->bind_lock);
>> -if (packet_sock_flag(po, PACKET_SOCK_RUNNING) &&
>> -match->type == type &&
>> +if (match->type == type &&
>> mat
Gur Stavi wrote:
> PACKET socket can retain its fanout membership through link down and up
> and leave a fanout while closed regardless of link state.
> However, socket was forbidden from joining a fanout while it was not
> RUNNING.
>
> This patch allows PACKET socket to join fanout while not RUNN
16 matches
Mail list logo