232 Commits

Author SHA1 Message Date
Charles Chan
c6d227e242 Implement an option in CPRM to reprogram the flows when device reconnecting
Also remove unused AsyncDeviceFetcher in FibInstaller

Change-Id: I52e778a51854efd6bfe47c56569efa5c27d7c7fb
2017-03-06 23:52:43 +00:00
Charles Chan
563a7818e2 Disable ARP/NDP forwarding/flooding
In the scenario where subnets and hosts are configured,
flows for forwarding/flooding should be provisioned.
A copy from the control plane will only cause duplication.
Therefore we are turning that off for now.
We might want to revisit this if we want to support ARP/NDP learning in the future.

Change-Id: I5d8d73c4bacdeabe969ce1ea4e24a4268d853df0
2017-03-06 23:37:29 +00:00
Charles Chan
7e4f81968e Eliminate code duplication
Change-Id: I79129b1dbcbba169b143730f89a38db64f5e460f
2017-03-06 23:31:29 +00:00
Charles Chan
7ffd81fdfa CORD-906 Support trunk and native VLAN
- Include trunk L2IG in L2F
- Populate bridging rules for trunk vlan
- Extend populateVlanMacFilters to generate filtering obj for trunk port
- Extend host handler to check vlan mismatch between host and interface
  (Temporarily disabled for now. Check TODOs in the code for detail.)
- Extend getForwardingObjectiveBuilder in RoutingRulePopulator to support tagged host

Change-Id: Id168a02015f58b0957ba43ad7c52798029d895bc
2017-03-06 23:25:45 +00:00
Charles Chan
f6ec153756 Refactor SR and OFDPA pipeliner
populateRouterMacVlanFilters -> populateVlanMacFilters
hostFwdObjBuilder -> bridgingFwdObjBuilder
getForwardingObjectiveBuilder -> routingFwdObjBuilder
refactor pipeline initialization

Change-Id: I94932cde5155706571085ff41cb4ef63e2a39844
2017-03-06 23:18:05 +00:00
Charles Chan
59cc16d9ee CORD-800 Use new interface vlan config for VLAN assignment
In addition
  - Change the name and type of INTERNAL_VLAN

Change-Id: I48bb89cc1cb1fe4155b4d889b1e7384c8bf673fa
2017-03-06 11:04:06 -08:00
Charles Chan
0aa674ea00 Unregister neighbor handler when deactivating segment routing
Change-Id: Ibcc1d8ccbcb5b64fbb77e2e857885df7d3cf6500
2017-02-23 15:44:08 -08:00
Saurav Das
018605fb4e In this commit: CORD-799
Bug fix for host-update to not remove and add the same IP addr
   NPE fix in ofdpa3pipeline
   Removing unused code in ofdpa2pipeline
   Ability to add or revoke port filters for port-updates
   Retry filters retry for a longer time
   Bug fix for suppress ports to not suppress filters
   Filters now sent only by master instance
   Removing the MPLS BOS=0 rules for now until inconsitent hardware behavior is fixed

Change-Id: I8b4ee4af6de263531e0696af86e65f1c502f5f85
2017-02-23 00:25:41 +00:00
Jon Hall
8c7b06ad07 Remove unnessasry semicolons
Change-Id: I8363e54ecaf80ad0a755d997ca1b9bbae2f1fa6e
2017-02-22 23:05:51 +00:00
Charles Chan
7a068749ee Fix the format of warning msg
Change-Id: I82a02bd088b025d4483297e46c64f63653a63663
2017-02-16 17:25:54 -08:00
Ray Milkey
54a78514d2 Starting snapshot 1.10.0-SNAPSHOT
Change-Id: Icd6983be6a52293fb8a846a02d5e314c2c7aeaf0
2017-02-13 11:13:52 -08:00
Ray Milkey
57b510152e Starting snapshot 1.10-SNAPSHOT
Change-Id: I800d5d9e7f23793f5288457bca449ca382896723
2017-02-13 11:06:55 -08:00
Ray Milkey
de84cdde9a Starting snapshot 1.9.0-SNAPSHOT 2017-02-13 10:54:12 -08:00
Ray Milkey
8588c48114 Tagging 1.9.0-b3 2017-02-13 10:52:31 -08:00
Pier Luigi
3bfe32ced0 [CORD-640] PW clean up.
Changes:
- Re-enable the pop mpls action for PW;
- OFDPA 3.0 has some changes in the pipeline
which don't allow the VLAN pop in the PW termination;

Change-Id: I42b5a3fe4b703d9c9af083768fb6b2decd6f54d7
2017-02-10 18:09:15 +00:00
Pier Ventre
70d53ba510 Implements [CORD-587] and [CORD-588]
Changes:
- Add termination in SR app;
- Add termination in the drivers

Change-Id: Ia9bb31c2c2e20acab8d6bfe27113f7421a8b83da
2017-02-10 18:03:33 +00:00
Pier Ventre
42287df667 Implements [CORD-96] and [CORD-410]
Changes:
- Introduces L2TunnelHandler for managing the pws;
- Supports pws initiation and pws policy for olt<->vsg communication;
- Supports teardown and update;

Change-Id: If51272c91445f618727434606edd2491f93cc4dd
2017-02-10 17:58:03 +00:00
Pier Ventre
f34966c5fc Implements [CORD-546]
Changes:
- Adds new l2 tunnel and l2 tunnel policy;
- Extends cfg of the apps;
- Implements CRUD interfaces through netcfg;

Change-Id: I1a295da605e2496f4883f63fa5f6eca16e627d43
2017-02-10 17:46:28 +00:00
Pier Ventre
917127ab8d [CORD-575] Implements VPWS transport in SR app
Changes:
- Enables the BoS==False use case;
- Adds RandomNeighborSet to emulate the hashing;

Change-Id: I5cc05eb25f5185e612061880fcdb194ed71277d8
2017-02-09 22:15:29 +00:00
Pier Luigi
9b1d626905 [CORD-783] Greedy learning of IPv6 hosts
- Opportunistic learning of IPv6 link local addresses

Change-Id: Ic94a8239c1ae81fc83453d1a29dfc8bd9803b531
2017-02-07 18:04:22 +00:00
Pier Luigi
721b662f5f Small fixes to SR
Change-Id: I4dfdbea082048bd48ea9be0a3bfea381ca395962
2017-02-06 18:25:33 +00:00
Charles Chan
e7926850ae Component config changes after vRouter becomes separate apps
- SR no longer needs to turn SSFI off using component config since SSFI is now an ONOS app.
- Distributed Route Store is now enabled by FpmManager instead of vRouter

Change-Id: Ia5665ffc9bdb4cd126868b3c829aedda713b53f4
2017-02-06 16:33:55 +00:00
Charles Chan
0b77bdda01 Fix Segment Routing dependency
Change-Id: Ifa74558d39944d6e20e6f8b34558ffc793c42784
2017-02-03 22:26:06 +00:00
Pier Luigi
7dad71ce54 Adding small handler to ICMPHandler
Change-Id: I8401c1564cc8aa89f8e3767ae83ec56c0dfe6fd0
2017-02-03 01:14:20 +00:00
Pier Luigi
0e35863305 Various fixes:
- Adds the support for the filter obj of AppConfigHandler;
- Fixes NPE on ICMP handler when rcving a packet from not configured ntw;

Change-Id: I44b90420429ca05927426bdf9a9ce4b78846b566
2017-02-03 00:59:51 +00:00
Pier Luigi
a905c0c7ba Fix npe when one of the address is not configured
Change-Id: If42b4d35bc20060db0bc0fe2699e3b375c2cf9f8
2017-02-03 00:54:56 +00:00
Pier Ventre
09f88b856d Removes leftovers of the previous patches.
Change-Id: Id1131762e94141eab472ff4a31035acc28979d43
2017-01-21 00:17:18 +00:00
Pier Ventre
968da12380 [CORD-520] IPv6 routing
Changes:
- Adds support for IPv6 host routing in the fabric;

Change-Id: I07369500de48f0945f09a5a1e8ab4c98be37978e
2017-01-21 00:07:23 +00:00
Pier Ventre
735b8c8ab2 [CORD-631] ICMPv6 Echo support
Changes:
- ICMPv6 Echo support;
- Introduces SegmentRoutingNeighbourHandler;
- Simplifies ArpHandler;
- Simplifies IcmpHandler;

Change-Id: I93f04d94ff15f43ca83f96cbab3da5064c215f9c
2017-01-21 00:01:55 +00:00
Pier Ventre
f4b5fceb0d [CORD-638] ICMPv6 NDP support
Changes:
- Adds the support for the ND protocol;
- Changes in several places Ip4Address and Ip4Prefix for general objects;

Change-Id: I7429b8f4acc9ffe432b49b66e66da50045996f7c
2017-01-21 00:01:18 +00:00
Pier Ventre
10bd8d11fa [CORD-458] Updates ARP handler
Changes:
- SR application uses NRM;
- Adds hooks for ND protocol;
- Updates ARP handler to better leverage on NRM;
- Reworks to take into account IPv4/IPv6 together;

Change-Id: Iab55b8c5ef7d973928d8ad47e2c2a482fb9c5c8a
2017-01-20 16:58:24 +00:00
Pier Ventre
e0ae7a3179 [CORD-630] IPv6 filtering rules
Changes:
- Udpates TMAC table in order to handle IPv6 protocol;
- Updates ACL table in order to handle ICMPv6 traffic and traffic for the router;
- Udpates UNICAST table in order to handle the traffic towards the other routers;
- Updates the router ip in the netcfg in order to handle IPv6 address;
- Substitutes IpAddress and IpPrefix in many parts;
- Updates cpqd and ofdpa drivers to handle the above cases;
- Fixes the interaction with NRM when neighbordiscovery is activated;
- Introduces the IPv6 loopback and IPv6 node sid;

Change-Id: I0a3003be6f2f4b581cabe224c47a0cfbf51e8f9c
2017-01-20 16:55:54 +00:00
Ray Milkey
287b4ae810 Starting snapshot 1.9.0-SNAPSHOT 2017-01-19 15:21:17 -08:00
Ray Milkey
2557ba3375 Tagging 1.9.0-b1b 2017-01-19 15:20:17 -08:00
Jon Hall
cbd1b39f58 Sonar fixes
Rule: Use isEmpty() to check whether the collection is empty or not.

Change-Id: Ib5ab56b2263623b297db56c5cac2c2ee80e12725
2017-01-19 20:24:18 +00:00
Patryk Konopka
1a3c0655ec [ONOS-5838] Missing null reference check bugfix
Change-Id: I843ad3a8777a80d9e86a4c1fe227c002a6772e1b
2017-01-19 18:08:28 +00:00
Charles Chan
77899538d0 Fix typo in SingleSwitchFibInstaller property
According to https://gerrit.onosproject.org/#/c/12436

Change-Id: I19278e75444b16f0d651c4d367fcd3aad58d6ba8
2017-01-19 17:27:37 +00:00
Charles Chan
50035637c0 Disable IpHandler in Segment Routing
Change-Id: Ibe39e29e1d2989ef78ad7d2f16d312f70cd15db2
2017-01-16 19:24:02 +00:00
Charles Chan
da5dc8c3c4 Bugfix for DHCP Relay
Relayed offer/ack should use relay agent IP as source and offered IP as destination

In addition,
   - Typo in log message
   - Remove unnecessary log

Change-Id: Id6331cc895884cd6025de6040bcf8ea60334ca5c
2017-01-16 18:48:37 +00:00
Pier Luigi
7e41513371 SR disables arp/ndp processing in NRM and DHCP relay
Change-Id: If67cb6e2c81718afcda372cf247d281b7a077f7b
2017-01-16 18:36:43 +00:00
Pier Luigi
9e5c5ca225 Various fixes and addition to the Fabric
Changes:
- Punts ARP packets to the controller using fobj;
- Disables intercepts in HLP when SR app is activated;

Change-Id: Ife098994f6d3c79fd73847657df0c08d856e7246
2017-01-16 17:00:42 +00:00
Charles Chan
03a73e0e70 CORD-523 Introduce generic routing service in Segment Routing
Segment Routing now reacts to routes being added/removed through RouteService.

SR will disable SingleSwitchFibInstaller if vRouter is activated

SR will install a routing table entry on
    - The leaf where next hop attaches to
    - The other leaves that points packets to the leaf where next hop attaches to

Host handler no longer add any IP flow for hosts outside the configured subnet
    - We need to explicitly add a per host route via RouteService when needed (vSG)

Change suppressSubnet behavior
    - Before: do not push any flow
    - After: ignore subnet config but still push filtering obj with VLAN 4094
             ARP handler drops all packets from suppressed ports

Additional refactoring
    - Remove vRouterId. Gateway router now needs to be specify through route API
    - Limit the scope of some variables
    - Unify handler.init method name

Change-Id: Idd2fd19fa74e3fa6209eef5cf2ed79957715c5e9
2017-01-12 18:55:40 +00:00
Charles Chan
2df0e8af5a Use new PacketService to request ARP with duplication
Change-Id: Id005772b0a69629ad3fb532d16a398d170234d88
2017-01-11 22:23:19 +00:00
Yuta HIGUCHI
a26109f689 fix potential race condition
Change-Id: I0bf9df79691e9b08af981348a75886b053404add
2017-01-10 23:30:48 +00:00
Charles Chan
68aaad547e Determines route IP by checking the interface config directly
Previously, SR checked the subnet data structure which contains
multiple subnets now in order to support generic routing.

A missing part of gerrit #11842.

Change-Id: Ia778c8ba5a42927d259c70bbb7538869270a7a1f
2016-12-12 23:24:48 +00:00
Saurav Das
d2fded0301 CORD-637 Fixing intermittent filtering objective failures by repeatedly trying
till results are consistent. Also fixed some typos and made some logs clearer.

Change-Id: If829b02ac6dc2f8ada455b5290c718d29a6d7988
2016-12-06 17:20:18 +00:00
Ray Milkey
72bcefefce Starting snapshot 1.9.0-SNAPSHOT
Change-Id: Iae30168353c72c4e2d5e395298ceca5dd7554984
2016-12-02 16:22:53 -08:00
Ray Milkey
bc3c6ba539 Starting snapshot 1.8.0-SNAPSHOT 2016-12-02 15:59:38 -08:00
Ray Milkey
a222d05a18 Tagging 1.8.0-rc4 2016-12-02 15:49:32 -08:00
Ray Milkey
b547e06157 Starting snapshot 1.8.0-SNAPSHOT 2016-11-30 15:10:18 -08:00