Index: /exodus/models.py
===================================================================
--- /exodus/models.py	(revision 6256)
+++ /exodus/models.py	(revision 6257)
@@ -46,4 +46,5 @@
 
 
+#XXX: Name Domain perhaps?
 class DnsServer(models.Model):
 	ipaddress = models.IPAddressField( unique=True)	
@@ -79,5 +80,6 @@
 	iface = models.CharField(max_length=10, verbose_name="interface")
 	ip = models.IPAddressField()
-	polar = models.CharField(max_length=10, choices=POLAR_CHOICES)
+	netmask = models.IntegerField(default=30)
+	polar = models.CharField(blank=True, max_length=10, choices=POLAR_CHOICES)
 	ssid = models.CharField(max_length=30, blank=True, null=True)
 	mode = models.CharField(max_length=10, choices=WIFI_MODE_CHOICES)
@@ -85,7 +87,7 @@
 	antenna = models.ForeignKey(Antenna, blank=True, null=True)
 	type = models.CharField(max_length=10, choices=INTERFACE_TYPE_CHOICES)
-	shortdesc = models.CharField(max_length=10)
-	desc = models.CharField(max_length=100)
-	link = models.ForeignKey('self')
+	shortdesc = models.CharField(blank=True, max_length=10)
+	desc = models.CharField(blank=True, max_length=100)
+	link = models.ForeignKey('self', blank=True, null=True)
 	
 	def __str__(self):
Index: /exodus/templates/dhcpd.conf
===================================================================
--- /exodus/templates/dhcpd.conf	(revision 6256)
+++ /exodus/templates/dhcpd.conf	(revision 6257)
@@ -17,5 +17,7 @@
 option domain-name-servers {{ object.masterip }};
 
-{% for nic in object.nic.all %} 
+{{object.interface.all}}
+
+{% for nic in object.interface_set.all %}
 	{% for omni in nic.omni.all %}
 # {{ omni.desc }}
@@ -26,7 +28,5 @@
 	option subnet-mask {{ omni.netmask|subnet }};
 } {% endfor %}
-	{% for link in nic.link1.all %}
-# {{ link.desc }}
-subnet {% network link.ip1 link.netmask %} netmask {{ link.netmask|subnet }} { not authoritative; }
-	{% endfor %}
+# {{ nic.desc }}
+subnet {% network nic.ip nic.netmask %} netmask {{ nic.netmask|subnet }} { not authoritative; }
 {% endfor %}
Index: /exodus/templates/node-detail.html
===================================================================
--- /exodus/templates/node-detail.html	(revision 6256)
+++ /exodus/templates/node-detail.html	(revision 6257)
@@ -11,10 +11,10 @@
 
 Master ip: {{ object.masterip }} <br>
-<a href="{% url exodus.views.addnode %}">EDIT</a>
+<a href="{% url exodus.views.addNode %}">EDIT</a>
 </div>
 
 <h2>Interfaces</h2>
 
-{% for nic in object.nic_set.all %}
+{% for nic in object.interface_set.all %}
 	<p>
 	<h3>iface: {{ nic.iface }} </h3>
@@ -22,7 +22,6 @@
 	type: {{ nic.type }} <br>
 	description: {{ nic.shortdesc }} <br>
-	ID: {{ nic.id }} <br>
 	
-	{% if nic.ssid %}
+	{% ifnotequal nic.type "eth" %}
 		SSID: {{ nic.ssid }} <br>
 		Channel: {{ nic.channel }} <br>
@@ -30,27 +29,18 @@
 		Polar: {{ nic.polar }} <br>	
 		Mode: {{ nic.mode }} <br>
-	{% endif %}
+	{% endifnotequal %}
 
-	{% for interlink in nic.link1.all %}
+	{% for interlink in nic.link.interface_set.all %}
+		{% ifnotequal interlink nic %}
 		<ul>
-		<li>Interlink 1 FOR DEBUG PURPOSES</li>
+		<li>Interlink FOR DEBUG PURPOSES</li>
 		<li>Link Name: {{ interlink }}</li>
-		<li>Short description: {{ interlink.shortdesc1 }} </li>
-		<li>Long description: {{ interlink.desc1 }} </li> 
-		<li>IP: {{ interlink.ip1 }}/{{ interlink.netmask }} </li>
-		<li>Link to Node: <a href=../../{{ interlink.iface2.node }}/node/>
-			{{ interlink.iface2.node }}</a> </li>
+		<li>Short description: {{ interlink.shortdesc }} </li>
+		<li>Long description: {{ interlink.desc }} </li> 
+		<li>IP: {{ interlink.ip }}/{{ interlink.netmask }} </li>
+		<li> Link to Node: <a href=../../{{ interlink.node }}/node/>
+			{{ interlink.node }}</a> </li>
 		</ul>
-	{% endfor %}
-	{% for interlink in nic.link2.all %}
-		<ul>
-		<li>Interlink 2 FOR DEBUG PURPOSES</li>
-		<li>Link Name: {{ interlink }}</li>
-		<li>Short description: {{ interlink.shortdesc2 }} </li>
-		<li>Long description: {{ interlink.desc2 }} </li> 
-		<li>IP: {{ interlink.ip2 }}/{{ interlink.netmask }} </li>
-		<li> Link to Node: <a href=../../{{ interlink.iface1.node }}/node/>
-			{{ interlink.iface1.node }}</a> </li>
-		</ul>
+		{% endifnotequal %}
 	{% endfor %}
 	
Index: /exodus/templates/rc-node-local.txt
===================================================================
--- /exodus/templates/rc-node-local.txt	(revision 6256)
+++ /exodus/templates/rc-node-local.txt	(revision 6257)
@@ -18,3 +18,6 @@
 /usr/sbin/wicontrol -i {{ nic.iface }} -f {{ nic.channel }} # Channel
 {% endif %}
+
+ifconfig {{nic.iface}} {{nic.ip}}/{{nic.netmask}}
 {% endfor %}
+
Index: /exodus/templates/resolv.conf
===================================================================
--- /exodus/templates/resolv.conf	(revision 6256)
+++ /exodus/templates/resolv.conf	(revision 6257)
@@ -10,9 +10,10 @@
 nameserver 127.0.0.1 #localhost
 {% spaceless %}
-{% for nic in object.nic_set.all %}
-	{% for interlink in nic.link1.all %}
-nameserver {{ interlink.ip2 }} # {{ interlink.iface2.node }} {% endfor %}
-	{% for interlink in nic.link2.all %}
-nameserver {{ interlink.ip1 }} # {{ interlink.iface1.node }} {% endfor %}
+{% for interface in object.interface_set.all %}
+	{% for interlink in interface.interface_set.all %}
+		{% ifnotequal interlink interface %}
+nameserver {{ interlink.ip }} # {{ interlink.node }}
+		{% endifnotequal %} 
+	{% endfor %} 
 {% endfor %}
 {% endspaceless %}
Index: /exodus/templatetags/network.py
===================================================================
--- /exodus/templatetags/network.py	(revision 6256)
+++ /exodus/templatetags/network.py	(revision 6257)
@@ -37,6 +37,5 @@
     return BroadcastNode(address, subnet)
 
-@register.filte
-
+@register.filter
 def subnet(value):
 	return wllogic.getSubnet(value)
Index: /exodus/views.py
===================================================================
--- /exodus/views.py	(revision 6256)
+++ /exodus/views.py	(revision 6257)
@@ -1,7 +1,10 @@
 # (c) Roland van Laar 2006
 
+from django.db import models
 from django.http import HttpResponse, HttpResponseRedirect
 from django.template import loader, Context 
 from django.shortcuts import render_to_response
+from django.core.urlresolvers import reverse
+from django.forms.formsets import formset_factory
 from django import forms
 from socket import gethostname 
@@ -19,5 +22,5 @@
 		if form.is_valid():
 			form.save()
-			return HttpResponseRedirect("/addnode/")
+			return HttpResponseRedirect(reverse('exodus.views.addNode'))
 	else:
 		form = AddLocationForm()
@@ -45,4 +48,9 @@
 			form = AddNodeForm(instance=node)
 		except Node.DoesNotExist:
+#			newForm = Node(location=Location(pk=1))
+#			form = AddNodeForm(instance = newForm)
+#			Also possible
+#			AddNodeFormSet = formset_factory(AddNodeForm,extra=0)
+#			formset = AddNodeFormSet(initial=[{'location' : '1'}])
 			form = AddNodeForm()
 	return render_to_response('addnode.html', {'form': form })
@@ -74,9 +82,14 @@
 				instance.ssid = newSSIDName(instance.node, instance.iface, 'unused')
 				instance.channel = '1'
-				instance.mode = Mode(pk=1) # set to master
-			instance.save()
-			return HttpResponseRedirect("/exodus/")
-	else:
-		form = addInterfaceForm()
+				instance.mode = 1 # set to master
+			instance.save()
+			if instance.link == None:
+				instance.link = instance
+				instance.save()
+			return HttpResponseRedirect("/exodus/")
+	else:
+		#XXX: Link, master interfaces only
+		newForm = Interface(shortdesc='boe')
+		form = addInterfaceForm(instance = newForm)
 	return render_to_response('addnic.html', {'form': form })
 
@@ -166,5 +179,5 @@
 	object.name = Node.objects.get(pk=object_id).name
 	object.host = gethostname()
-	object.nic = object.nic_set.all()
+#	object.nic = object.nic_set.all()
 	
 	#Used for named.conf
@@ -223,5 +236,5 @@
 	object_id = nodename_to_id(object_id)
 	
-	object = Node.objects.get(pk=object_id).nic_set.all()
+	object = Node.objects.get(pk=object_id).interface_set.all()
 	object.name = Node.objects.get(pk=object_id).name
 	object.host = gethostname()
@@ -233,28 +246,4 @@
 	return HttpResponse(t.render(c), mimetype='text/plain')
 
-def conf_rc_node_localorig(request, object_id):
-	"""rc.node.local conf generator"""
-		
-	object_id = nodename_to_id(object_id)
-	
-	object = Node.objects.get(pk=object_id).nic_set.all()
-	object.name = Node.objects.get(pk=object_id).name
-	object.host = gethostname()
-
-	# check if it is a wireless nic, and add wifimode for wicontrol  
-	for nic in object:
-		if nic.ssid:
-			if nic.mode.mode == 'master':
-				nic.wifimode = 6
-				nic.wifidesc = 'master mode'
-			else:
-				nic.wifimode = 1
-				nic.wifidesc = 'managed mode'
-
-	print "boek"
-	t = loader.get_template('rc-node-local.txt')
-	c = Context({'object': object, 
-		})
-	return HttpResponse(t.render(c), mimetype='text/plain')
 
 def conf_resolv_conf(request, object_id):
Index: /exodus/wllogic.py
===================================================================
--- /exodus/wllogic.py	(revision 6256)
+++ /exodus/wllogic.py	(revision 6257)
@@ -9,5 +9,5 @@
 	# instead of object nic.
 
-	return "%s-%s.%s.%s" % (desc, nic, node.name, node.network.domainname)
+	return "%s-%s.%s.%s" % (desc, nic, node.name, node.network.name)
 
 #
