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);
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;
this.vtrPushDot1q = vtrPushDot1q;
this.vtrTag1 = vtrTag1;
this.vtrTag2 = vtrTag2;
+ this.linkMtu = linkMtu;
}
}
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");
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;
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);
}
u8 link_up_down;
u8 link_duplex;
u8 link_speed;
+ u16 link_mtu;
u32 sub_id;
u8 sub_dot1ad;
u8 sub_number_of_tags;
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);
@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)
/* 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;