|
Topology
========
h1----(s1-eth1)s1(s1-gre1)-------(s2-gre1)s2(s2-eth1)-------h3
h2 h4
Test Case:
=========
->Configure h1 and h2 to be in same vpn with gre tunnel between s1 and s2
->Remove ietf configuration for s2-gre1.
->Configure h4 to be in the same vpn as h1 and h2
Expected:
=========
The entries for h4 should not be installed in s1 as the gre tunnel is down.
But the entries are getting configured inspite of no GRE interface.
Entries in switch s1:
====================
mininet> dpctl dump-groups -O OpenFlow13
-
-
- s1 ------------------------------------------------------------------------
OFPST_GROUP_DESC reply (OF1.3) (xid=0x2):
group_id=1,type=indirect,bucket=weight:0,actions=output:3
group_id=3,type=indirect,bucket=weight:0,actions=pop_mpls:0x0800,set_field:00:00:00:00:00:01->eth_dst,output:1
mininet> dpctl dump-flows -O OpenFlow13
- s1 ------------------------------------------------------------------------
OFPST_FLOW reply (OF1.3) (xid=0x2):
cookie=0x0, duration=1293.309s, table=0, n_packets=10, n_bytes=420, arp actions=FLOOD
cookie=0x8000001, duration=1098.343s, table=0, n_packets=223, n_bytes=19006, priority=10,in_port=3 actions=goto_table:20
cookie=0x8000001, duration=745.903s, table=0, n_packets=4, n_bytes=392, priority=10,in_port=1 actions=write_metadata:0x1/0xffffffff,goto_table:21
cookie=0x8000002, duration=745.753s, table=20, n_packets=3, n_bytes=306, priority=10,mpls,mpls_label=2 actions=write_actions(group:3)
cookie=0x8000003, duration=745.758s, table=21, n_packets=0, n_bytes=0, priority=42,ip,metadata=0x1/0xffffffff,nw_dst=10.0.0.1 actions=write_actions(push_mpls:0x8847,set_field:2->mpls_label,group:3)
cookie=0x8000003, duration=745.748s, table=21, n_packets=4, n_bytes=392, priority=42,ip,metadata=0x1/0xffffffff,nw_dst=10.0.0.3 actions=write_actions(push_mpls:0x8847,set_field:4->mpls_label,group:1)
cookie=0x8000003, duration=201.069s, table=21, n_packets=0, n_bytes=0, priority=42,ip,metadata=0x1/0xffffffff,nw_dst=10.0.0.4 actions=write_actions(push_mpls:0x8847,set_field:5->mpls_label,group:1) ------------>Not to be installed
mininet>
On s2:
======
mininet> dpctl dump-flows -O OpenFlow13
-
-
- s2 ------------------------------------------------------------------------
OFPST_FLOW reply (OF1.3) (xid=0x2):
cookie=0x0, duration=1281.693s, table=0, n_packets=10, n_bytes=420, arp actions=FLOOD
cookie=0x8000001, duration=749.947s, table=0, n_packets=3, n_bytes=294, priority=10,in_port=1 actions=write_metadata:0x1/0xffffffff,goto_table:21
cookie=0x8000001, duration=205.191s, table=0, n_packets=0, n_bytes=0, priority=10,in_port=2 actions=write_metadata:0x1/0xffffffff,goto_table:21
cookie=0x8000002, duration=749.760s, table=20, n_packets=4, n_bytes=408, priority=10,mpls,mpls_label=4 actions=write_actions(group:5)
cookie=0x8000002, duration=204.973s, table=20, n_packets=0, n_bytes=0, priority=10,mpls,mpls_label=5 actions=write_actions(group:6)
cookie=0x8000003, duration=749.857s, table=21, n_packets=3, n_bytes=294, priority=42,ip,metadata=0x1/0xffffffff,nw_dst=10.0.0.1 actions=write_actions(push_mpls:0x8847,set_field:2->mpls_label,group:2) ----------> To be deleted
cookie=0x8000003, duration=749.762s, table=21, n_packets=0, n_bytes=0, priority=42,ip,metadata=0x1/0xffffffff,nw_dst=10.0.0.3 actions=write_actions(push_mpls:0x8847,set_field:4->mpls_label,group:5)
cookie=0x8000003, duration=204.977s, table=21, n_packets=0, n_bytes=0, priority=42,ip,metadata=0x1/0xffffffff,nw_dst=10.0.0.4 actions=write_actions(push_mpls:0x8847,set_field:5->mpls_label,group:6)
mininet> dpctl dump-groups -O OpenFlow13
- s2 ------------------------------------------------------------------------
OFPST_GROUP_DESC reply (OF1.3) (xid=0x2):
group_id=6,type=indirect,bucket=weight:0,actions=pop_mpls:0x0800,set_field:00:00:00:00:00:04->eth_dst,output:2
group_id=5,type=indirect,bucket=weight:0,actions=pop_mpls:0x0800,set_field:00:00:00:00:00:03->eth_dst,output:1
group_id=2,type=indirect,bucket=weight:0,actions=output:3 ---------->To be deleted
mininet>
Logs:
====
2015-06-08 16:17:24,002 | DEBUG | lt-dispatcher-15 | FibManager | 215 - org.opendaylight.vpnservice.fibmanager-impl - 0.1.0.SNAPSHOT | adding route 10.0.0.4 100:1
2015-06-08 16:17:24,002 | TRACE | lt-dispatcher-15 | FibManager | 215 - org.opendaylight.vpnservice.fibmanager-impl - 0.1.0.SNAPSHOT | resolveAdjacency called with dpid 1, vpnId1, VrfEntry VrfEntry{getDestPrefix=10.0.0.4, getLabel=5, getNextHopAddress=192.168.56.104, augmentations={}}
2015-06-08 16:17:24,002 | TRACE | lt-dispatcher-15 | NexthopManager | 214 - org.opendaylight.vpnservice.nexthopmgr-impl - 0.1.0.SNAPSHOT | getEgressPointer: input GetEgressPointerInput [_dpnId=1, _ipPrefix=10.0.0.4, _nexthopIp=192.168.56.104, _vpnId=1, augmentation=[]], endpointIp 192.168.56.103
2015-06-08 16:17:24,002 | TRACE | lt-dispatcher-15 | NexthopManager | 214 - org.opendaylight.vpnservice.nexthopmgr-impl - 0.1.0.SNAPSHOT | TunnelNextHop : TunnelNexthop{getEgressPointer=1, getIpAddress=192.168.56.104, augmentations={}}
2015-06-08 16:17:24,002 | TRACE | lt-dispatcher-15 | FibManager | 215 - org.opendaylight.vpnservice.fibmanager-impl - 0.1.0.SNAPSHOT | makeConnectedRoute: vrfEntry VrfEntry{getDestPrefix=10.0.0.4, getLabel=5, getNextHopAddress=192.168.56.104, augmentations={}}
2015-06-08 16:17:24,002 | DEBUG | lt-dispatcher-15 | FibManager | 215 - org.opendaylight.vpnservice.fibmanager-impl - 0.1.0.SNAPSHOT | Adding route to DPN. ip 10.0.0.4 masklen 32
2015-06-08 16:17:24,003 | TRACE | lt-dispatcher-15 | MDSALManager | 210 - org.opendaylight.vpnservice.mdsalutil-impl - 0.1.0.SNAPSHOT | InstallFlow for flowEntity FlowEntity [m_shTableId=21, m_sFlowId=L3.1.21.100:1.10.0.0.4, m_nPriority=42, m_sFlowName=L3.1.21.100:1.10.0.0.4, m_nIdleTimeOut=0, m_nHardTimeOut=0, m_biCookie=134217731, m_listMatchInfo=[org.opendaylight.vpnservice.mdsalutil.MatchInfo@7e7da176, org.opendaylight.vpnservice.mdsalutil.MatchInfo@69f38ada, org.opendaylight.vpnservice.mdsalutil.MatchInfo@7421248d], m_listInstructionInfo=[org.opendaylight.vpnservice.mdsalutil.InstructionInfo@2be6e08b], m_bStrictFlag=false, m_bSendFlowRemFlag=false, toString()=AbstractSwitchEntity [m_lDpnId=1 ]]
2015-06-08 16:17:24,004 | DEBUG | lt-dispatcher-15 | FibManager | 215 - org.opendaylight.vpnservice.fibmanager-impl - 0.1.0.SNAPSHOT | Successfully added fib entry for 10.0.0.4 vpnId 1
2015-06-08 16:17:24,004 | DEBUG | lt-dispatcher-15 | FibManager | 215 - org.opendaylight.vpnservice.fibmanager-impl - 0.1.0.SNAPSHOT | adding route 10.0.0.4 100:1
2015-06-08 16:17:24,004 | TRACE | lt-dispatcher-15 | FibManager | 215 - org.opendaylight.vpnservice.fibmanager-impl - 0.1.0.SNAPSHOT | resolveAdjacency called with dpid 2, vpnId1, VrfEntry VrfEntry{getDestPrefix=10.0.0.4, getLabel=5, getNextHopAddress=192.168.56.104, augmentations={}}
2015-06-08 16:17:24,004 | TRACE | lt-dispatcher-18 | VpnManager | 213 - org.opendaylight.vpnservice.vpnmanager-impl - 0.1.0.SNAPSHOT | Add Vrf Entry event - Key : KeyedInstanceIdentifier
{targetType=interface org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.fibmanager.rev150330.vrfentries.VrfEntry, path=[org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.fibmanager.rev150330.FibEntries, org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.fibmanager.rev150330.fibentries.VrfTables[key=VrfTablesKey [_routeDistinguisher=100:1]], org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.fibmanager.rev150330.vrfentries.VrfEntry[key=VrfEntryKey [_destPrefix=10.0.0.4]]]}
, value : VrfEntry{getDestPrefix=10.0.0.4, getLabel=5, getNextHopAddress=192.168.56.104, augmentations={}}
2015-06-08 16:17:24,005 | DEBUG | lt-dispatcher-18 | VpnManager | 213 - org.opendaylight.vpnservice.vpnmanager-impl - 0.1.0.SNAPSHOT | Adding label to vpn info - 5
2015-06-08 16:17:24,001 | DEBUG | ult-dispatcher-4 | NexthopManager | 214 - org.opendaylight.vpnservice.nexthopmgr-impl - 0.1.0.SNAPSHOT | VPN id returned: 1
2015-06-08 16:17:24,004 | TRACE | lt-dispatcher-15 | NexthopManager | 214 - org.opendaylight.vpnservice.nexthopmgr-impl - 0.1.0.SNAPSHOT | getEgressPointer: input GetEgressPointerInput [_dpnId=2, _ipPrefix=10.0.0.4, _nexthopIp=192.168.56.104, _vpnId=1, augmentation=[]], endpointIp 192.168.56.104
2015-06-08 16:17:24,007 | TRACE | ult-dispatcher-4 | InterfaceManager | 212 - org.opendaylight.vpnservice.interfacemgr-impl - 0.1.0.SNAPSHOT | nodeConnector: NodeConnector{getId=Uri [_value=openflow:2:2], augmentations={interface org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNodeConnector=FlowCapableNodeConnector{getAdvertisedFeatures=PortFeatures [_tenMbHd=false, _tenMbFd=false, _hundredMbHd=false, _hundredMbFd=false, _oneGbHd=false, _oneGbFd=false, _tenGbFd=false, _fortyGbFd=false, _hundredGbFd=false, _oneTbFd=false, _other=false, _copper=false, _fiber=false, _autoeng=false, _pause=false, _pauseAsym=false], getConfiguration=PortConfig [_pORTDOWN=false, _nORECV=false, _nOFWD=false, _nOPACKETIN=false], getCurrentFeature=PortFeatures [_tenMbHd=false, _tenMbFd=false, _hundredMbHd=false, _hundredMbFd=false, _oneGbHd=false, _oneGbFd=false, _tenGbFd=true, _fortyGbFd=false, _hundredGbFd=false, _oneTbFd=false, _other=false, _copper=true, _fiber=false, _autoeng=false, _pause=false, _pauseAsym=false], getCurrentSpeed=10000000, getHardwareAddress=MacAddress [_value=96:1B:13:86:0B:F9], getMaximumSpeed=0, getName=s2-eth2, getPeerFeatures=PortFeatures [_tenMbHd=false, _tenMbFd=false, _hundredMbHd=false, _hundredMbFd=false, _oneGbHd=false, _oneGbFd=false, _tenGbFd=false, _fortyGbFd=false, _hundredGbFd=false, _oneTbFd=false, _other=false, _copper=false, _fiber=false, _autoeng=false, _pause=false, _pauseAsym=false], getPortNumber=PortNumberUni [_uint32=2, _value=[2]], getState=State{isBlocked=false, isLinkDown=false, isLive=false, augmentations={}}, getSupported=PortFeatures [_tenMbHd=false, _tenMbFd=false, _hundredMbHd=false, _hundredMbFd=false, _oneGbHd=false, _oneGbFd=false, _tenGbFd=false, _fortyGbFd=false, _hundredGbFd=false, _oneTbFd=false, _other=false, _copper=false, _fiber=false, _autoeng=false, _pause=false, _pauseAsym=false]}, interface org.opendaylight.yang.gen.v1.urn.opendaylight.port.statistics.rev131214.FlowCapableNodeConnectorStatisticsData=FlowCapableNodeConnectorStatisticsData{getFlowCapableNodeConnectorStatistics=FlowCapableNodeConnectorStatistics{getBytes=Bytes{getReceived=0, getTransmitted=18780, augmentations={}}, getCollisionCount=0, getDuration=Duration{getNanosecond=Counter32 [_value=334000000], getSecond=Counter32 [_value=1076], augmentations={}}, getPackets=Packets{getReceived=0, getTransmitted=226, augmentations={}}, getReceiveCrcError=0, getReceiveDrops=0, getReceiveErrors=0, getReceiveFrameError=0, getReceiveOverRunError=0, getTransmitDrops=0, getTransmitErrors=0, augmentations={}}}}}
2015-06-08 16:17:24,007 | DEBUG | CommitFutures-7 | VpnManager | 213 - org.opendaylight.vpnservice.vpnmanager-impl - 0.1.0.SNAPSHOT | Success in Datastore operation
-----------------------------xxxxxxxxx------------------------------------
Nexthop address getNextHopAddress=192.168.56.104 should not be resolved as the configuration is removed from datastore for s2-gre1 interface
From fib datastore:
==================
"vrfEntry": [
{
"destPrefix": "10.0.0.4", -------------->newly added vpn interface after deleting s2-gre1 on dpn s2. Next hop address not to be updated
"nextHopAddress": "192.168.56.104",
"label": 5
}
,
|