[ovs-dev] [PATCH] vtep: add "Arp_sources" tables

Bruce Davie bdavie at nicira.com
Mon Nov 25 16:19:50 UTC 2013


Add two new tables to the VTEP schema in support of distributed L3.
Each table contains MAC addresses to be used by VTEPs (both hardware
and software) when issuing ARP requests on behalf of a logical router.

Signed-off-by: Bruce Davie <bdavie at vmware.com>
---
 vtep/vtep.ovsschema | 18 ++++++++++++++++--
 vtep/vtep.xml       | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 68 insertions(+), 2 deletions(-)

diff --git a/vtep/vtep.ovsschema b/vtep/vtep.ovsschema
index 017183a..4a25f2f 100644
--- a/vtep/vtep.ovsschema
+++ b/vtep/vtep.ovsschema
@@ -1,6 +1,6 @@
 {
   "name": "hardware_vtep",
-  "cksum": "1365749839 5604",
+  "cksum": "3096797177 6063",
   "tables": {
     "Global": {
       "columns": {
@@ -121,6 +121,20 @@
 	  	   "min": 0, "max": "unlimited"}}},
       "isRoot": true,
       "indexes": [["name"]]},
+    "Arp_Sources_Local": {
+      "columns": {
+        "src_mac": {"type": "string"},
+      "locator": {
+        "type": {"key": {"type": "uuid",
+                         "refTable": "Physical_Locator"}}}},
+      "isRoot": true},
+    "Arp_Sources_Remote": {
+      "columns": {
+        "src_mac": {"type": "string"},
+      "locator": {
+        "type": {"key": {"type": "uuid",
+                         "refTable": "Physical_Locator"}}}},
+      "isRoot": true},
     "Physical_Locator_Set": {
       "columns": {
         "locators": {
@@ -162,4 +176,4 @@
           "ephemeral": true}},
       "indexes": [["target"]],
       "isRoot": false}},
-  "version": "1.1.0"}
+  "version": "1.2.0"}
diff --git a/vtep/vtep.xml b/vtep/vtep.xml
index db8d408..dd0d64b 100644
--- a/vtep/vtep.xml
+++ b/vtep/vtep.xml
@@ -632,6 +632,58 @@
     </group>
   </table>
 
+  <table name="Arp_Sources_Local" title="ARP source addresses for logical routers">
+    <p>
+      MAC address to be used when a VTEP issues ARP requests on behalf
+      of a logical router.
+    </p>
+
+    <p>
+      A distributed logical router is implemented by a set of of VTEPs
+      (both hardware VTEPs and vswitches). In order for a given VTEP
+      to populate the local ARP cache for a logical router, it issues
+      ARP requests with a source MAC address that is unique to the VTEP. A
+      single per-VTEP MAC can be re-used across all logical
+      networks. This table contains the MACs that are used by the
+      VTEPs of a given HSC. The table provides the mapping from MAC to
+      physical locator for each VTEP so that replies to the ARP
+      requests can be sent back to the correct VTEP using the
+      appropriate physical locator.
+    </p>
+
+    <column name="src_mac">
+      The source MAC to be used by a given VTEP.
+    </column>
+
+    <column name="locator">
+      The <ref table="Physical_Locator"/> to use for replies to ARP
+      requests from this MAC address.
+    </column>
+  </table>
+
+  <table name="Arp_Sources_Remote" title="ARP source addresses for logical routers">
+    <p>
+      MAC address to be used when a remote VTEP issues ARP requests on behalf
+      of a logical router.
+    </p>
+
+    <p>
+      This table is the remote counterpart of <ref
+      table="Arp_sources_local"/>. The NVC writes this table to notify
+      the HSC of the MACs that will be used by remote VTEPs when they
+      issue ARP requests on behalf of a distributed logical router. 
+    </p>
+
+    <column name="src_mac">
+      The source MAC to be used by a given VTEP.
+    </column>
+
+    <column name="locator">
+      The <ref table="Physical_Locator"/> to use for replies to ARP
+      requests from this MAC address.
+    </column>
+  </table>
+
   <table name="Physical_Locator_Set">
     <p>
       A set of one or more <ref table="Physical_Locator"/>s.
-- 
1.8.0.2




More information about the dev mailing list