Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

R4.1 #101

Open
wants to merge 130 commits into
base: master
Choose a base branch
from
Open

R4.1 #101

wants to merge 130 commits into from

Commits on Sep 25, 2017

  1. Adding R4.1 branch to CI Closes-Bug: 1719246

    Change-Id: I12ffeccc1dec08705ac16a6a5bd1f998920b9b46
    vmahuli committed Sep 25, 2017
    Configuration menu
    Copy the full SHA
    ed7d4d0 View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2017

  1. Performance issue in 4.0.1 dpdk based vrouter

    Partial-bug: #1696209
    DPDK 17.02 has changed the RTE_LOG api. Need to use RTE_LOG_DP to
    avoid compilation of the log funciton.
    
    Change-Id: I674154764a4fa3529f28d383f334b83c71f7040a
    Jeya ganesh babu J committed Sep 26, 2017
    Configuration menu
    Copy the full SHA
    e3f567b View commit details
    Browse the repository at this point in the history

Commits on Oct 10, 2017

  1. Dont pass function name to Macro

    To convert the hash table entry to fragment entry, hash table API's like
    vr_find_free_hentry() are directly passed to Fragment Macro
    VR_FRAGMENT_FROM_HENTRY(). As the function address gets passed to the
    macro, function gets invoked twice leading issues like fragment never
    getting added to fragment table
    
    As a fix, the hash table API's return value is stored and that is
    passed to fragment Macro
    
    Change-Id: I9350551f6bc3a6b28eaf8acea8df2d2ec42c3eae
    closes-bug: #1721251
    divakardhar committed Oct 10, 2017
    Configuration menu
    Copy the full SHA
    dfaa19e View commit details
    Browse the repository at this point in the history

Commits on Oct 17, 2017

  1. flow setup rate perf improvement

    Partial-bug: #1724326
    Used tcpnodelay option for the tcp socket between
    agent and dpdk vrouter to avoid inconsistent delays.
    This was causing huge variation in hold entries.
    
    Change-Id: Ide2bcfaa28c992e31129a25b444028efce2f3c15
    Jeya ganesh babu J committed Oct 17, 2017
    Configuration menu
    Copy the full SHA
    dfbafb2 View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2017

  1. Subject the Vhost packets to flow processing if policy enabled on Vhost

    If ACL's are configured on Vhost interface, the packets need to be
    subjected to flow processing. These packets would be un-tunneled
    packets. The Vhost route in VRF 0 points to L3 Receive Nh. This NH can
    not be marked with policy bit as we do not want to create Flows for
    outer IP fields of Tunneled packets which also get processed by L3
    receive NH. Also if Policy on Vhost is disabled and if L3 receive NH is
    enabled with Relaxed policy, packets have to be flow processed  for
    link local processing. For this reason, policy bit on Receive NH's
    outgoing interface is verified to decide whether to invoke flow processing
    for packets
    
    Change-Id: I86b8ea2ecdf1460bb0d3599675d84ad46dfcf1e8
    closes-bug: #1711045
    divakardhar committed Oct 20, 2017
    Configuration menu
    Copy the full SHA
    91f7255 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    92a799f View commit details
    Browse the repository at this point in the history

Commits on Nov 2, 2017

  1. RPF check for Vxlan Packets

    For Vxlan tunneled packets that are received on Fabric interface RPF
    callback was missing, leading to no RPF validation of the vxlan packets.
    
    Due to Tor Evpn support, Tors can be in Ecmp, which is a composite Ecmp
    nexthop in Vrouter. When the first packet corressponding to unique 5 tuple is
    received on Fabric (rather from VM) from one of the Ecmp sources of Ecmp
    composite nexthop, the component nexthop is pinned to the source, only if
    RPF callback exists. Lack of this RPF callback was making the Ecmp go
    wrong
    
    As a fix, Vxlan RPF call back is provided
    
    Change-Id: If53a0bc76398cfc8c176a3a94a0aede8b26262b4
    closes-bug: #1724681
    divakardhar committed Nov 2, 2017
    Configuration menu
    Copy the full SHA
    b703397 View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2017

  1. Update the flow drop reason list in flow utility

    Change-Id: I2135446723dddf526babf1f033dd1492e22e9cf3
    closes-bug: #1729818
    haripk committed Nov 7, 2017
    Configuration menu
    Copy the full SHA
    ecd1b01 View commit details
    Browse the repository at this point in the history

Commits on Nov 9, 2017

  1. Huge pages support in Vrouter kernel module

    Vrouter currently allocates contiguous memory for Flow and Bridge
    tables and this forces the module to be inserted into kernel at the
    boot up time as huge memory is likely to be presetnt at the boot of the
    sytem. This requirement is taken out with the huge pages support.
    
    Provisioning:
    If the huge page support is intended in the system, provisioning of the
    compute node takes care of enabling the required number of huge pages in
    the system. After enabling the huge pages successfully, the hugetable
    file system is mounted at a specific location and creates the required
    files (2 files as of now - vrouter_mem1 and vrouter_mem2). The location
    of these files is made avaialble to Agent.
    
    Agent changes:
    Agent looks for the huge files at the specific path provided by
    provisioning (through agent configuration file) and mmap()s the 1G size
    of data. If succeeds, Agent shares this virtual memory address with
    Vrouter kernel module through netlink socket. If the huge files do not
    exist, or if the mmap fails, still it communicates the failure of this
    to Vrouter kernel module. This messaging is done in blockig way, so that
    no other configuration is added to Vrouter till this is communicated.
    Along with 1G pages, Agent attempts to allocate same number of 2Mb
    pages, which Vrouter internally uses. Even these page addresses are sent
    to Vrouter kernel module using same sandesh message
    
    Vrouter changes:
    1) The module_init routine is changed in such a way that, the modules like
       fib and flow which require huge contiguous amount of memory do not
       allocate any memory in their init routines.
    
    2) A new call back "mem" is introduced which allocates the required
       memory and is invoked after succesfully initialising the hugepages
       when Agent communicates it.
    
    3) The modules like interface etc are initialised as usual so that
       addition of fabric and Vhost interfaces are created normally and
       pushed to cross connect mode till the other configuration is
       available
    
    4) When Agent communicates the virtual memory address, Vrouter pins
       these pages using get_user_pages(). The "mem" callback is invoked
       which allocates the memory either from huge pages or using regular
       btable. The memory required to hold this huge page in terms of 4Kb
       pages, is another huge page of size 2Mb. This 2Mb huge memory is also
       sent by Agent. If no such huge page of size 2Mb is sent by Agent,
       Vroter allocates the memory using regular malloc.
    
    5) As the momeory allocate from the huge pages is intended for the
       entire life time of Vrouter module free() routinues are not provided
       for these memory segments. These pages are freed from the system when
       the module is removed from the kernel.
    
    6) If agent restarts, memeory is not reinitilised again and proper
       return codes are shared with Agent
    
    Change-Id: I942ed42463d7a0aba7bf857df7c62d9c95b83056
    closes-bug: #1728925
    divakardhar committed Nov 9, 2017
    Configuration menu
    Copy the full SHA
    ef0f526 View commit details
    Browse the repository at this point in the history

Commits on Nov 10, 2017

  1. Do not return error if setting MTU fails on the ethdev

    Fortville NICs do not allow setting the MTU while the NIC is running.
    
    Change-Id: I4280715db2f3085041aa7bb5796665a65409effd
    Closes-Bug: 1729742
    srajag committed Nov 10, 2017
    Configuration menu
    Copy the full SHA
    7884d50 View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2017

  1. Configuration menu
    Copy the full SHA
    7fc26af View commit details
    Browse the repository at this point in the history

Commits on Nov 14, 2017

  1. Disable flow processing for metadata subnet on Vhost0

    Currently the healthcheck is broken if policy is enabled on Vhost
    interface. Health check packets are destined to metadata IPs. The
    metadata routes point to VMI's in Vhost VRF. Regular VM's routes are
    present in VN's VRF. If VM is detected unreachable, HC withdraws routes
    in VRF corresponding to VM, but metadata Routes are not withdrawn. HC
    packets should be routed using these metadata routes, if routes are
    withdrawn. If Vhost has policy enabled, flow processing happens earlier
    than route look up and destination metadata IP's are Nated to VM's IP.
    These Nated IP's would be looked up in VN's VRF which results in drop
    nexthop as routes are withdrawn.
    
    The solutino is not to Nat the packet till the route lookup is complete
    for these metadata IP's if the policy is enabled. The required flow
    processing would be completed if the nexthop is marked Policy enabled.
    
    Change-Id: I144c36faf39b062026316a067e912eed5a2fa792
    closes-bug: #1724945
    divakardhar committed Nov 14, 2017
    Configuration menu
    Copy the full SHA
    29edfac View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4e96a15 View commit details
    Browse the repository at this point in the history

Commits on Nov 16, 2017

  1. Calculate Ecmp component NH for non-IP packets

    Currently the Ecmp component NH is calculated for IP/IP6 packets only as
    Ecmp has been supported for only for L3 packets. With the support of L2 Ecmp, the
    component NH needs to be chosen even for L2 packets. As there is no Flow
    available for L2 packets, the hash is calculated on Ether dst, src and
    VRF
    
    Change-Id: I61085c729da9633630088604c1a6b8db5897bba8
    closes-bug: #1732285
    divakardhar committed Nov 16, 2017
    Configuration menu
    Copy the full SHA
    d9000c1 View commit details
    Browse the repository at this point in the history
  2. Dont mirror Vlan tag in Vmware environment

    Currently, if there is a sub interface created with a Vlan Tag on any
    parent interface and if mirroring is enabled on subinterface, the Vlan
    Tag of the subinterface is also carried in the mirrored packet. Incase
    of Vmware compute, all the VMIs are configred in Vrouter as
    subinterfaces with Pvlan. And if the mirroring is enabled on these
    VMI's, as the VMI's are subinterfaces, even these vlans are carried in
    the mirroring. But the expectation is not to carry these Vlan tags as
    these Vlan tags are Contrail specific and not seen by the user.
    
    As a fix, there is a new VIF flag introduced "VIF_FLAG_MIRROR_NOTAG"
    which is set by Agent on Vxmware VMI's only. If these flags is seen on
    VIF, Vrouter discards the  Vlan Tag before mirroring the packets
    
    Change-Id: I9bd8c33c735159937f4b325a6ee67540f4f15f39
    closes-bug: #1711459
    divakardhar committed Nov 16, 2017
    Configuration menu
    Copy the full SHA
    bd69b17 View commit details
    Browse the repository at this point in the history

Commits on Nov 20, 2017

  1. Sandesh change for multicast VRF in interface req

    This is sandesh change for using different multicast VRF in terface req for VN with provider network
    
    Change-Id: I0c0310232b5e44eec780ad54d552e6750d42b9a6
    partial-bug: #1728545
    divakardhar committed Nov 20, 2017
    Configuration menu
    Copy the full SHA
    2bcb418 View commit details
    Browse the repository at this point in the history
  2. User different VRF for multicast packets of VN with Provider network

    Currently if a VN is configured with Provider network, the VRF of the
    VMI's belonging to that VN are seen as Fabric VRF in Vrouter. But the
    Multicast/Broadcast tree is built in the VRF corresponding to VN. When
    BUM traffic is received on such VMI, traffic needs to be replicated as
    per the mutlicast tree of VN's VRF rather on Fabric VRF. To achieve
    this, the VN's VRF is added to VMI as different VRF and the bridge
    lookup is done for this traffic in this new VRF.
    
    Change-Id: I38721e27cebe80c7f4d14937588ba5b6c180b112
    closes-bug: #1728545
    divakardhar committed Nov 20, 2017
    Configuration menu
    Copy the full SHA
    4c904a5 View commit details
    Browse the repository at this point in the history

Commits on Nov 21, 2017

  1. Clear sender_cpu of skb before transmit

    With the introduction of Xps (Xmit packet steering), the sender_cpu
    needs to be cleared before dev_queue_transmit(). Not doing this results
    in accessing netdev's xps map at a wrong location resulting in a
    crash. Clearing this makes the hard xmit calculate the sener_cpu
    
    Change-Id: Ifb0757ffdaa3e27b15261a9944281d9224afa8f0
    closes-bug: #1733431
    divakardhar committed Nov 21, 2017
    Configuration menu
    Copy the full SHA
    d383e85 View commit details
    Browse the repository at this point in the history

Commits on Nov 22, 2017

  1. Configuration menu
    Copy the full SHA
    ff48329 View commit details
    Browse the repository at this point in the history
  2. Remove Ecmp checks in ARP processing

    When L2 Ecmp is not in place, packets to/from Ecmp source are forced to
    L3 packets by replying ARP requests using Vrouter's and Vhost's MAc.
    This is no longer required once we have L2 Ecmp in place.
    
    So all ARP processing which specially deals with Ecmp source side is not
    reqired any more. This processing is removed from the current ARP
    handling
    
    Change-Id: I484da69b3c173891b915fb86b81c2e57d711b18a
    closes-bug: #1733811
    divakardhar committed Nov 22, 2017
    Configuration menu
    Copy the full SHA
    ac9ebb8 View commit details
    Browse the repository at this point in the history

Commits on Nov 27, 2017

  1. Start Eviction even if the FIN/FIN-ACK packets are dropped

    Incase of TCP a session to VRRP address, if VRRP mastership changes,
    flow's RPF nexthop changes as RPF nexthop needs to start pointing to new
    Master. But the TCP other end might send a FIN/FIN-ACK to old VRRP
    master with the intention of tearing down the session. Due to RPF
    failure these packets get dropped. Before dropping the packets itself
    Flow getis marked with the required flags. Incase of last FIN-Ack packet
    being dropped, the Flow gets marked as Dead but eviction does not get
    kicked-off as eviction is not invoked for a packet that is dropped. Due
    to this, the flow never gets evicted and Agent also might not delete
    this flow as part of Aging, if these flows are for BGPaaS. To fix this,
    eviction is kicked-off, if the Flow is marked Dead and even if the
    packet is dropped.
    
    Change-Id: Ib4a527477403f40bc3016c7ea58813f168a81e02
    closes-bug: #1733608
    divakardhar committed Nov 27, 2017
    Configuration menu
    Copy the full SHA
    6b62181 View commit details
    Browse the repository at this point in the history

Commits on Nov 28, 2017

  1. Configuration menu
    Copy the full SHA
    760c15a View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2017

  1. rt: Add monitor option

    rt --monitor can be used to get route creations and deletions in
    live. They are broadcasted on Netlink by the vrouter kernel module.
    Only routes of type AF_INET and AF_INET6 are fully printed while
    routes of type AF_BRIDGE are not generated yet.
    
    The output format is 'jsonline' to be easily parsed by external
    tools.
    
    This is an example of the output:
    {"operation":"add","family":"AF_INET","vrf_id":2,"prefix":32,"address":"20.1.1.254","nh":12,"flags":{"label_valid":false, "arp_proxy":true, "arp_trap":true, "arp_flood":false}}
    
    Change-Id: I8cb8556f1c4adda0bb0ef10f98fc38702b2942c4
    Closes-bug: #1650316
    (cherry picked from commit 12b9b49)
    Antoine Eiche committed Dec 15, 2017
    Configuration menu
    Copy the full SHA
    677dbab View commit details
    Browse the repository at this point in the history

Commits on Feb 2, 2018

  1. Do not calculate fragment values for mirrored packets

    If fragmentes are being processed, fragment assembler maintains the
    statistics of framents in the fragment entry to decide when to delete
    the fragment. When mirroring is enabled, the mirrored packet gets
    processes earlier than real packet and these fragment calculations are
    invoked on the mirrored packet leading to fragment entry being deleted
    if the mirrored packet is the last fragment of the packet. Once the
    fragment entry is deleted and mirrored packet is out of system, the real
    packet gets processes and this packet will not have a matching fragment
    entry to do the flow processing resulting in packet being discarded.
    
    As a fix, the fragment calculations are invoked only when the real
    packets are processed rather for mirrored packets.
    
    Change-Id: I30b3092622f8c661c6bebaf5ccbff6c9621cc3dc
    closes-bug: #1739602
    (cherry picked from commit c9bf938)
    divakardhar authored and haripk committed Feb 2, 2018
    Configuration menu
    Copy the full SHA
    0dad531 View commit details
    Browse the repository at this point in the history

Commits on Feb 6, 2018

  1. Update vm port status with dpdk

    Closes-bug: #1734994
    Send netlink updates to agent for the VM's port in
    dpdk mode of operation when VM state changes.
    
    Change-Id: I9bc3cf8da01ed97ea2409ea2c16239447a867924
    Jeya ganesh babu J committed Feb 6, 2018
    Configuration menu
    Copy the full SHA
    be48b61 View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2018

  1. Resolve conflict of flags

    VIF_FLAG_GRO_NEEDED and VIF_FLAG_ETREE_ROOT flags were conflicting
    
    Change-Id: Iefa51d3561fc208690fef9b1e6942167a3d925a9
    Closes-Bug: 1748261
    kirankn80 committed Feb 8, 2018
    Configuration menu
    Copy the full SHA
    5d6ff72 View commit details
    Browse the repository at this point in the history

Commits on Feb 10, 2018

  1. Configuration menu
    Copy the full SHA
    37b1392 View commit details
    Browse the repository at this point in the history

Commits on Feb 15, 2018

  1. Modified the flow utility commands to directly read the hold entries …

    …from the vrouter,
    
    instead of reading each flow entries and counting hold entries based on its status.
    Now with this change flow -s and flow -r will directly read the hold entries from the vrouter.
    
    Change-Id: I2d873583ac9668d9bc38c2305d86f3256ab29d94
    Closes-Bug: 1738282
    bmadhu77 committed Feb 15, 2018
    Configuration menu
    Copy the full SHA
    de6f415 View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2018

  1. Merge "Modified the flow utility commands to directly read the hold e…

    …ntries from the vrouter, instead of reading each flow entries and counting hold entries based on its status. Now with this change flow -s and flow -r will directly read the hold entries from the vrouter." into R4.1
    Zuul authored and opencontrail-ci-admin committed Feb 19, 2018
    Configuration menu
    Copy the full SHA
    928797f View commit details
    Browse the repository at this point in the history

Commits on Feb 21, 2018

  1. Dpdk vrouter crash fix

    Closes-bug: #1750711
    When the dpdk vrouter tries to forward the traffic
    after the vif gets deleted, the vif data structure
    is access to update the statistics. This is causing
    the vrouter to crash. Fixed by removing the stats
    update after the vif is deleted.
    
    Change-Id: Id3dcf31a8cdf98d6a6cc92ff552963f490476c68
    Jeya ganesh babu J committed Feb 21, 2018
    Configuration menu
    Copy the full SHA
    290f381 View commit details
    Browse the repository at this point in the history
  2. DPDK: Fix for KNI crash in pkt_drop_stats()

    Make the vif argument as NULL in pkt_drop_stats() in KNI send_burst().
    There may be cases when vif is deleted after the packet is sent to KNI
    and when such packet hits this code, there may be a crash since the
    function tries to access the deleted vif.
    
    Change-Id: If180909a1b9828b97310329feebd32371e965c11
    Closes-Bug: 1714156
    (cherry picked from commit b41d869)
    kirankn80 authored and Jeya ganesh babu committed Feb 21, 2018
    Configuration menu
    Copy the full SHA
    f04f6f7 View commit details
    Browse the repository at this point in the history

Commits on Feb 22, 2018

  1. Fix dpdk crash

    Closes-bug: #1734994
    Fixed crash related to the port status update change.
    The reset status was called with an uninitialized variable.
    Moved the reset status to the correct place.
    
    Change-Id: I8bb2eb22a860429c02857597542f713705aafa20
    Jeya ganesh babu J committed Feb 22, 2018
    Configuration menu
    Copy the full SHA
    10488c8 View commit details
    Browse the repository at this point in the history
  2. Fix memory leak in the vrouter module

    When calling bridge_table_dump with a request containing a wrong MAC length, the dumper structure is not deallocated on the error case.
    Moving MAC size check before dumper initialization.
    
    Change-Id: I432819d7bcf729b4b17df280440547c3bf87a529
    Closes-Bug: #1736712
    (cherry picked from commit c15068f)
    abgzlnv committed Feb 22, 2018
    Configuration menu
    Copy the full SHA
    b8ea077 View commit details
    Browse the repository at this point in the history
  3. Merge "Fix dpdk crash" into R4.1

    Zuul authored and opencontrail-ci-admin committed Feb 22, 2018
    Configuration menu
    Copy the full SHA
    1a8fd92 View commit details
    Browse the repository at this point in the history
  4. Merge "Dpdk vrouter crash fix" into R4.1

    Zuul authored and opencontrail-ci-admin committed Feb 22, 2018
    Configuration menu
    Copy the full SHA
    0ef5287 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    554e426 View commit details
    Browse the repository at this point in the history

Commits on Mar 7, 2018

  1. Coverity reports bad comparison for the result of pkt_pull

    The result of pkt_pull is checked to be below 0 in case of error
    (in nh_l2_rcv and nh_handle_mcast_control_pkt).
    On the other hand, pkt_pull returns a pointer, which
    makes the comparison pointless.
    
    Change-Id: I1481a58a84f8872f05cf7bc4a045d1e41f6181d6
    Closes-Bug: #1739010
    (cherry picked from commit fe9d4ad)
    abgzlnv committed Mar 7, 2018
    Configuration menu
    Copy the full SHA
    a55f075 View commit details
    Browse the repository at this point in the history
  2. Several coverity issues in vrouter utilities

    vif.c:
    Initializing ret variable in vr_intf_op.
    
    udp_util.c:
    Using udp_free_client instead of udp_free, so that cl is freed as well.
    
    nl_util.c:
    Initializing attr in nl_dcb_parse_reply to DCB_ATTR_UNDEFINED.
    Using nl_free_client to also free cl in nl_register_client. Otherwise, fields are freed but not the structure itself.
    
    ini_parser.c:
    Closing file before returning from parse_ini_file if ini_data allocation fails.
    
    flow.c:
    In flow_set_ip, updating match_string only if token is not null and token_length is assigned to and makes sense.
    Initializing ret with 0 in flow_set_ip. It would be used uninitialized in the context of token being null.
    In flow_set_match, updating match_string only if token is not null and token_length is assigned to and makes sense.
    
    Change-Id: I04fbb636497f083099375c643d32a8997d0a4c0d
    Closes-Bug: #1736160
    (cherry picked from commit 5fa4855)
    abgzlnv committed Mar 7, 2018
    Configuration menu
    Copy the full SHA
    36e8bf1 View commit details
    Browse the repository at this point in the history
  3. Some dp-core fixes for coverity issues

    vr_qos.c:
    In vr_fc_map_get, control may reach the generate_response label with an uninitialized resp variable.
    Initializing resp to NULL.
    
    vr_route.c:
    In bridge_rtb_family_init, if algo_init fails, table is not deallocated.
    Freeing table on error case.
    
    vr_packet.h:
    fmd_queue field is not initialized (it doesnt't look used anywhere either).
    Removing fmd_queue from forwarding metadata structure
    
    Change-Id: Ife54d3ff95636535faa9f05ea03bb8eae7398231
    Closes-Bug: #1737141
    abgzlnv committed Mar 7, 2018
    Configuration menu
    Copy the full SHA
    8733582 View commit details
    Browse the repository at this point in the history

Commits on Mar 10, 2018

  1. Disable promiscuous mode on bond interface in DPDK vrouter.

    Change-Id: I8ef5d8a355b796d52d9f09a924432135ca912029
    Closes-bug: 1751362
    srajag committed Mar 10, 2018
    Configuration menu
    Copy the full SHA
    704278e View commit details
    Browse the repository at this point in the history

Commits on Mar 12, 2018

  1. Configuration menu
    Copy the full SHA
    6162179 View commit details
    Browse the repository at this point in the history

Commits on Mar 14, 2018

  1. Configuration menu
    Copy the full SHA
    ec22fb3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fd0e93f View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2018

  1. Making 3.13.0-142 as the default kernel for ubuntu 14.04

    Change-Id: I0d1a20adc9ec2afb7f102e8cbbe27d42f80d81ac
    partial-bug: #1742044
    haripk committed Mar 20, 2018
    Configuration menu
    Copy the full SHA
    208f745 View commit details
    Browse the repository at this point in the history

Commits on Mar 21, 2018

  1. Configuration menu
    Copy the full SHA
    218f027 View commit details
    Browse the repository at this point in the history

Commits on Mar 22, 2018

  1. Keeping the mirror metadata entry in Flow entry

    Currently mirror metadata is stored in index table using flow index
    as key. Before the Flow eviction, the addition and deletion of this meta
    data to Index table is always from Agent and hence no parallel
    manipulation of Index table. After eviction, the metadata deletion from
    index table can happen in parallel and hence leading to memory
    corruption/leak in index table manipulation.
    
    The right fix is making the index table SMP ready. As a stop gap fix,
    the mirror metada data pointer is stored in the flow entry itself
    directly.
    
    Conflicts:
    	include/vr_flow.h
    
    closes-bug: #1572397, #1744369
    Change-Id: I216d8b6c55025a6053b808fd2807338265b307e0
    (cherry picked from commit a437faa)
    divakardhar authored and haripk committed Mar 22, 2018
    Configuration menu
    Copy the full SHA
    505bafc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    16facd0 View commit details
    Browse the repository at this point in the history

Commits on Mar 26, 2018

  1. Configuration menu
    Copy the full SHA
    5505ca3 View commit details
    Browse the repository at this point in the history
  2. DPDK: Add new config parameters for tx/rx descriptors

    Some NICs like XL710 need more number of tx/rx descriptors. Hence make it configurable
    
    Change-Id: I395ef2d9c6d6ce87ad624e6097b1e77c97b27848
    Closes-Bug: 1744185
    kirankn80 committed Mar 26, 2018
    Configuration menu
    Copy the full SHA
    7bf9a30 View commit details
    Browse the repository at this point in the history

Commits on Apr 2, 2018

  1. DPDK: Add DPDK version to the log

    Add DPDK library version in the log
    
    Change-Id: I049ef94704b6d909bb2e1f6636416c1c123eb9c8
    Closes-Bug: 1760125
    kirankn80 committed Apr 2, 2018
    Configuration menu
    Copy the full SHA
    d4df00b View commit details
    Browse the repository at this point in the history

Commits on Apr 3, 2018

  1. Configuration menu
    Copy the full SHA
    de5054c View commit details
    Browse the repository at this point in the history
  2. Dpdk performance fix for redhat

    Partial-bug: #1748012
    Redhat doesnt support KNI and uses tap for the vhost interface
    The data path code seems to check for data in all the tap
    interface irrespective of whether its mgmt interface or data
    vlan interface. Fixed by adding check in the data path and
    fwd only for datapath traffic. Mgmt traffic will go through
    a slower tapdev loop.
    
    Change-Id: Id1ef38592f3319d1894bf981d0cc4c418cfd676f
    Jeya ganesh babu J committed Apr 3, 2018
    Configuration menu
    Copy the full SHA
    59a2c58 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8c86774 View commit details
    Browse the repository at this point in the history

Commits on Apr 4, 2018

  1. Fix build for kernels >= 4.9

    - skb_sender_cpu_clear has been removed in kernel 4.6 [1] and is no longer
      required since 4.5 [2].
    
    - get_user_page signature has changed in 4.6 [3] and in 4.9 [4]. Since I
      don't have a 4.6 kernel for testing, I didn't add code to support it.
    
    - The macro page_cache_release has been finally removed [5].
    
    [1] torvalds/linux@64d4e34
    [2] torvalds/linux@52bd2d6
    [3] torvalds/linux@c12d2da
    [4] torvalds/linux@768ae30
    [5] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=09cbfeaf1a5a67bfb3201e0c83c810cecb2efa5a
    
    Change-Id: I569ca66145204f6e71a1083412bf2cb4caab818d
    Partial-Bug: #1633387
    (cherry picked from commit a0d6eb0)
    Antoine Eiche authored and michalskalski committed Apr 4, 2018
    Configuration menu
    Copy the full SHA
    1dacc5c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    480fc3c View commit details
    Browse the repository at this point in the history

Commits on Apr 6, 2018

  1. Configuration menu
    Copy the full SHA
    1da5c7d View commit details
    Browse the repository at this point in the history

Commits on Apr 18, 2018

  1. Fix vrouter build for kernels from 4.11 to 4.13

    - linux/vhost_dev.c:
      Rename netdev destructor to priv_destructor due to API change.
      New signature of rtnl_link_ops.validate due to API change.
    - linux/vr_mem.c
      Remove vma from mem_fault function since VMA pointer now accessable
      via VMF structure.
    
    Change-Id: I9ffc103e5e69649d2a691c7a378cfd12b2363320
    Partial-Bug: #1633387
    (cherry picked from commit 60c9031)
    Sergey Matov authored and haripk committed Apr 18, 2018
    Configuration menu
    Copy the full SHA
    1f45fb3 View commit details
    Browse the repository at this point in the history

Commits on Apr 19, 2018

  1. Vrouter module load issue

    Closes-bug: #1764940
    Issue because of some of the linux kernel
    not having all the patches related to the retpoline
    fixes. The RETPOLINE define needs to be enabled
    in the Makefile based on the CONFIG_RETPOLINE.
    
    Change-Id: I8026dcc16f7056329618e2721e932557d0349386
    Jeya ganesh babu J committed Apr 19, 2018
    Configuration menu
    Copy the full SHA
    06e029e View commit details
    Browse the repository at this point in the history

Commits on Apr 20, 2018

  1. Configuration menu
    Copy the full SHA
    f514f4d View commit details
    Browse the repository at this point in the history

Commits on May 7, 2018

  1. Enable vrouter build on RHEL 7.5

    RHEL 7.5 has kernel version updated to 3.10.0-862.el7, which breaks
    building of vrouter module.
    
    Co-Authored-By: Raja Sivaramakrishnan <raja@juniper.net>
    Co-Authored-By: Krzysztof Klimonda <krzysztof.klimonda@codilime.com>
    Change-Id: Icb0467344c0023141be7e1dd9998d383bfaab14b
    Closes-Bug: 1763656
    (cherry picked from commit b948f9f)
    srajag authored and krharsh committed May 7, 2018
    Configuration menu
    Copy the full SHA
    bf14434 View commit details
    Browse the repository at this point in the history

Commits on May 8, 2018

  1. Changes to make vrouter code compile against linux kernel v4.15. Time…

    …r_list
    
    structure has changed in 4.15 releases. Also some changes introduced to
    vr_host_interface.c, removing NETIF_F_UFO reference for v4.15.
    
    Change-Id: Iaa194a5623d0f5311b708025e23076670c2e19c1
    closes-bug: #1765229
    Saurabh Gupta authored and Jeya ganesh babu committed May 8, 2018
    Configuration menu
    Copy the full SHA
    4b1b73a View commit details
    Browse the repository at this point in the history

Commits on May 9, 2018

  1. Fixes vrouter kernel module build on RHEL/CentOS 7

    Change-Id: I3bf6a426928a65b66c56ffbca1f318641f799d4b
    Closes-Bug: 1736108
    (cherry picked from commit c4c68b6)
    wurbanski authored and krharsh committed May 9, 2018
    Configuration menu
    Copy the full SHA
    cbda85a View commit details
    Browse the repository at this point in the history

Commits on May 10, 2018

  1. Feature set negotiation

    Closes-bug: #1746578
    Fixed the feature negotiation issue by storing
    the feature in persistent store and load when
    VM comes up.
    
    Change-Id: I3f41079264f040e1b57a146eda7711b171e302ac
    (cherry picked from commit 9800537)
    Jeya ganesh babu J committed May 10, 2018
    Configuration menu
    Copy the full SHA
    f442753 View commit details
    Browse the repository at this point in the history
  2. DPDK: Check invalid GPA in descr array in virtio

    Due to buggy virtio guest drivers, there may be invalid descriptor
    addresses in the descriptor table. Add checks not to use those.
    
    Change-Id: I48ad58a1d554e07a08ae3ed68dc0f51d8d1b028b
    Closes-Bug: 1726459
    Jeya ganesh babu J committed May 10, 2018
    Configuration menu
    Copy the full SHA
    126401b View commit details
    Browse the repository at this point in the history
  3. Merge "Changes to make vrouter code compile against linux kernel v4.1…

    …5. Timer_list structure has changed in 4.15 releases. Also some changes introduced to vr_host_interface.c, removing NETIF_F_UFO reference for v4.15." into R4.1
    Zuul authored and opencontrail-ci-admin committed May 10, 2018
    Configuration menu
    Copy the full SHA
    bc4bd8c View commit details
    Browse the repository at this point in the history

Commits on May 14, 2018

  1. Configuration menu
    Copy the full SHA
    03f396b View commit details
    Browse the repository at this point in the history

Commits on May 16, 2018

  1. Changes to make netlink infra to work with CentOS 7.5.

    Change-Id: I4c0cb7f168ad285c530379f382a403b743560266
    closes-bug: #1770734
    Saurabh Gupta authored and krharsh committed May 16, 2018
    Configuration menu
    Copy the full SHA
    5d08281 View commit details
    Browse the repository at this point in the history

Commits on May 21, 2018

  1. Include hardware offload hooks

    This changeset provides a generic infrastructure for configuring hardware
    offloads for vrouter. This defines function prototypes for callbacks which will
    be registered by a vrouter offload module, which will be called at certain
    points in the vrouter.ko processing (mainly around where it does configurations
    of tables via sandesh messages).
    
    Offloaded functionality includes flow, vif, MPLS, VXLAN, mirror, nexthop, layer2
    and route tables. QoS API is defined but not currently supported by offload
    module (offload module will return an error if configured).
    
    Change-Id: I00119ec244bf0c3bc8fa218aae10dd1b164b47ce
    Closes-Bug: #1767107
    Signed-off-by: Frik Botha <frederick.botha@netronome.com>
    fjbotha committed May 21, 2018
    Configuration menu
    Copy the full SHA
    4cc4453 View commit details
    Browse the repository at this point in the history
  2. Register information about multicast group

    Pass to vrouter module information about multicast group. Withouth that
    user space client (vif) was unable to join vrouter netlink broadcast group
    when kernel 4.10 or higher was used.
    
    Change-Id: If1868b027ffcf015ad4c3c4c287260d432edd6b5
    Closes-Bug: #1771999
    michalskalski committed May 21, 2018
    Configuration menu
    Copy the full SHA
    7f1e1e2 View commit details
    Browse the repository at this point in the history

Commits on May 22, 2018

  1. Configuration menu
    Copy the full SHA
    704e9f6 View commit details
    Browse the repository at this point in the history

Commits on May 23, 2018

  1. Merge "Feature set negotiation" into R4.1

    Zuul authored and opencontrail-ci-admin committed May 23, 2018
    Configuration menu
    Copy the full SHA
    2a42b8d View commit details
    Browse the repository at this point in the history

Commits on May 24, 2018

  1. Configuration menu
    Copy the full SHA
    2924b70 View commit details
    Browse the repository at this point in the history
  2. Do not run free_netdev twice

    Set needs_free_netdev to false because free_netdev is already
    executed by vhost_dev_destructor.
    
    Change-Id: Iad92cfffe25d510bb52f458fdf102e12aab28e3f
    Closes-bug: #1772639
    michalskalski committed May 24, 2018
    Configuration menu
    Copy the full SHA
    59c80ea View commit details
    Browse the repository at this point in the history
  3. DPDK: Fix for live migration

    Advertise VHOST_USER_PROTOCOL_F_LOG_SHMFD to Qemu which is needed for
    live migration and suspend operation of VM
    
    Change-Id: Icc82218e0fb58c24076128681323171c2040e1ea
    Closes-Bug: 1685409
    (cherry picked from commit 95ea5f6)
    kirankn80 committed May 24, 2018
    Configuration menu
    Copy the full SHA
    e772220 View commit details
    Browse the repository at this point in the history

Commits on May 25, 2018

  1. DPDK GSO: Fix for performance issue seen in TIM

    The condition whether to segment a packet or not was wrong. The correct
    condition is that if TSO seg size that the VM is giving in virtio
    header is lesser than the packet size, it needs to be segmented.
    
    Change-Id: I97cf8a23407dac08030c3df575b5a3522b06fd2e
    Closes-Bug: 1772648
    kirankn80 committed May 25, 2018
    Configuration menu
    Copy the full SHA
    43d8849 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9daf65f View commit details
    Browse the repository at this point in the history

Commits on May 29, 2018

  1. Add defensive checks in vrouter

    Due to a bad frontend driver, there may be memory corruption in
    vrouter when it posts buffers with 0 length. Add
    checks to prevent the same.
    
    Change-Id: I9bd623b414f731704c0aa1d640aec34fec098c33
    Closes-Bug: 1767225
    kirankn80 committed May 29, 2018
    Configuration menu
    Copy the full SHA
    5a5cec4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    aabefed View commit details
    Browse the repository at this point in the history

Commits on May 30, 2018

  1. Configuration menu
    Copy the full SHA
    bb37a33 View commit details
    Browse the repository at this point in the history
  2. vif interfaces are numbered , add check for

    vif get to be called only when argument is a number .
    
    Change-Id: I67e1a16a97bc7a6884379fb77d4b2ddd59881992
    Closes-Bug: #1752783
    krharsh committed May 30, 2018
    Configuration menu
    Copy the full SHA
    7e758e4 View commit details
    Browse the repository at this point in the history
  3. DPDK tapdev: Don't delete vhost0 on soft reset

    We are deleting vhost0 on agent soft reset in DPDK mode. The same is not
    the case with kernel mode. For containerization, the requirement is not
    to delete vhost0 on soft reset.
    
    Change-Id: I717970b2aa43e7d76561ec21c040807c4d69bd66
    Closes-Bug: 1756961
    (cherry picked from commit 23cc1d3)
    kirankn80 committed May 30, 2018
    Configuration menu
    Copy the full SHA
    b603bc1 View commit details
    Browse the repository at this point in the history

Commits on May 31, 2018

  1. DPDK: Performance issue in TSO

    There was a side effect in the earlier commit that Rx direction will
    have an issue due to the will_segment condition. In Rx, the packet gets
    GROed and hits the same code path and has to evaluate will_segment as
    false since the GROed packet needs to goto the VM. But it was evaluating
    to true. Hence added an extra check.
    
    Change-Id: I6216aef7cad3b372d1aa8286e4dc5c7f723dec2e
    Closes-Bug: 1772648
    kirankn80 committed May 31, 2018
    Configuration menu
    Copy the full SHA
    b47b91a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3d16ac6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d990456 View commit details
    Browse the repository at this point in the history
  4. Link against the NFP PMD for vRouter-DPDK

    vRouter-DPDK is unable to probe Netronome NICs, since the build system does not
    link to the NFP PMD.
    
    Change-Id: Ia93bd22de5dcfee6ad56bdb48ba288a7e80ef4db
    Partial-Bug: #1774414
    Signed-off-by: Frik Botha <frederick.botha@netronome.com>
    fjbotha committed May 31, 2018
    Configuration menu
    Copy the full SHA
    6b3ea62 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    a489a49 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    b7b4748 View commit details
    Browse the repository at this point in the history

Commits on Jun 6, 2018

  1. Merge "vif interfaces are numbered , add check for vif get to be call…

    …ed only when argument is a number ." into R4.1
    Zuul authored and opencontrail-ci-admin committed Jun 6, 2018
    Configuration menu
    Copy the full SHA
    8d0c7eb View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2018

  1. Filter expression should not start with a

    separator as its a malformed request in vrouter cli.
    
        Closes-Bug: #1734896
    
    Change-Id: Iad450df0d9196a90d2cf5bd51e41c79a9d00b47e
    krharsh committed Jul 27, 2018
    Configuration menu
    Copy the full SHA
    09d5192 View commit details
    Browse the repository at this point in the history

Commits on Sep 6, 2018

  1. Fix for the bug not allowing custom MTU to be set on vhost interface on

    centos kernels. max_mtu is now part of net_device->extended struct. Corrected
    the reference and the logic so that the initialization is not skipped.
    closes-bug: #1790766
    
    Change-Id: I9db33970943050566d3fb76986b06fa5563fddc8
    Saurabh Gupta committed Sep 6, 2018
    Configuration menu
    Copy the full SHA
    e921c5f View commit details
    Browse the repository at this point in the history

Commits on Sep 14, 2018

  1. Offload ECMP next hop index updates

    vr_rflow_update_ecmp_index updates the ECMP next hop index for reverse
    flows. Add offload hook such that this change reflects in hardware as
    well.
    
    Change-Id: I62a28ae276ef59557dfdf8e8cc884255150723ff
    Closes-Bug: #1792378
    Signed-off-by: Pieter Malan <pieter.malan@netronome.com>
    pietermalan committed Sep 14, 2018
    Configuration menu
    Copy the full SHA
    8a24cd6 View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2018

  1. Packet corruption in case of tcp packet to vlan if

    Closes-bug: #1788492
    The checksum code updates a wrong offset when
    vlan is present for the tx interface. Modified
    to calculate the offset based on the ethernet
    header type.
    
    Change-Id: I4f70359254ad2461d35c84a5612f4bf9a89325b6
    Jeya ganesh babu J committed Sep 19, 2018
    Configuration menu
    Copy the full SHA
    fe4108b View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2018

  1. VM traffic stop after agent restart.

    Closes-bug: #1794934
    During an agent restart, the vif gets deleted.
    This causes the stored vhostuser feature set to
    be deleted. Delete the stored feature only if
    VM exits.
    
    Change-Id: I06724440905b27b1087f294f8d9b6361144611f4
    Jeya ganesh babu J committed Oct 1, 2018
    Configuration menu
    Copy the full SHA
    a11e9fc View commit details
    Browse the repository at this point in the history

Commits on Oct 11, 2018

  1. VM traffic stop after agent restart.

    Closes-bug: #1794934
    During an agent restart, the vif gets deleted. With server mode
    configuration of vhostuser, we should not delete the socket
    file in /var/run/vrouter.
    
    Change-Id: I0050ea47e91151c7f3cb2f80191aa0c2bdddec70
    Jeya ganesh babu J committed Oct 11, 2018
    Configuration menu
    Copy the full SHA
    fad5f97 View commit details
    Browse the repository at this point in the history

Commits on Nov 4, 2018

  1. Check packet length before calculating checksum

    If a packet is corrupted, the packet length in the IP header may be
    incorrect and calculating checksum of such packets results in kernel
    assert. Hence make sure the packet length is always less than or equal
    to the skb length before calling the checksum function.
    
    Change-Id: Ib6ed8887eafdc55726e1a31ec5e3fedf1e4fc456
    Closes-Bug: 1800964
    kirankn80 committed Nov 4, 2018
    Configuration menu
    Copy the full SHA
    79f19d1 View commit details
    Browse the repository at this point in the history

Commits on Nov 28, 2018

  1. Initialize the root node label flags to 0 which will be inherited by …

    …the other nodes during mtrie initialization for RT in new VRF
    
    Partial-Bug: 1797409
    
    Change-Id: I932d076ae43a1de17a15effb0c05bc14a86735e3
    Prasannaa TS committed Nov 28, 2018
    Configuration menu
    Copy the full SHA
    f948923 View commit details
    Browse the repository at this point in the history

Commits on Dec 3, 2018

  1. Mergeable buffer issue with Ericsson vEPG

    Closes-bug: #1806441
    Issue with the workaround done for the qemu
    bug. Workaround to use the previous negotiated
    feature list to be used only after a vrouter
    restart.
    
    Change-Id: I036a8fd220b118ccc532eceb742345703a87b9e0
    Jeya ganesh babu J committed Dec 3, 2018
    Configuration menu
    Copy the full SHA
    cb137a3 View commit details
    Browse the repository at this point in the history

Commits on Dec 24, 2018

  1. [Orange] Contrail 4.1.1- connectivity issue on several VMs of "L2 Onl…

    …y" Network
    
    In the customer's case, it was found that there is a L3 VN vrf which got reassigned to
    a L2 VN vrf due to VN deletion and addition. However the deletion of the default route
    in L3 VN vrf was not happening leading to the proxy arp issue.
    
    This got reproduced in the lab by doing the exact same steps of route add and delete in a
    dummy vrf as below:-
    
    inet_route_add: vrf:22 IP:22.5.6.0/29 nh_id:1 label:1048575 lbl_flags:12 ret 0
    inet_route_add: vrf:22 IP:22.5.6.1/32 nh_id:12 label:1048575 lbl_flags:6 ret 0
    inet_route_add: vrf:22 IP:22.5.6.2/32 nh_id:12 label:1048575 lbl_flags:6 ret 0
    inet_route_add: vrf:22 IP:169.254.169.254/32 nh_id:10 label:1048575 lbl_flags:14 ret 0
    inet_route_add: vrf:22 IP:0.0.0.0/0 nh_id:135 label:18 lbl_flags:3 ret 0
    
    inet_route_del: vrf:22 IP:22.5.6.1/32 nh_id:1 label:1048575 lbl_flags:12 ret 0
    inet_route_del: vrf:22 IP:22.5.6.2/32 nh_id:1 label:1048575 lbl_flags:12 ret 0
    inet_route_del: vrf:22 IP:22.5.6.0/29 nh_id:135 label:18 lbl_flags:3 ret 0
    inet_route_del: vrf:22 IP:169.254.169.254/32 nh_id:135 label:18 lbl_flags:3 ret 0
    inet_route_del: vrf:22 IP:0.0.0.0/0 nh_id:0 label:1048575 lbl_flags:0 ret 0
    
    The root cause for this issue is that when the route before the default route is deleted i.e
    169.254.169.254 in this case, the agent deletes it using the replace plen of 0 and as part of
    that the root node points to an NH node which just has a pointer to the default route NH.
    But later when the delete for default route is triggered, the current code just returns without
    cleaning up the entry. Fix is to cleanup the entry properly in this case.
    
    Fix has been verified at customer's setup.
    
    Closes-Bug: #1807371
    
    Change-Id: I4d9d814e1b9796896517dd9e74f0e2f16063b92a
    anandrao79 committed Dec 24, 2018
    Configuration menu
    Copy the full SHA
    fee02e4 View commit details
    Browse the repository at this point in the history

Commits on Jan 2, 2019

  1. Merge "[Orange] Contrail 4.1.1- connectivity issue on several VMs of …

    …"L2 Only" Network" into R4.1
    Zuul authored and opencontrail-ci-admin committed Jan 2, 2019
    Configuration menu
    Copy the full SHA
    660a8bf View commit details
    Browse the repository at this point in the history

Commits on Jan 30, 2019

  1. CC13: DPDK vRouter reports double traffic rate on vm tap interface

    DPDK TX packet counter incremented twice in eth_tx(dp-core/vr_interface.c)
    and dpdk_gro_process(dpdk/vr_dpdk_gro.c) files. If VP_FLAG_GRO packet
    flag set, then it will not be incremented in eth_tx function.
    With below change, when we have GRO packet, the counter will be
    incremented in dpdk_gro_flush function.
    Closes Jira Bug: JCB-165865
    
    Change-Id: I00e8d0b182107709988a2813fa04768841bcb30c
    (cherry picked from commit 933d4b4)
    hajimohamed committed Jan 30, 2019
    Configuration menu
    Copy the full SHA
    3f7b9c3 View commit details
    Browse the repository at this point in the history

Commits on Jan 31, 2019

  1. Do not decrement TTL while doing L3 forward to agent pkt0

    In BGPaaS in pkt mode, the pkt will be L3 routed with the NH
    pointing to pkt0 or GW interface at one stage (before NAT).
    In single hop BGPaaS case, since the TTL is decremented in
    vr_forward() during L3 routing, the pkt is dropped later
    since the TTL becomes 0. This leads to BGP session not
    coming up at all.
    
    Change-Id: I959dcf4e1b316a76698f2b5d954bbaf0f197b64e
    closes-jira-bug: JCB-199874
    anandrao79 committed Jan 31, 2019
    Configuration menu
    Copy the full SHA
    63d0e59 View commit details
    Browse the repository at this point in the history

Commits on Feb 5, 2019

  1. DPDK: GRO flag reset during Agent/DPDK container reboot

    Issue fixed by setting GRO and merge buffer flag in vif_set_flags API.
    If those flags are already set, it will retain else ignore.
    Closes Jira Bug: JCB-218956
    
    Change-Id: I45020c3231fe79ea7b4b629471c234d2cb87d1e9
    hajimohamed committed Feb 5, 2019
    Configuration menu
    Copy the full SHA
    e67f543 View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2019

  1. DPDK: Fix for vhost0 MTU not getting set

    After an agent soft reset, vif 0 gets deleted and added back. But due to
    a timing issue, before it gets added back, the vhost0 MTU notification
    used to come resulting in MTU not getting set (Since vif is not added
    yet). Fix is to query the MTU from PMD during vif 0 addition.
    
    Change-Id: I2b102b82e21fcc137e62db748d8982bdbbdf87e2
    Closes-Bug: 1795839
    (cherry picked from commit 514d42f)
    kirankn80 committed Feb 8, 2019
    Configuration menu
    Copy the full SHA
    928a608 View commit details
    Browse the repository at this point in the history

Commits on Feb 12, 2019

  1. Contrail 5.0.2 DPDK Vrouter Pull Fails Drops

    Fixed pull counter issue by having check for GRE IP fragmentation check.
    If Outer header is GRE and fragmented packet, we return 0,:wq so that it
    will be queued for furhter processing.
    Closes Jira Bug: JCB-218856
    
    Change-Id: I805c7d66d2dad20c15dfe2656a8fe24e746b1c99
    hajimohamed committed Feb 12, 2019
    Configuration menu
    Copy the full SHA
    d963d14 View commit details
    Browse the repository at this point in the history

Commits on Feb 16, 2019

  1. Configuration menu
    Copy the full SHA
    09a47d2 View commit details
    Browse the repository at this point in the history

Commits on Feb 18, 2019

  1. Merge "CC13: DPDK vRouter reports double traffic rate on vm tap inter…

    …face" into R4.1
    Zuul authored and opencontrail-ci-admin committed Feb 18, 2019
    Configuration menu
    Copy the full SHA
    8990557 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d007993 View commit details
    Browse the repository at this point in the history

Commits on Feb 21, 2019

  1. Vrouter stops forwarding with iperf TCP test

    closes-jira-bug: CEM-2807
    Limitation in rte_port_ethdev_writer_tx_bulk in the pkts_mask
    field that we can transfer only 64 segments. The segmentation
    code can send a max of 128 segments, which was causing the
    mbuf leak. Fixed the code, by calling the tx_bulk function in
    a loop
    
    Change-Id: I81212f1ae32e47dd80c0938631e466db98242a3e
    Jeya ganesh babu J committed Feb 21, 2019
    Configuration menu
    Copy the full SHA
    f9d3701 View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2019

  1. Vrouter stops forwarding with iperf TCP test

    closes-jira-bug: CEM-2807
    tx_bulk can support upto burst of 64 packets.
    Change the send size to 64 instead of 32.
    
    Change-Id: Ifbf45e9fc23dd4d8e0f69fefc745730d3fbf2726
    Jeya ganesh babu J committed Feb 28, 2019
    Configuration menu
    Copy the full SHA
    26f0926 View commit details
    Browse the repository at this point in the history

Commits on Mar 2, 2019

  1. Fix dpdk vrouter crash while doing vifdump

    closes-jira-bug: CEM-2996
    Added a null check for variable.
    
    Change-Id: Ieab7662d27340bddd2c36a30bfa7aad3a4b3f67c
    Jeya ganesh babu J committed Mar 2, 2019
    Configuration menu
    Copy the full SHA
    65e3ecf View commit details
    Browse the repository at this point in the history

Commits on May 7, 2019

  1. dpdk vrouter changes Ethernet Type field of an inner IPv6 pkt to Type…

    …:IPv4
    
    when mirroring is configured at policy level to a physical analyzer
    
        Root cause: issue seen for mirroring Ingress packet while trying to form
        overlay ethernet header. It tries to form from next hop encap data and
        its always IPV4.
        Fixed the issue by checking the packet type and updating overlay
        ethernet header protocol.
    
    Change-Id: Ie998d7de7f7d0869f46a646e4a147d2cea638565
    closes-jira-bug: CEM-4574
    hajimohamed committed May 7, 2019
    Configuration menu
    Copy the full SHA
    a66eb8b View commit details
    Browse the repository at this point in the history

Commits on May 13, 2019

  1. Add support to evict a stale TCP "Dead" flow

    Change-Id: Ic31876d87610e1998593431053593b7f17bae207
    closes-jira-bug: CEM-5420
    anandrao79 committed May 13, 2019
    Configuration menu
    Copy the full SHA
    72fe825 View commit details
    Browse the repository at this point in the history

Commits on May 22, 2019

  1. DPDK: Possible mbuf leak running iperf with MSS 536

    closes-jira-bug: CEM-4659
    Seems like the 18.05 dpdk has issue when sending 64
    packets in burst. Reverting back to use VR_DPDK_TX_BURST_SZ
    
    Change-Id: I4d08be695a5a7968f6d07be2688bf1243b399f82
    (cherry picked from commit a61b3dc)
    Jeya ganesh babu J committed May 22, 2019
    Configuration menu
    Copy the full SHA
    67cc2d5 View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2019

  1. Enhancement Request - vifdump script - stop command issues

    Updated Defensive check to overcome this issue, If actual interface provided
    for "vifdump stop <Id>" an erro message would be displayed.
    closes-jira-bug: CEM-5980
    
    Change-Id: I2e5ff28e7da15527c9ac4628ebff5aa1dee5f233
    hajimohamed committed Jun 13, 2019
    Configuration menu
    Copy the full SHA
    a20f081 View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2019

  1. NTTC issue: CEM-4275 - One of the TCP dead flow doesn't get evicted

    Root cause:
    ===========
    This is due a race condition between setting of the
    Evict Candidate flag and the Eviction of the flow.
    
    We have 2 threads here say Thread1 and Thread2.
    
    Thread1 is in the flow defer_callback function,
    while Thread2 is in the flow mark evict function.
    Now consider the following sequence (Time T0 to T4)
    which leads to the non eviction of the flow 100.
    T0 and T3 are executed in Thread1, while T1, T2 and T4
    are executed as part of Thread 2.
    
    Lets assume the flow index for the flows as 100 and 200.
    
    Thread 1                               Thread 2
    -------------                          -------------
    Defer_cb_Func()                        Mark_Evict_Func()
    
    Time T0 -  CheckEvictFlow(100)  –
               No op, as Evict candidate
               flag is not set for flow 100
    
                                          Time T1 – Set Evict Candidate
                                                    for flow(100)
                                          Time T2 – Set Evict Candidate
                                                    for flow(200)
    
    Time T3 – CheckEvictFlow(200) –
              Now flow 200 would get
              evicted since Evict
              Candidate flag is set.
    
                                          Time T4 – Schedule Defer_cb for
                                                    flow(200)
    
    Now, since flow 200 already got evicted at Time T3,
    the callback would never be scheduled at time T4.
    And hence, the flow 100 would never get evicted.
    Was able to repro the problem by simulating the above order
    using instrumented code and scapy script.
    
    The problem is with Defer_cb_func() which should do the eviction
    only when the Evict Candidate flag is set for both flows.
    
    Fix:
    ====
    The fix is to make sure the eviction is done only after both
    the flows evict candidate flags are set.
    
    Testing:
    ========
    - Done UT for the code changes
    - QA has qualified the fix
    
    Change-Id: I07730ab190646260d08de6ca4fdf9bc1caf16d6e
    closes-jira-bug: CEM-4275
    (cherry picked from commit e04c2b0)
    anandrao79 committed Jun 19, 2019
    Configuration menu
    Copy the full SHA
    bafabba View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2019

  1. Merge "dpdk vrouter changes Ethernet Type field of an inner IPv6 pkt …

    …to Type:IPv4 when mirroring is configured at policy level to a physical analyzer" into R4.1
    Zuul authored and opencontrail-ci-admin committed Jul 15, 2019
    Configuration menu
    Copy the full SHA
    9dea585 View commit details
    Browse the repository at this point in the history
  2. Merge "NTTC issue: CEM-4275 - One of the TCP dead flow doesn't get ev…

    …icted" into R4.1
    Zuul authored and opencontrail-ci-admin committed Jul 15, 2019
    Configuration menu
    Copy the full SHA
    adf9aa1 View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2019

  1. Update R4.1 branch Ubuntu Kernel to 3.13.0-171

    closes-jira-bug: CEM-6709
    
    Change-Id: If74a824cf7493a3e5c5152902c49a8a0dd88f9b3
    hajimohamed committed Jul 26, 2019
    Configuration menu
    Copy the full SHA
    ca21f51 View commit details
    Browse the repository at this point in the history
  2. Fix for flooding of packets in dpdk vrouter

    closes-jira-bug: CEM-5251
    Disabling promiscuous mode should be done based on the result
    of adding the unicast address.
    Drivers such as i40e doesnt support the apis to set multicast
    address. But the bond driver is made to enable all multicast for
    all the slave drives. So this shouldnt be an issue.
    
    Change-Id: Ie754fad59a215462b62da6e2ab309de13422d1fd
    (cherry picked from commit 7a20fc6)
    Jeya ganesh babu J committed Jul 26, 2019
    Configuration menu
    Copy the full SHA
    cd5388a View commit details
    Browse the repository at this point in the history

Commits on Aug 13, 2019

  1. Configuration menu
    Copy the full SHA
    56ffb40 View commit details
    Browse the repository at this point in the history

Commits on Sep 6, 2019

  1. Fix for memory leak in kmod vrouter

    When vr_send_broadcast() is called during route add or delete,
    there will be a 2048 slab memory leak. This is because response->vr_message_buf
    is getting set to NULL and so vr_message_free() will not free
    response->vr_message_buf.
    
    response->vr_message_buf is only applicable to unicast netlink case and not
    for multicast netlink. Fix is to move it to unicast case only.
    
    Closes-Jira-bug: CEM-5343
    Change-Id: Ia4d035e88765c55f65fedce1963000c0bced55c1
    kirankn80 committed Sep 6, 2019
    Configuration menu
    Copy the full SHA
    620f49f View commit details
    Browse the repository at this point in the history

Commits on Oct 24, 2019

  1. Build of vrouter.ko is broken on some 4.4.0 kernels (ubuntu 16.04)

    As per linux kernel git log, the get_user_pages() was changed in 4.4.168
    which also maps to Ubuntu 4.4.0-143.
    
    Fixed by checking kernel version 4.4.168.
    
    Verified by building vrouter.ko on CI VM with ubuntu 4.4.0-143
    and regular centos setup.
    
    Change-Id: Ie759e567a6f5f82d1c4d1dd6ea0f21c23f7287ff
    closes-jira-bug: CEM-4223
    (cherry picked from commit c33e99f)
    anandrao79 authored and kirankn80 committed Oct 24, 2019
    Configuration menu
    Copy the full SHA
    7233932 View commit details
    Browse the repository at this point in the history

Commits on Dec 5, 2019

  1. DPDK: Fix for FD leak when start/stop VM in loop

    A spurious vr_uvh_cl_timer_setup() call was happening which was leaking
    fds
    
    Closes-Jira-Bug: CEM-10799
    Change-Id: I1a02ba31b747469f8ebab79c603f80b8102238a4
    (cherry picked from commit ec8ede8)
    hajimohamed committed Dec 5, 2019
    Configuration menu
    Copy the full SHA
    33778eb View commit details
    Browse the repository at this point in the history

Commits on Dec 16, 2019

  1. Revert "DPDK: Fix for FD leak when start/stop VM in loop"

    This reverts commit 33778eb.
    Closes-Jira-Bug: CEM-11181
    
    Change-Id: I78b909a442df6b2ec6e77520fe38b3ee17518f95
    hajimohamed committed Dec 16, 2019
    Configuration menu
    Copy the full SHA
    bbf27ef View commit details
    Browse the repository at this point in the history

Commits on Jan 28, 2020

  1. CEM-11421 - Orange ZRB Missing prefixes series of occurrences

    Root cause:
    
    The issue was reproduced with the following sequence of route
    adds and delete.
    
    addr = 10.60.7.0 plen = 25 vrf = 4 operation = ADD/CHANGE nh_idx = 38 label = 410760
    addr = 10.60.0.0 plen = 23 vrf = 4 operation = ADD/CHANGE nh_idx = 38 label = 410760
    addr = 10.60.7.128 plen = 25 vrf = 4 operation = ADD/CHANGE nh_idx = 38 label = 410760
    addr = 10.60.0.0 plen = 20 vrf = 4 operation = ADD/CHANGE nh_idx = 63 label = 609700
    addr = 10.60.0.0 plen = 20 vrf = 4 operation = DELETE nh_idx = 51
    
    After executing this sequence, it was observed that the 10.60.7.0/25 and 10.60.7.128/25
    routes were getting deleted as part of 10.60.0.0/20 delete operation.
    This was because as part of delete we were deleting the mtrie bucket containing 10.60.7.0/25
    and 10.60.7.128/25 routes. The mtrie bucket was being deleted unconditionally and wrongly.
    
    Fix:
    
    The mtrie bucket deletion logic is changed to delete the bkt using one of the
    entries in the bucket instead of deleting it using the values from the route delete
    request. This fixes the issue of bucket with non matching prefix length being deleted.
    
    Verification:
    
    The fix was verified by rerunning the same sequence again and
    checking if the 10.60.7.0/25 and 10.60.7.128/25 routes are present or not.
    The fix also passed full vrouter regression.
    
    closes-jira-bug: CEM-11421
    Change-Id: I4e879a1753f273a8c23b1baf5e82b8d56f675e98
    anandrao79 committed Jan 28, 2020
    Configuration menu
    Copy the full SHA
    528264f View commit details
    Browse the repository at this point in the history

Commits on Mar 28, 2020

  1. Socket leak when VM stop/start In loop

    When VIF is added but not connected, vru_cl->vruc_fd is not added to the
    fd list even though it is created. This can happen when VM is stopped.
    In this case, vr_uvhost_del_fds_by_arg() would not close
    the fd. This leads to socket leak, so added fcntl() call in
    vr_uvhost_del_client() to check if vruc_fd is closed or not.
    Closes-jira-bug: CEM-9285
    
    Change-Id: Ia55e44b8830b96e8313691dc77873bfd133e1469
    (cherry picked from commit 194c8bc)
    hajimohamed committed Mar 28, 2020
    Configuration menu
    Copy the full SHA
    a7689f4 View commit details
    Browse the repository at this point in the history

Commits on Jul 20, 2020

  1. Fix for Fragment errors due to integer overflow

    Return mod of hash table during scanning instead of monotonically
    increasing number. With the later, there can be integer overflow
    after some time resulting in incorrectly being handled as error.
    Due to this scanning of hashtable will stall.
    
    Change-Id: Ia55da9a6d7e66db21638c4c71f50d7940b02138a
    Closes-Jira-Bug: CEM-17147
    (cherry picked from commit 9195829)
    kirankn80 committed Jul 20, 2020
    Configuration menu
    Copy the full SHA
    d436e54 View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2020

  1. Health check fails to work after VM reboot

    Issue:
    When the VM is rebooted, server stops running and health check fails momentarily, due to which the route to VM points to nh_discard. When the first TCP SYN packet is sent, it is trapped by agent while flow is programmed. Before the packet is enqueued NH of the packet is set to NULL. After flushing the packet, vr_inet_route_lookup() is done on packet with NAT IP whose route is already pointed to nh_discard. Due to this the first SYN packet is being dropped. By the time retransmission of this packet happens, it reaches health check timeout of 1 sec and connection closes. This keeps on repeating
    
    Fix:
    After flushing the packet, before the IP NAT happens, we do a vr_inet_route_lookup() which gives us the NH associated with non-NAT IP which prevents the first SYN packet drop.
    
    Closes-Jira-Bug: CEM-11226
    Change-Id: I9193242918d42bcf1bc7b6590884a3da9f785d20
    Anish56 committed Jul 22, 2020
    Configuration menu
    Copy the full SHA
    817a3fb View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2020

  1. Configuration menu
    Copy the full SHA
    d71b4e3 View commit details
    Browse the repository at this point in the history

Commits on Nov 27, 2020

  1. CEM-18916: Current implementation doesnt reset parent socket state to…

    … Listening after closure of connections; once max connections are reached.
    
     New implementation shall ensure that.
    
    Change-Id: Ief2e6ba15f7da127b4d488484bff346fec00374e
    Closes-jira-bug: CEM-18916
    (cherry picked from commit 385c774)
    krishnasharm committed Nov 27, 2020
    Configuration menu
    Copy the full SHA
    6c14e3c View commit details
    Browse the repository at this point in the history