Added MTU information to sw_interface_dump 38/338/5
authorPavel <pavel.kotucek@pantheon.tech>
Wed, 17 Feb 2016 14:10:04 +0000 (15:10 +0100)
committerPavel Kotucek <pavel.kotucek@pantheon.tech>
Mon, 22 Feb 2016 08:45:02 +0000 (09:45 +0100)
Change-Id: Ie69837fd6903b715cb7b840b67c869a9b12c84a7
Signed-off-by: Pavel <pavel.kotucek@pantheon.tech>
vpp-api-test/vat/api_format.c
vpp-japi/japi/org/openvpp/vppjapi/vppInterfaceDetails.java
vpp-japi/japi/vppjni.c
vpp-japi/japi/vppjni.h
vpp/api/api.c
vpp/api/vpe.api

index a1a023b..0c0a65e 100644 (file)
@@ -587,6 +587,7 @@ static void vl_api_sw_interface_details_t_handler_json
     vat_json_object_add_uint(node, "link_up_down", mp->link_up_down);
     vat_json_object_add_uint(node, "link_duplex", mp->link_duplex);
     vat_json_object_add_uint(node, "link_speed", mp->link_speed);
+    vat_json_object_add_uint(node, "mtu", ntohs(mp->link_mtu));
     vat_json_object_add_uint(node, "sub_id", ntohl(mp->sub_id));
     vat_json_object_add_uint(node, "sub_dot1ad", mp->sub_dot1ad);
     vat_json_object_add_uint(node, "sub_number_of_tags", mp->sub_number_of_tags);
index b2edae0..742dd25 100644 (file)
@@ -38,11 +38,12 @@ public final class vppInterfaceDetails {
     public final int vtrPushDot1q;
     public final int vtrTag1;
     public final int vtrTag2;
+    public final int linkMtu;
 
     public vppInterfaceDetails(int ifIndex, String interfaceName, int supIfIndex, byte[] physAddr, byte adminUp,
             byte linkUp, byte linkDuplex, byte linkSpeed, int subId, byte subDot1ad, byte subNumberOfTags,
             int subOuterVlanId, int subInnerVlanId, byte subExactMatch, byte subDefault, byte subOuterVlanIdAny,
-            byte subInnerVlanIdAny, int vtrOp, int vtrPushDot1q, int vtrTag1, int vtrTag2)
+            byte subInnerVlanIdAny, int vtrOp, int vtrPushDot1q, int vtrTag1, int vtrTag2, int linkMtu)
     {
         this.ifIndex = ifIndex;
         this.interfaceName = interfaceName;
@@ -65,5 +66,6 @@ public final class vppInterfaceDetails {
         this.vtrPushDot1q = vtrPushDot1q;
         this.vtrTag1 = vtrTag1;
         this.vtrTag2 = vtrTag2;
+        this.linkMtu = linkMtu;
     }
 }
index f7c297f..54846bc 100644 (file)
@@ -76,7 +76,7 @@ BIND_JAPI_BYTE_FIELD(vppBridgeDomainInterfaceDetails, splitHorizonGroup);
 BIND_JAPI_STRING_FIELD(vppBridgeDomainInterfaceDetails, interfaceName);
 
 BIND_JAPI_CLASS(vppInterfaceCounters, "(JJJJJJJJJJJJJJJJJJJJJJ)V");
-BIND_JAPI_CLASS(vppInterfaceDetails, "(ILjava/lang/String;I[BBBBBIBBIIBBBBIIII)V");
+BIND_JAPI_CLASS(vppInterfaceDetails, "(ILjava/lang/String;I[BBBBBIBBIIBBBBIIIII)V");
 BIND_JAPI_CLASS(vppIPv4Address, "(IB)V");
 BIND_JAPI_CLASS(vppIPv6Address, "([BB)V");
 BIND_JAPI_CLASS(vppL2Fib, "([BZLjava/lang/String;ZZ)V");
@@ -694,6 +694,7 @@ static jobjectArray sw_if_dump_get_interfaces (JNIEnv * env)
         jint vtrPushDot1q = sw_if_details->vtr_push_dot1q;
         jint vtrTag1 = sw_if_details->vtr_tag1;
         jint vtrTag2 = sw_if_details->vtr_tag2;
+        jint linkMtu = sw_if_details->link_mtu;
 
         jbyte adminUpDown = sw_if_details->admin_up_down;
         jbyte linkUpDown = sw_if_details->link_up_down;
@@ -712,7 +713,7 @@ static jobjectArray sw_if_dump_get_interfaces (JNIEnv * env)
                 linkDuplex, linkSpeed, subId, subDot1ad,
                 subNumberOfTags, subOuterVlanId, subInnerVlanId,
                 subExactMatch, subDefault, subOuterVlanIdAny,
-                subInnerVlanIdAny, vtrOp, vtrPushDot1q, vtrTag1, vtrTag2);
+                subInnerVlanIdAny, vtrOp, vtrPushDot1q, vtrTag1, vtrTag2, linkMtu);
         (*env)->SetObjectArrayElement(env, ifArray, i, ifObj);
     }
 
index 847bbe9..bd0683a 100644 (file)
@@ -40,6 +40,7 @@ typedef struct {
     u8 link_up_down;
     u8 link_duplex;
     u8 link_speed;
+    u16 link_mtu;
     u32 sub_id;
     u8 sub_dot1ad;
     u8 sub_number_of_tags;
index e30240c..f51fa0a 100644 (file)
@@ -2374,6 +2374,7 @@ static void send_sw_interface_details (vpe_api_main_t * am,
                       VNET_HW_INTERFACE_FLAG_DUPLEX_SHIFT);
     mp->link_speed = ((hi->flags & VNET_HW_INTERFACE_FLAG_SPEED_MASK) >>
                      VNET_HW_INTERFACE_FLAG_SPEED_SHIFT);
+    mp->link_mtu = ntohs(hi->max_packet_bytes);
 
     strncpy ((char *) mp->interface_name, 
              (char *) interface_name, ARRAY_LEN(mp->interface_name)-1);
index 05ba556..2af4f50 100644 (file)
@@ -51,6 +51,7 @@ define want_interface_events_reply {
     @param interface_name - name of the interface
     @param link_duplex - 1 if half duplex, 2 if full duplex
     @param link_speed - 1 = 10M, 2 = 100M, 4 = 1G, 8 = 10G, 16 = 40G, 32 = 100G
+    @param link_MTU - max. transmittion unit 
     @param sub_if_id - A number 0-N to uniquely identify this subif on super if
     @param sub_dot1ad -  0 = dot1q, 1=dot1ad
     @param sub_number_of_tags - Number of tags (0 - 2)
@@ -88,6 +89,9 @@ manual_java define sw_interface_details {
 
     /* 1 = 10M, 2 = 100M, 4 = 1G, 8 = 10G, 16 = 40G, 32 = 100G */
     u8 link_speed;
+    
+    /* MTU */
+    u16 link_mtu;
 
     /* Subinterface ID. A number 0-N to uniquely identify this subinterface under the super interface*/
     u32 sub_id;