Make iproute.py work on 3.4 kernels too.

- Unrecognized attributes cause EINVAL.
- Interface names have to be null-terminated.

Change-Id: I6d032f534754465e01042a0c7bbb27ee4fbc2fa3
diff --git a/net/test/iproute.py b/net/test/iproute.py
index 9468ff0..10fa732 100644
--- a/net/test/iproute.py
+++ b/net/test/iproute.py
@@ -322,7 +322,7 @@
     return self._Rule(version, is_add, table, nlattr, priority)
 
   def OifRule(self, version, is_add, oif, table, priority=16383):
-    nlattr = self._NlAttr(FRA_OIFNAME, oif)
+    nlattr = self._NlAttr(FRA_OIFNAME, oif + "\x00")
     return self._Rule(version, is_add, table, nlattr, priority)
 
   def UidRangeRule(self, version, is_add, start, end, table, priority=16383):
@@ -470,4 +470,4 @@
   iproute = IPRoute()
   iproute.DEBUG = True
   iproute.DumpRules(6)
-  print iproute.GetRoutes("2001:4860:4860::8888", 0, 0, 0)
+  print iproute.GetRoutes("2001:4860:4860::8888", 0, 0, None)
diff --git a/net/test/mark_test.py b/net/test/mark_test.py
index b2cb96c..46acfb0 100755
--- a/net/test/mark_test.py
+++ b/net/test/mark_test.py
@@ -57,7 +57,10 @@
 def HaveUidRouting():
   # Create a rule with the UID range selector. If the kernel doesn't understand
   # the selector, it will create a rule with no selectors.
-  iproute.IPRoute().UidRangeRule(6, True, 1000, 2000, 100)
+  try:
+    iproute.IPRoute().UidRangeRule(6, True, 1000, 2000, 100)
+  except IOError:
+    return False
 
   # Dump all the rules. If we find a rule using the UID range selector, then the
   # kernel supports UID range routing.