-
Notifications
You must be signed in to change notification settings - Fork 25
Features
mportoles edited this page May 25, 2012
·
16 revisions
LISPmob supports the following features, as specified by draft-ietf-lisp:
-
lmn0
virtual interface - IPv4-in-IPv4 encapsulation
- IPv6-in-IPv4 encapsulation
- Receiving Loc-Status-Bits (LSB) information
- Many control plane functions below also need support from the data plane
- Map-Register with a statically configured shared key to a single Map-Server
- Map-Notify messages are verified for validy and the result is logged
- Mapping lookups using a single, statically configured Map-Resolver
- Sending Solicit-Map-Request (SMR) messages to all RLOCs in the map-cache and to a statically configured list of P-ITRs
- P-ITR list needs to be manually maintained in the configuration file, check the LISP beta network map for more info
- Sending SMR-invoked Map-Requests using a single, statically configured Map-Resolver
- Replying to (Encapsulated) Map-Request messages
-
RLOC probing
- Probe interval is a compiled-in constant, currently 30 seconds
- Two probes are sent at an interval of one second, the corresponding RLOC is put in "Down" state after a timeout without a reply
- Probes are sent for "Down" RLOCs as well, which are put back "Up" once a reply is received
-
NAT traversal
- Code on the 'natt' branch.
- Compatible Map-Server and Re-encapsulating Tunnel Router (RTR) are needed.
- No manual configuration required.
- Sending Info-Request messages to the Map-Server. Procesing Info-Reply answers.
- Sending Encapsulated Map-Register messages to the RTR. Procesing Data-Map-Notify answers.
-
lispconf
can be used to query the kernel module for information such as map-cache or database contents - TCP and UDP echo client/server for basic functionality testing
- This option is still being tested. As of now it is distributed as the "multihoming" branch on the repository.
- Note: Lispmob only uses those interfaces for which it finds a default route in the routing table. If you want to use multihoming, make sure to add a default routing entry (e.g., with metric > 0) for each one of the interfaces that you intend to use.
- Lispmob accepts (and uses) multiple database-mapping entries in the configuration file (lispd.conf)
- Compilation options:
- Legacy Mode: Compile normally
- Full Multihoming: Compile adding -DLISPMOBMH to the CFLAGS var in lispd/Makefile
- Legacy Mode:
- In this mode the Lispmob runs as usual except that it registers all database-mappings in the configuration file.
- The MN is able to "receive" data on any of its active interfaces.
- Full Multihoming Mode:
- This mode of operation allows using any of the MN's active interfaces to transmit and receive.
- Lispmob keeps track of interfaces status (up/down) and updates the mapping system accordingly.
- The Data Plane module expects outgoing packets to be "marked" ("mark" field in sk_buff structure).
- mark 0 (no-mark) indicates "default" (i.e., the same behavior as in legacy mode)
- when another mark is used, the module uses the network device whose if_index (see /sys/class/net/<device_name>/ifindex) matches the mark
- Marking of flows can be done through iptables rules.
- Example of use:
- To force all packets with destination EID 10.0.1.2 use the interface with ifindex 2, one would use the following rule:
- iptables -t MANGLE -I OUTPUT -d 10.0.1.2 -j MARK --set-mark 2
- To force all packets with destination EID 10.0.1.2 use the interface with ifindex 2, one would use the following rule:
Some features are not yet fully compliant with the specification. This page will be expanded to note the missing bits.