Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Jun 1999 13:21:09 +1000 (EST)
From:      Bruce Campbell <bc-freebsd@vicious.dropbear.id.au>
To:        freebsd-mobile@FreeBSD.ORG
Cc:        John Sconiers <jrs@enteract.com>
Subject:   Re: Two Locations
Message-ID:  <Pine.UW2.4.10.9906161750380.28700-200000@julubu.staff.apnic.net>
In-Reply-To: <Pine.BSF.4.05.9906100900580.15262-100000@adam.enteract.com>

next in thread | previous in thread | raw e-mail | index | archive | help
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

---559023410-1841205112-929676069=:16861
Content-Type: TEXT/PLAIN; charset=US-ASCII

On Thu, 10 Jun 1999, John Sconiers wrote:

jrs> Has anyone created a script to change ip# information in between two
jrs> locations.

The overall thing is that you need to change the 'ifconfig' and
'defaultrouter' variables which pccard_ether uses.  Once you've done that,
the existing pccard_ether code will do it for you.

I've got a perl script running inside pccard_ether which looks for a
crontab-style set of entries in /etc/rc.conf , and returns some nicities.

pccard_ether needs to be changed to import the variables (eg 'ifconfig')
for the current time:

-- /etc/pccard_ether

	# Suck in the various overrides.
	if [ -f /etc/rc.conf ]; then
		. /etc/rc.conf
	fi

	# Suck in overrides for the current time/location
	if [ -x /etc/pccard_timevals.pl ] ; then
		eval `/etc/pccard_timevals.pl`
	fi
--

pccard_timevals.pl (attached) returns a series of environment variables
which can be eval'd as above (eg, 'ifconfig=DHCP' for work hours,
'ifconfig=inet ...' for home times) and works through having a set of
defines in /etc/rc.conf (being the easiest place to put them):

-- /etc/rc.conf

	# Find the '_times' variable for each of the locations listed here.
	# First match found wins.
	lpccard_locations="apnic humbug1 humbug2 home"

	# crontab format does not express events over midnight very well :(
	lpccard_humbug1_times="* 15-24 * * Sat"
	lpccard_humbug2_times="* 0-5 * * Sun"
	lpccard_apnic_times="* 9-18 * * Mon-Fri"
	lpccard_home_times="* * * * *"

	# These numbers are not the real ones. (obviously)
	lpccard_humbug1_ifconfig="inet 192.168.1.x netmask 255.255.255.0"
	lpccard_humbug2_ifconfig="inet 192.168.1.x netmask 255.255.255.0"
	lpccard_apnic_ifconfig="DHCP"
	lpccard_home_ifconfig="inet 192.168.2.x netmask 255.255.255.0"

	lpccard_humbug1_defaultrouter="192.168.1.1"
	lpccard_humbug2_defaultrouter="192.168.1.1"
	# DHCP sets the default router and etc, unset it here.
	lpccard_apnic_defaultrouter=""
	# home is on a different network, 2.254 is gf's linux box with
	# masquarading options.
	lpccard_home_defaultrouter="192.168.2.254"
--

I've also got defines for 'nameserver', 'secondary', 'search' and
'hostname' for future changes to my pccard_ether to change the nameserver
config file (via an include 'named.pccard' in named.conf),
/etc/resolv.conf and the local hostname.

Another thing which I had thought about, is the definition of a 'ping'
variable which defines a host ip (ie, the router) which should be there
for that location, merely as a double check for the correct location.
Currently, by the above setup, if I leave work early, and plug the machine
into the home network, it will think (by the current time) that I am still
at work and attempt to obtain its address via DHCP.  TANSTAFFL.

All of the above works in testing, however, not (currently) in practice as
my wee little 3c589d is still inconsistent about its behaviour.  (suspend,
resume, no free configuration, suspend, resume, ok-its there now, feh)

Hopefully all of the above helps you somewhat, and anyone who doesn't like
my perl hackery is welcome to send me a better version ;)

--==--
Bruce.

---559023410-1841205112-929676069=:16861
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="pccard_timevals.pl"
Content-ID: <Pine.UW2.4.10.9906181321090.16861@julubu.staff.apnic.net>
Content-Description: 
Content-Disposition: attachment; filename="pccard_timevals.pl"
Content-Transfer-Encoding: BASE64

IyEvdXNyL2Jpbi9wZXJsDQoNCiMgQnJ1Y2UgQ2FtcGJlbGwgPGJjLWZyZWVi
c2RAdmljaW91cy5kcm9wYmVhci5pZC5hdT4gMTk5OQ0KDQojIFNvbWUgRGVm
aW5lcy4NCm15ICRpbnB1dGZpbGUgPSAiL2V0Yy9yYy5jb25mIjsNCm15ICRw
cmVmaXhtYXRjaCA9ICJscGNjYXJkXyI7DQoNCiMgUGFyc2UgYSBjcm9udGFi
LWZvcm1hdCBtZWV0aW5nIHRoZSBmb2xsb3dpbmcgc3BlYzoNCg0KIyBUaGUg
bHBjY2FyZF9sb2NhdGlvbl90aW1lcyBhdHRyaWJ1dGUgaXMgYSBjcm9udGFi
LXN0eWxlIHNwZWNmaWNhdGlvbg0KIyB3aXRoICJtaW51dGUgaG91ciBkYXlv
Zm1vbnRoIG1vbnRoIGRheW9md2VlayINCiMgUmFuZ2VzIGFyZSBhbGxvd2Vk
LCBpbmNsdXNpdmUsIGFuZCB5b3UgY2FuIGRvIHNvbWUgcmF0aGVyIHNpbGx5
IHRoaW5nczoNCiMgIjE1LTM1IDktMTcgKiAqIE1vbi1GcmkiIGlzIE1vbmRh
eSB0byBGcmlkYXksIDk6MTUtOTozNSwgMTA6MTUtMTA6MzUgLi4uDQojIDE3
OjE1LTE3OjM1DQoNCm15ICVwY2NhcmRkZWZzID0iIjsNCg0Kb3BlbiggSU5G
SUxFLCAiJGlucHV0ZmlsZSIgKSB8fCBkaWUgIiMgVW5hYmxlIHRvIG9wZW4g
JGlucHV0ZmlsZSI7DQojIFJlYWQgaW4gdGhlIGZpbGUuDQp3aGlsZSAoIG15
ICRsaW5lID0gPElORklMRT4gKXsNCg0KCSMgS2VlcCBnb2luZyB1bmxlc3Mg
aXRzIGEgbG9uZSB3ZSB3YW50LgkNCgluZXh0IHVubGVzcyggJGxpbmUgPX4g
L14kcHJlZml4bWF0Y2gvICk7DQoNCgkjIEh1bmdyeS4JDQoJY2hvbXAgJGxp
bmU7DQoNCgkjIFNwbGl0IGl0IHVwIGludG8gdGhlIHNwZWNpZmljYXRpb24g
YW5kIHRoZSBhc3NpZ25tZW50Lg0KCSMgRG93bnNpZGUsIGRvbid0IHVzZSBh
biAnPScgc2lnbi4NCglteSBAdHNwbGl0ID0gc3BsaXQoICc9JywgJGxpbmUg
KTsNCg0KCSMgU3RyaXAgb3V0IHRoZSBwcmVmaXguDQoJJHRzcGxpdFswXSA9
fiBzL14kcHJlZml4bWF0Y2gvL2c7DQoNCgkjIFN0cmlwIG91dCB0aGUgcXVv
dGVzLCB0aGV5IG9ubHkgZ2V0IGluIHRoZSB3YXkgYXQgdGhpcyBwb2ludC4N
CgkkdHNwbGl0WzFdID1+IHMvIi8vZzsJDQoNCgkjIFB1dCBpdCBpbnRvIHRo
ZSBhcnJheS4NCgkkcGNjYXJkZGVmc3siJHRzcGxpdFswXSJ9ID0gJHRzcGxp
dFsxXTsNCn0NCmNsb3NlKElORklMRSk7DQoNCiMgTm93LCBsZXRzIGRvIHNv
bWV0aGluZyBhYm91dCB0aGUgaXRlbXMgdGhhdCB3ZSd2ZSByZWFkIGluLg0K
DQojIEZpbmQgdGhlICdsb2NhdGlvbnMnLg0KbXkgQGxvY2F0aW9ucyA9IHNw
bGl0KCAnICcsICRwY2NhcmRkZWZzeyJsb2NhdGlvbnMifSApOw0KDQojIEht
bW0sICQjIHJldHVybnMgdGhlIG51bWJlciBvZiB0aGUgbGFzdCBlbGVtZW50
LCBhbmQgY291bnRpbmcgc3RhcnRzIGF0IDAuDQpkaWUgIiMgTm8gbG9jYXRp
b25zIHNwZWNpZmllZCAtIHNwZWNpZnkgJHByZWZpeG1hdGNoIiAuICJsb2Nh
dGlvbnMgaW4gJGlucHV0ZmlsZSIgdW5sZXNzKCAoJCNsb2NhdGlvbnMgKyAx
KSA+IDApOw0KDQojIFdoYXRzIHRoZSBjdXJyZW50IHRpbWUsIGFuZCBpbiBh
IGNyb250YWIgZm9ybWF0IGFzIHdlbGwuDQpteSBAY3QgPSBsb2NhbHRpbWUo
dGltZSk7DQpteSBAY3VydGltZT0oJGN0WzFdLCAkY3RbMl0sICRjdFszXSwg
JGN0WzRdLCAkY3RbNV0pOw0KDQojIExvb3AgdGhyb3VnaCB1bnRpbCB3ZSBm
aW5kIGEgbWF0Y2ggYmFzZWQgb24gdGltZS4NCm15ICRsb2Nsb29wID0gMDsN
Cm15ICR0aGlzb25lID0gMDsNCndoaWxlKCAkbG9jbG9vcCA8PSAkI2xvY2F0
aW9ucyAmJiAkdGhpc29uZSA9PSAwICl7DQoJIyBscGNjYXJkX2hvbWVfdGlt
ZXM9IiogMTgtNyAqICogKiINCglteSBAbHRpbWVzID0gc3BsaXQoICcgJywg
JHBjY2FyZGRlZnN7IiRsb2NhdGlvbnNbJGxvY2xvb3BdIiAuICJfdGltZXMi
fSApOw0KDQoJIyBQcmV0ZW5kIHRoYXQgaXRzIHRoaXMgb25lLCB3ZSBib21i
IG91dCBpZiBpdHMgbm90Lg0KCSR0aGlzb25lPTE7DQoNCglkaWUgIiMgTm8g
dGltZXMgc3BlY2lmaWVkIGZvciAkbG9jYXRpb25zWyRsb2Nsb29wXSBvciBp
cyBnYXJibGVkLiAgJCNsdGltZXMiIHVubGVzcyggKCQjbHRpbWVzICsgMSkg
PT0gNSApOw0KDQoJIyAwIGlzIG1pbiwgMSBpcyBociwgMiBpcyBkYXkgb2Yg
bW9udGgsIDMgaXMgbW9udGgsIDQgaXMgZGF5IG9mIHdlZWsNCg0KCSMgU2Vl
IGlmIHRoaXMgdGltZSBtYXRjaGVzIHRoZSBjdXJyZW50IHRpbWUuDQoJbXkg
JHRsb29wID0gMDsNCgl3aGlsZSggJHRsb29wIDwgNSApew0KCQkjIElmIGl0
cyBhIHRleHQgcmFuZ2UsIGxldHMgaGF2ZSB0aGUgbnVtYmVycy4NCgkJJGx0
aW1lc1skdGxvb3BdID0gJm5hbWVfdG9fbnVtYmVyKCAkbHRpbWVzWyR0bG9v
cF0gKTsNCgkNCgkJIyBJZiBpdHMgZ290IGEgJyonIGluIGl0LCB3ZSBsZWF2
ZSBpdCBhbG9uZSwJDQoJCWlmKCAkbHRpbWVzWyR0bG9vcF0gIX4gL15cKiQv
ICl7DQoJCQkjIG90aGVyd2lzZSwgd2UgbmVlZCB0byBjaGVjayBmdXJ0aGVy
Lg0KDQoJCQkjIFdlJ3JlIHNpbXBsaXN0aWMsIHJhbmdlcyBvbmx5IHN1cHBv
cnRlZCwgbm90ICcvJw0KCQkJbXkgQHJhbmdlID0gc3BsaXQoICctJywgJGx0
aW1lc1skdGxvb3BdICk7DQoNCgkJCSMgV29haCwgd2hhdCBpZiBpdHMgYSBs
b25lIG51bWJlcj8NCgkJCWlmKCAkbHRpbWVzWyR0bG9vcF0gIX4gLy0vICl7
DQoJCQkJIyBTaW1wbGUsIHdlIHByZXRlbmQgdGhhdCBpdHMgYSByYW5nZS4N
CgkJCQkkcmFuZ2VbMV0gPSAkcmFuZ2VbMF07DQoJCQl9DQoNCgkJCSMgSWYg
aXRzIG91dHNpZGUgdGhlIHJhbmdlLCB3ZSBkb24ndCB3YW50IHRvIGtub3cu
DQoJCQlpZiggJGN1cnRpbWVbJHRsb29wXSA8ICRyYW5nZVswXSB8fCAkY3Vy
dGltZVskdGxvb3BdID4gJHJhbmdlWzFdICl7IA0KCQkJCSMgSXRzIG91dHNp
ZGUgdGhlIHJhbmdlLiAgQnllIGJ5ZS4NCgkJCQkkdGhpc29uZSA9IDA7DQoJ
CQl9DQoJCX0NCgkJIyBLZWVwIHdhbGtpbmcgdGhyb3VnaCB0aGUgc3BlY2lm
aWNhdGlvbi4NCgkJJHRsb29wKys7DQoJfSAjIGVuZCBvZiB3aGlsZSggJHRs
b29wICkNCg0KCSMgSXMgaXQgdGhpcyBvbmU/DQoJaWYoICEgJHRoaXNvbmUg
KXsNCgkJIyBXZSBmYWlsZWQgYSB0ZXN0LiAgSW5jcmVtZW50IHRoZSBjb3Vu
dGVyLg0KCQkkbG9jbG9vcCsrOw0KCQkjIFdlIGRvbid0IGluY3JlbWVudCB0
aGUgY291bnRlciBpZiB3ZSBwYXNzZWQgYWxsIHRpbWVzLg0KCX0NCn0gIyBl
bmQgb2Ygd2hpbGUoICRsb2Nsb29wIDwgJCNsb2NhdGlvbnMgJiYgJHRoaXNv
bmUgPT0gMCApew0KDQojIFdlIGhhdmUgYSB3aW5uZXI/DQppZiggJHRoaXNv
bmUgKXsNCgkjIFllcywgJGxvY2xvb3Agc3BlY2lmaWVzIHRoZSBtYXRjaC4N
CgkjIEhvdyBzaGFsbCB3ZSBvdXRwdXQgdGhlIHJlc3VsdHM/DQoJbXkgQG91
dG9yZGVyID0gKCJmcmVldGV4dCIsDQoJCQkiaWZjb25maWciLCANCgkJCSJk
ZWZhdWx0cm91dGVyIiwgDQoJCQkic2VhcmNoIiwgDQoJCQkibmFtZXNlcnZl
ciIsDQoJCQkiaG9zdG5hbWUiLA0KCQkJInNlY29uZGFyeSIsDQoJCQkicGlu
ZyIpOw0KDQoJIyBMZXRzIGxvb3AgdGhyb3VnaCB0aGUgcmVzdWx0cy4NCglt
eSAkb3V0bG9vcCA9IDA7DQoJd2hpbGUoICRvdXRvcmRlclskb3V0bG9vcF0g
KXsNCgkJIyBib3JrYSBibHVya2EgLSBwcmludCBvdXQgdGhlIHZhcmlhYmxl
cyBpZiB0aGV5IGV4aXN0Lg0KCQkjIFlpY2suICBEZWZpbmUgYSB2YXJpYWJs
ZSBiZWNhdXNlIHRoZSBjb25zdHJ1Y3QgYmVsb3cgcmVla3MNCgkJIyBvZiBj
b250cml2ZWRuZXNzLiAgTm90ZSB0aGUgJ18nIGJlaW5nIHRoZSBzZXBlcmF0
b3IuDQoJCW15ICR0dmFsID0gJHBjY2FyZGRlZnN7IiRsb2NhdGlvbnNbJGxv
Y2xvb3BdIiAuICJfIiAuICIkb3V0b3JkZXJbJG91dGxvb3BdIn07DQoNCgkJ
IyBXZSBoYXZlIHNvbWV0aGluZz8NCgkJaWYoICR0dmFsICF+IC9eXHMqJC8g
KXsNCg0KCQkJIyBZZXMsIHByaW50IGl0Lg0KCQkJcHJpbnQgIiRvdXRvcmRl
clskb3V0bG9vcF09XCIkdHZhbFwiXG4iOw0KCQl9DQoNCgkJIyBJbmNyZW1l
bnQgdGhlIGNvdW50ZXIuDQoJCSRvdXRsb29wKys7DQoJfQ0KfQ0KDQpzdWIg
bmFtZV90b19udW1iZXIgKCkNCgl7DQoJbXkgQHRzcGxpdCA9IHNwbGl0KCAn
LScsIHNoaWZ0ICk7DQoNCglteSAlY29udiA9ICggDQoJCSJzdW4iLCAiMCIs
DQoJCSJtb24iLCAiMSIsDQoJCSJ0dWUiLCAiMiIsDQoJCSJ3ZWQiLCAiMyIs
DQoJCSJ0aHUiLCAiNCIsDQoJCSJmcmkiLCAiNSIsDQoJCSJzYXQiLCAiNiIs
DQoJCSJqYW4iLCAiMSIsDQoJCSJmZWIiLCAiMiIsDQoJCSJtYXIiLCAiMyIs
DQoJCSJhcHIiLCAiNCIsDQoJCSJtYXkiLCAiNSIsDQoJCSJqdW4iLCAiNiIs
DQoJCSJqdWwiLCAiNyIsDQoJCSJhdWciLCAiOCIsDQoJCSJzZXAiLCAiOSIs
DQoJCSJvY3QiLCAiMTAiLA0KCQkibm92IiwgIjExIiwNCgkJImRlYyIsICIx
MiIgKTsNCg0KCW15ICR0bG9vcCA9IDA7DQoNCgl3aGlsZSggJHRzcGxpdFsk
dGxvb3BdICl7DQoJCSR0c3BsaXRbJHRsb29wXSA9fiB0ci9bQS1aXS9bYS16
XS87DQoJCSR0c3BsaXRbJHRsb29wXSA9fiBzL14oW2Etel17MSwzfSkuKiQv
XDEvZzsNCgkJaWYoICRjb252eyIkdHNwbGl0WyR0bG9vcF0ifSAhfiAvXlxz
KiQvICl7DQoJCQkkdHNwbGl0WyR0bG9vcF0gPSAkY29udnsiJHRzcGxpdFsk
dGxvb3BdIn07DQoJCX0NCgkJJHRsb29wKys7DQoJfQ0KCW15ICRyZXR2YWw9
am9pbiggJy0nLCBAdHNwbGl0ICk7DQoJcmV0dXJuKCAkcmV0dmFsICk7DQp9
DQoNCg==
---559023410-1841205112-929676069=:16861--


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-mobile" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.UW2.4.10.9906161750380.28700-200000>