The pfSense Store

Author Topic: One bug I would pay $50 to fix!!!  (Read 5298 times)

0 Members and 1 Guest are viewing this topic.

Offline GoldServe

  • Full Member
  • ***
  • Posts: 256
  • Karma: +0/-0
    • View Profile
One bug I would pay $50 to fix!!!
« on: November 03, 2011, 09:29:34 am »
On pfsense 2.0 release, it has been noted many times in the forum before but I can't seem to clone a different mac address on the interfaces for my cable modem. When I put in a new mac address and hit apply, the interface will come up, go down, come up, go down.

If someone can find out the reason and fix it, I'd be happy to pay them.

Thanks for reading!

Offline jimp

  • Administrator
  • Hero Member
  • *****
  • Posts: 14976
  • Karma: +4/-0
    • View Profile
Re: One bug I would pay $50 to fix!!!
« Reply #1 on: November 03, 2011, 10:01:14 am »
FYI- The related redmine ticket:
http://redmine.pfsense.org/issues/1572
Need help fast? Commercial Support!

Co-Author of pfSense: The Definitive Guide. - Check the Doc Wiki for FAQs.

Do not PM for help!

Offline GoldServe

  • Full Member
  • ***
  • Posts: 256
  • Karma: +0/-0
    • View Profile
Re: One bug I would pay $50 to fix!!!
« Reply #2 on: November 03, 2011, 10:03:50 am »
I did see that ticket but there seems to be no progress in fixing this very important feature. Any insight in where the problem lies would be helpful. Thanks.

Offline Cino

  • Hero Member
  • *****
  • Posts: 1051
  • Karma: +0/-0
    • View Profile
Re: One bug I would pay $50 to fix!!!
« Reply #3 on: November 03, 2011, 11:22:33 am »
Did you read the ticket?

From Chris Buechler:
Quote
this has never worked in any 8.x base versions, it's a problem in FreeBSD 8.x. It's intermittent, I ran that way for 2 years and only hit it twice. It's something we'll report upstream later if it hasn't already been fixed in 9, that's why this is here.

I can't speak for the dev team but my guess is to wait until pfSense 2.1 comes out using FreeBSD 9.x and hopefully FreeBSD fixed the issue or have a patch that can be applied.


Offline GoldServe

  • Full Member
  • ***
  • Posts: 256
  • Karma: +0/-0
    • View Profile
Re: One bug I would pay $50 to fix!!!
« Reply #4 on: November 03, 2011, 11:24:36 am »
I checked Freebsd bug reports and saw nothing related to this. I would think this feature is pretty important. I am not pinning my hope on this being fixed on 9.0 so i'm trying to raise awareness and maybe some motivation for fixing this...

Offline jimp

  • Administrator
  • Hero Member
  • *****
  • Posts: 14976
  • Karma: +4/-0
    • View Profile
Re: One bug I would pay $50 to fix!!!
« Reply #5 on: November 03, 2011, 11:26:08 am »
You should try to replicate it with DHCP+spoofed mac on a stock FreeBSD 8.x box. If it's broken there, file a FreeBSD PR. Raising awareness here of a FreeBSD bug, while interesting, won't really accomplish anything with getting it fixed in FreeBSD.
Need help fast? Commercial Support!

Co-Author of pfSense: The Definitive Guide. - Check the Doc Wiki for FAQs.

Do not PM for help!

Offline GoldServe

  • Full Member
  • ***
  • Posts: 256
  • Karma: +0/-0
    • View Profile
Re: One bug I would pay $50 to fix!!!
« Reply #6 on: November 03, 2011, 11:30:22 am »
The really weird this is that in Pfsense, I will remove the spoofed mac address and hit apply, but when you check in the shell using ifconfig, the spoofed mac address still persists. The link is all stable at this time with no flapping up and down. Of course this method won't survive a reboot though. I've looked at the pfsense interfaces.inc code and i can't find anything wrong with that is is doing but that's just me.

On a related note, is it possible to put the spoof mac in a file like rc.conf using ifconfig_em0 = "ether xx:xx:xx:xx:xx:xx" or something similar using loader.conf.local?

Offline jimp

  • Administrator
  • Hero Member
  • *****
  • Posts: 14976
  • Karma: +4/-0
    • View Profile
Re: One bug I would pay $50 to fix!!!
« Reply #7 on: November 03, 2011, 11:40:32 am »
pfSense does not retain the NIC's original MAC address when it's spoofed, so only a reboot will get that back.

You can spoof a mac on freebsd using rc.conf, I don't recall the exact syntax (been a while since I had to do it) but it's possible, it's one of the ifconfig_* commands you can run.
Need help fast? Commercial Support!

Co-Author of pfSense: The Definitive Guide. - Check the Doc Wiki for FAQs.

Do not PM for help!

Offline GoldServe

  • Full Member
  • ***
  • Posts: 256
  • Karma: +0/-0
    • View Profile
Re: One bug I would pay $50 to fix!!!
« Reply #8 on: November 03, 2011, 12:39:51 pm »
My point is that pfsense is able to spoof the mac and have everything work but when that spoofed mac is entered into the interfaces config, the system will take down the interface continuously. Does this mean it has something to do with pfsense or the way it is spoofing the mac? I'm tempted to change the command from

ifconfig <interface> link <mac> to ifconfig <interface> ether <mac>

or even take down the interface manually before mac change and bring it back up after mac change.

BTW, I don't see rc.conf in /etc so can I make one and freebsd will read this file to process?

Offline jimp

  • Administrator
  • Hero Member
  • *****
  • Posts: 14976
  • Karma: +4/-0
    • View Profile
Re: One bug I would pay $50 to fix!!!
« Reply #9 on: November 03, 2011, 12:44:36 pm »
If you have a real FreeBSD install, /etc/rc.conf would be there. It is ignored on pfSense, which would not generally be considered a valid "FreeBSD" platform when it comes to submitting FreeBSD PRs, since we customize things quite a lot.

Trying ether instead of link would be a good test.
Need help fast? Commercial Support!

Co-Author of pfSense: The Definitive Guide. - Check the Doc Wiki for FAQs.

Do not PM for help!

Offline GoldServe

  • Full Member
  • ***
  • Posts: 256
  • Karma: +0/-0
    • View Profile
Re: One bug I would pay $50 to fix!!!
« Reply #10 on: November 08, 2011, 11:04:44 am »
Please close this bounty now. As a work around, I installed shellcmd package and put the following commands in order to set the mac address during boot. The downside is I have to reboot but i don't change macs that often.

Code: [Select]
ifconfig em1 down earlyshellcmd
ifconfig em1 ether xx:xx:xx:xx:xx:xx earlyshellcmd
ifconfig em1 up earlyshellcmd

Offline jimp

  • Administrator
  • Hero Member
  • *****
  • Posts: 14976
  • Karma: +4/-0
    • View Profile
Re: One bug I would pay $50 to fix!!!
« Reply #11 on: November 08, 2011, 11:25:31 am »
I have a sneaky suspicion I see what's going on here now, or at least a theory to test.

Need help fast? Commercial Support!

Co-Author of pfSense: The Definitive Guide. - Check the Doc Wiki for FAQs.

Do not PM for help!

Offline jimp

  • Administrator
  • Hero Member
  • *****
  • Posts: 14976
  • Karma: +4/-0
    • View Profile
Re: One bug I would pay $50 to fix!!!
« Reply #12 on: November 08, 2011, 11:57:50 am »
Try this instead, at line 2595 of /etc/inc/filter.inc:

Remove this:
Code: [Select]
if ($wancfg['spoofmac']) {
And replace it with this:
Code: [Select]
$mac = get_interface_mac($realhwif);
if ($wancfg['spoofmac'] && ($wancfg['spoofmac'] != $mac)) {
Need help fast? Commercial Support!

Co-Author of pfSense: The Definitive Guide. - Check the Doc Wiki for FAQs.

Do not PM for help!

Offline Kamel

  • Newbie
  • *
  • Posts: 18
  • Karma: +0/-0
    • View Profile
Re: One bug I would pay $50 to fix!!!
« Reply #13 on: November 27, 2011, 10:31:46 pm »
I'm not sure if this is of any help to you guys, but I use mac address cloning and haven't yet had any issues with it *shrugs*