> -----Original Message-----
> From: Patrick McHardy [mailto:[EMAIL PROTECTED]
> Sent: den 21 oktober 2007 19:51
> To: Joakim Tjernlund
> Cc: [email protected]
> Subject: Re: how to set pppoe source mac address?
>
> Joakim Tjernlund wrote:
> > I have several pppoe i/f's over one eth i/f and I want to set the
> > source mac address used by each pppoe i/f to a unique mac
> address from
> > user space.
> >
> > Is this possible? If so, how do I do that?
>
>
> Try the macvlan driver.
>
Thanks, but I can't see that it will help.
I am looking for something like this that I currently have added
to pppoe_ioctl() in pppoe.c:
case PPPOEIOCSSRCMAC:
{
struct relay_source_mac smac;
err = -EBUSY;
if (sk->sk_state & (PPPOX_BOUND|PPPOX_ZOMBIE|PPPOX_DEAD))
break;
err = -ENOTCONN;
if (!(sk->sk_state & PPPOX_CONNECTED))
break;
err = -EFAULT;
if (copy_from_user(&smac, (void *) arg, sizeof(smac)))
break;
memcpy(po->srcmac, smac.srcmac, ETH_ALEN);
err = 0;
break;
}
then changed the call to hard_header in __pppoe_xmit() to
dev->hard_header(skb, dev, ETH_P_PPP_SES,
po->pppoe_pa.remote,
po->srcmac, data_len);
Would a new ioctl(PPPOEIOCSSRCMAC) to pppoe be acceptable?
Jocke
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html