Skip to content

Commit

Permalink
[PATCH] fix for ISDN ippp filtering
Browse files Browse the repository at this point in the history
We do not longer use DLT_LINUX_SLL for activ/pass filters but
DLT_PPP_WITHDIRECTION witch need 1 as outbound flag. 

Signed-off-by: Karsten Keil <kkeil@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Karsten Keil authored and Linus Torvalds committed Apr 21, 2005
1 parent 3a6fd75 commit d8470b7
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions drivers/isdn/i4l/isdn_ppp.c
Original file line number Diff line number Diff line change
Expand Up @@ -1151,7 +1151,7 @@ isdn_ppp_push_higher(isdn_net_dev * net_dev, isdn_net_local * lp, struct sk_buff
{
u_int16_t *p = (u_int16_t *) skb->data;

*p = 0; /* indicate inbound in DLT_LINUX_SLL */
*p = 0; /* indicate inbound */
}

if (is->pass_filter
Expand Down Expand Up @@ -1293,12 +1293,12 @@ isdn_ppp_xmit(struct sk_buff *skb, struct net_device *netdev)
/* check if we should pass this packet
* the filter instructions are constructed assuming
* a four-byte PPP header on each packet */
skb_push(skb, 4);
*skb_push(skb, 4) = 1; /* indicate outbound */

{
u_int16_t *p = (u_int16_t *) skb->data;

*p++ = htons(4); /* indicate outbound in DLT_LINUX_SLL */
p++;
*p = htons(proto);
}

Expand Down Expand Up @@ -1491,12 +1491,12 @@ int isdn_ppp_autodial_filter(struct sk_buff *skb, isdn_net_local *lp)
* temporarily remove part of the fake header stuck on
* earlier.
*/
skb_pull(skb, IPPP_MAX_HEADER - 4);
*skb_pull(skb, IPPP_MAX_HEADER - 4) = 1; /* indicate outbound */

{
u_int16_t *p = (u_int16_t *) skb->data;

*p++ = htons(4); /* indicate outbound in DLT_LINUX_SLL */
p++;
*p = htons(proto);
}

Expand Down

0 comments on commit d8470b7

Please sign in to comment.