# Ruta: Dis-aggregated routing system over multi-cloud

Kevin Fang  Cisco Research & Development Center ShanghaiChina
<EMAIL_ADDRESS>
(2021)

###### Abstract.

Over the years, the SDN evolution create multiple overlay technologies which
is inefficient and hard to deploy end-to-end traffic engineering services,
Ruta is designed as an unified encapsulation with Segment Routing, Crypto and
NAT-Traversal capabilities over UDP.

Ruta could be deployed as a cloud native SDN platform globally over multi-
cloud and integrated with each applications on transport layer, which provide
_nearly zero loss and almost less than 200ms latency to access anywhere in the
world over internet_.

Routing, Overlay Network, Software Defined Network, Distributed Controllers

††copyright: acmcopyright††journalyear: 2021††doi: xx††conference: draft ; Jan
07–11, 2022; Shanghai,China††booktitle: draft††price: 15.00††isbn: XXX-X-XXXX-
XXXX-X/XX/XX††ccs: Computer systems organization Cloud computing††ccs:
Networks Transport protocols††ccs: Hardware Networking hardware

##  1\. Introduction

Software Defined Network and Cloud VPC evolution create multiple overlay
technologies in last decade, the different implementation separate network
into multiple domains. Meanwhile applications require simplicity for end-to-
end traffic engineering and security policy enforcement, the domain-specific
SDN design cause many overheads on both control and data plane.

Paper Organization: We introduce the challenges of overlay technologies used
today and the motivation for Ruta project in Section 1. We present the control
plane architecture in Section 2, data plane architecture in Section 3 and
prototype system implementation and demonstrate multi-cloud deployment in
Section 4.We conclude in Section 5.

###  1.1. Overlay Technologies

A packet from client to cloud require multiple times encap/decap and
encryption/decryption which introduce significant latency and inter-working
complexity on each boarder network devices .

A packet which send by a wireless client require _location-agnostic_ , vendors
like Cisco (Cisco, 2021b) or juniper (juniper, 2021) implement overlay and
group based policy for wireless converged campus network. Each vendor has
private control-plane protocol(lisp (cisco, 2021), BGP-EVPN) and data-plane(
vxlan-gbp (Kreeger, 2018) vxlan-gpe-gbp and lisp-gpe-gbp (J.Lemon, 2019)). The
campus network fabric policy design based on _user-centric_ approach, thus
group based policy tag only contain user or group identity.

When the packet arrive campus boarder, SDWAN Router will decap the packet and
enable _deep-packet inspection(DPI)_ for application aware routing or security
policy enforcement, packet will be encap and encrypted in IPSec or DTLS with a
transport VPN tag, then sent to remote on-prem datacenter or public cloud. In
SDWAN domain policy design based on _transport-centric_ approach. Most of the
SDWAN implementations are based on point-to-point tunnel,thus the multi-hop
traffic engineering may require multiple times encryption and decryption with
multiple times policy lookup. Some of the service provider use MPLS-VPN, MPLS-
Segment Routing or SRv6 as overlay to handle the traffic, MPLS require
dedicated underlay and SRv6 require IPv6 link, and the SRv6 forwarding
mechanism does not change the source address which may cause problems when
unicast reverse path forwarding(uRPF) enabled, so most of them can not
directly transport over internet. Even with segment routing over IP (RFC8663)
may support MPLS-SR over IPv4 UDP, but the forwarding mechanism does not
support NAT-Traversal.

When packet arrive on-prem datacenter, the network policy design based on
_application-centric_ approach, group based tag like Endpoint Group(EPG) in
Cisco ACI architecture (Cisco, 2021a) identify application sever groups. The
boarder gateway have to update the source and lookup the destination group id
and set related VNID and group ID.

It’s more complex in public cloud, Virtual Private Cloud(VPC) are based on
region and available zones, inter-VPC communication require complex routing
and security group policy which requires VPC-Peering or Transit-VPC services.
_cloud-agnostic_ require more generic overlay network support, but different
cloud provider may have difference overlay terminology introduce significant
workload for multi-cloud deployment.

###  1.2. Design principal

Inspired by cloud native approach, we design Ruta based on service-mesh
architecture, we dis-aggregate routing service to distributed K-V control-
plane and micro-service based data-plane to provide unified encapsulation to
meet each network domain’s requirement. It could significantly reduce the
inter-working complexity and provide flexible programming interface for
applications.

However, Design dis-aggregated routing platform is not simply leverage
distributed software architecture to build controller and data-plane, but it
require more carefully trade-off on architecture level,because the system
failure may easily cause network partitioning and lose availability. Based on
CAP theorem (Brewer, 2021), some design principals are shown as below.

_Consistency_ is the must to have feature in traditional network,the
destination-based forwarding requires all nodes have _consistent_ forwarding
table, Inconsistent forwarding table scenario may well-known as “Micro Loop”
or “Black hole”.

Meanwhile, the traditional routing protocols are designed to serve destination
based forwarding. No matter which routing protocol were used, it must
implement a routing information database(RIB) and keep _availability_ for
data-plane calculate the forwarding information database(RIB). Most of the
routing protocols soften the partition tolerance as a trade-off, for instance
OSPF-area or BGP-Autonomous System are designed to hide topology and isolate
failure.

At the same time, keeping availability may loss _partition tolerance_ , many
routing protocol need to deal with ”brain-split” situation. Leader
arbitration, split-horizon are designed to reduce the network partition
impact, but it has side effect for the availability.

In the SDN Era, control-plane is centralized, many network devices need
sequential consistency, and the DHCP like address assignment need strictly
consistency. The controller implementation and placement under network
partition becomes major challenge. For instance, recently facebook outage
(wikipedia, 2021) indicate the controller availability is the root cause.

In summary, the consistency requirement and destination based forwarding is a
kind of trade-off few decades ago. In the old days, the forwarding ASICs or
Network Processors may have limited forwarding capabilities and the network
has limited bandwidth to carry more information for source routing.

Can we soften the _consistency_ requirement by introducing the source-routing
or segment-routing(SR) and decouple the devices configuration ?

Can we soften the _availability_ requirement by using distributed path-compute
on each forwarding adjacency when running into the headless mode?

Figure 1. Ruta: Dis-aggregated routing architecture

These are the design principals for Ruta system, we implement an _eventually
consistency_ model to decouple the prefix announcement and path-computation
process by using a location descriptor, then we leverage local cache mechanism
for distributed path-computation during control-plane offline. We select ETCD
as our control-plane and simplify all routing updates and decouple the policy
related configurations in K-V pairs.

Ruta separate the consistency requirement by using distributed path-
calculation and segment routing to decouple overlay route information and
linkstate, linecard could use partially linkstate db for path calculation
without global consistency requirement, In some large scale deployment, users
could deploy multiple redis based service node for regional linkstate database
and provide cache service for linecards.

Segment Routing(SR) with loop-free alternative provide better resilience under
network partition, however it only support IPv6 or MPLS, even RFC8663 may
support MPLS based SR over UDP, but it lack of programmability and NAT-
traversal support. Meanwhile,as a cloud-native routing system, we need to use
a pure user-space dataplane to bypass kernel overhead and simplify the
programmability for application developers. SRv6 may require kernel support to
add IPv6 Option header which is not friendly for application developers.

We develop a new data-plane protocol by using segment routing over UDP(SRoU).
SRoU header can be integrated with QUIC to provide secure and reliable
transport services. Many public cloud and many internet service still using
IPv4 and deal with the SRv6 uRPF issue, we encode the original source address
in SRoU, then we develop STUN services to resolve IPv4 NAT-Traversal problem.

##  2\. Control Plane

Ruta control plane is heavily use the ETCD features like lease, distributed
lock and transparent proxy. Each service node could be a proxy for others
connect to ETCD. All communications to ETCD require TLS, RBAC could be added
enhance system security.

###  2.1. Service Node Roles

Ruta define 5 roles of service node which is shown in Figure.1.

  * •

ETCD: This node is running ETCD process to provide distributed K-V store
services as Ruta control-plane. All Ruta node info, routing table, policy and
link state are represent in K-V pairs.

  * •

Fabric: This node type is used as an middle box to relay the SRoU packets.
This node could be implemented by in DPDK based appliance, or offload packet
processing on DPU or pure P4 based switch to provide high bandwidth forwarding
capabilities. This node must enable link probe to other Fabric node and report
link-state to K-V store.

  * •

Linecard: This node fetch routing table and topology from ETCD and execute
flexible algorithm to find available path and encode SRoU SID-list in each
packet. Linecard node has various types to provide basic transport service or
tightly integrate with applications.It could be physical SDWAN routing box ,
mobile vpn client, sidecar proxy, DPU or even a QUIC socket library integrated
with applications.

  * •

STUN: This node is used as a STUN(Session Traversal Utilities for NAT,RFC5389)
server to help IPv4 based Fabric node and linecard node to retrieve their
public address and port.

  * •

Analytic: This node is used to watch stats from ETCD, analysis network failure
and gives proactive response for policy change based on AIOps approach.

  * •

LSDB(optional): This node is used as a regional linkstate database and cache
to mitigate ETCD performance issue with in very large-scale and global
deployment. This node contains a Redis DB for linkstate information. Fabric
and Linecard node could use geometry information hunting the nearest LSDB
Node.

###  2.2. Node Registration

All service node must register to ETCD based on the following K-V pairs

  * •

Key:= ”/node/¡role¿/¡systemName¿”

¡role¿ is defined in section 2.1, ¡systemName¿ is a system wide unique value,
just like traditional Router-ID, users could continues use router-id in this
field,or use hostname string instead.

  * •

Value: contains _Site-ID_ , _Location_ and _SystemLabel_

Site-ID: This field is used for site level policy enforcement.

Location: This field store the node latitude and longitude information.
Linecard node could apply flexible geo-aware-routing or build random-graph to
reduce computational complexity in large scale network.

SystemLabel: This is 24bits field for Segment ID compression and MPLS
interworking. Label assignment is implemented by distributed lock mechanism
over ETCD, each node acquire the lock from ETCD then assign unique smallest
Number as SystemLabel, and register it back to ETCD with SystemLabel field.

###  2.3. Service Locator(SLoC)

Each of service node has multiple interfaces, Ruta use _Service Locator(SLoC)_
describe them.

Field |  Usage
---|---
Color |  This field is used for link level policy enforcement, user may defined it based on link type or coloring different links(same as color definition in SR-Policy).
Private IP&Port |  The private IP address and UDP port used for Ruta service.
Public IP&Port |  The public IP address and UDP port used for Ruta service.
Interface Name |  optional field to store the local interface which initial the SRoU session.
RX/TX BW |  max upstream/downstream bandwidth, used for calculate link utilization.
Table 1. Service Locator(SLoC) Field

Ruta may use the shorten format to distinguish interfaces.

$SLoC_{short}$ := ¡systemName¿—¡color¿—¡Private IP:Port¿

###  2.4. Service Hunting

After Node registration, service node must send _Service Location Route_ for
service discovery.

  * •

Key:= ”/service/¡role¿/¡systemName¿”

  * •

Value: SLoC data structure will be used in this field.

Service Node could use prefix based fetch /service/¡role¿ for service hunting,
For instance, a new on-boarding device need STUN service, it may fetch
/service/STUN as prefix from ETCD to hunt STUN server’s public ip address and
port.

###  2.5. Link State

When Fabric node finished the on-boarding process, it must fetch the
/service/lsdb to discover the LinkState Database node. it must use prefix
based fetch /service/Fabric to discover other fabric nodes, then start full-
mesh link state probe to others. In some large scale deployment, Fabric node
could config a white-list to reduce full-mesh probe.

The probe result need to update in LSDB Redis DB, if system does not contain
LSDB node, it must send to ETCD, Link state K-V pair is shown as below:

  * •

Key:= ”/stats/linkstate/¡$SLoC_{src}$ \- $SLoC_{dst}$¿”

  * •

Value: Ruta Link state probe leverage the algorithm from Two-Way Active
Measurement Protocol(RFC5357) (K. Hedayat, 2008), it could provide two-way
delay, jitter, loss measurement, it will also report the link utilization and
up/down status.

###  2.6. Service Route

Inspired by Locator/Identifier Separation Protocol(LISP), Ruta service route
does not contain any explicit nexthop but just mapping the uniform resource
identifier(URI) to SLoC. Ruta URI service route framework not only designed
for packet routing service, but also support various of new services(eg.
multi-cloud RPC, edge computing node).

For multi-cloud packet routing services, Ruta could carry EVPN-Route as
resource identifier.

  * •

Key:=”/route/¡type¿/¡export RT¿/¡RD¿/*”

Route Tagert(RT) and Route-Distinguisher(RD) usage are same as BGP-EVPN, RT
mechanism could be implemented by watch ”/route/¡type¿/¡RT¿/” prefix.

EVPN route URI listed below:

Type |  Key
---|---
EVPN Type2 |  /route/2/¡export RT¿/¡RD¿/MAC/IP
EVPN Type5 |  /route/5/¡export RT¿/¡RD¿/IPPrefix/Mask
Table 2.  EVPN Route URI Format

  * •

Value: just like BGP attributes, it has 3 mandatory field(SiteID, SystemName,
PolicyTag). TLV based optional field extension will be used in the future.

###  2.7. Path Computation

Unlike traditional routing protocol, Ruta is used for overlay transportation.
The path computation logic is more like google map navigation, it could
support various of algorithms to meet difference SLA.Meanwhile it does not
require consistency of link-state database which is very useful during network
failure.

By default, the linecard will build destination SLoC list based on EVPN
routes, it will only use active link state probe for each destination service
node. If some of the route has SLA violation, the linecard could use a fabric-
node-list or randomly selected fabric nodes to fetch the related link-state,
and execute local path computation.

Path Computation engine will generate a SLoC list for each EVPN route. This
list will be encoded in SRoU header.

###  2.8. Node Keepalive

Service Node keepalive leverage the ETCD lease function, When a node failed to
update lease time, the ETCD will automatic withdraw the related information.
Consider the controller availability we implement 2 different lease time. The
first lease time(60 120 seconds) is used for service node keepalive. The
second lease time(600 seconds 1200seconds) used for linkstate and service
route.

###  2.9. Micro Segmentation

Endpoint Identity: Each of the endpoint may have it’s identity or group policy
tags, it could be updated by the following K-V pairs

Key:=”/identity/userid/device-id”

Value:= ”group policy tags”

Group based policy: Each node may use the following K-V pairs for group based
micro-segmentation:

Key:= ”/control/group/$SRC_{group}$/$Dst_{group}$”

Value:= ”Action”—”SLoC list”

Route control:Network operator could update the control policy to the entire
system by using:

Key:= ”/control/RT/2/$SRC_{MAC}$/$SRC_{IP}$/$DST_{MAC}$/$DST_{IP}$”

Key:= ”/control/RT/5/$SRC_{prefix}$/$SRC_{mask}$/$DST_{prefix}$/$DST_{mask}$”

Value:= ”Action”—”SLoC list”

##  3\. Data Plane

Ruta dataplane leverage the SRv6 programmable SRH concept, but move the SRH
after the UDP header, this new encapsulation called SR over UDP(SRoU).It add
explicit FlowID field for micro-segmentation. Source IP address and port are
added for NAT-Traversal.

[bitwidth=0.5em]32 1IP Header
1UDP Header
1SRoU Header
3Payload

Figure 2. SRoU Encapsulation

###  3.1. SRoU Header

SRoU header defined as below:

[bitwidth=0.8em]32 0,7,8,15,16,23,24,31
8magic number & 8SRoU Length 3RRR 2FT 1C1F1T 8Protocol-ID
[tlr]1Flow identifiers
[blr]1 _32bits/64bits/96bits based on FlowID type(FT)_
32Source Address
16Source Port 8SLoC Type 8SR Hdr Len
8Last Entry 8Segment Left [tlr]16
[lr]1 Segment List[0](length based on SLoC type)
[tlr]3$\cdots$
[tlr]1Segment List[N]
[blr]16 [tlr]16
[lrb]2… _optional_ TLV

Figure 3. SRoU header

  * •

magic number: 1Byte field with ALL ZERO. it used to distinguish packet in QUIC
socket mode.

  * •

SRoU Length: 1Byte, The total byte length of a SRoU header.

  * •

FT: 2bits, defined flowid type, 0x0 = 32bits, 0x1 = 64bits, 0x2 = 96bits.

  * •

C: C-bit, indicate the packet is encrypted .

  * •

F: F-bit, indicate the packet encryption scope, 0x0 = SRoU header only , 0x1 =
Full packet encryption.

  * •

T: T-bit, indicate the packet need to send postcard telemetry to controller.

  * •

Protocol-ID: 8bits, defined the inner packet protocol, 0x0 = SRoU OAM, 0x1 =
IPv4, 0x2=IPv6

  * •

Source Address & Port: length based on Protocol-ID, OAM message does not
contain this field.

  * •

SLoC Type: 8bits field, 0x0 Reserved, 0x1 indicate the SLoC length is
48bits(IPv4+UDP port), 0x2 reserved for interworking with SRv6 with length
equal 128bits, 0x3 used for Compressed Segment list.

  * •

SR Hdr Len: R Header length, include the Header flags(4Bytes), Segment List
and Optional TLV.

  * •

Last Entry: contains the index(zero based), in the SLoC List, of the last
element of the SLoC List.

  * •

Segments Left: 8-bit unsigned integer. Number of route segments remaining,
i.e., number of explicitly listed intermediate nodes still to be visited
before reaching the final destination.

  * •

Segments List[0..n]: SLoC store in each segment element.

  * •

Optional TLV: 0x0 used for padding, 0x1 used for SR Integrity, 0x2 used for
PathTelemetry.

###  3.2. SRoU OAM

SRoU OAM Message format defined as below:

[bitwidth=0.8em]32 0,7,8,15,16,23,24,31
8magic number & 8SRoU Length 3RRR 2FT 1C1F1T 80x0(OAM)
[tlr]1Flow identifiers
[blr]1 _32bits/64bits/96bits based on FlowID type(FT)_
8OAM Type 8OAM Subtype [tlr]16
[lbr]2 OAM Payload(variable length)

Figure 4. SRoU OAM header

OAM type:=0x0 used for linkstate, subtype 0x0 used for Linkstate Request,
subtype 0x1 used for Linkstate Response. the OAM Payload contains
¡seq(32bits)¿, ¡timestamp(64bits)¿,¡received timestamp(64bits)¿,¡sender
seq(32bits)¿ and ¡sender timestamp(64bits)¿.

OAM type:=0x1 reserved for trace route, OAM type:=0x2 used for STUN service.

###  3.3. Network programming

Same as SRv6 Network Programming (C. Filsfils, 2021), Ruta defined a virutal
SLoC for network programming, IPv6 is same as RFC8986, Ruta under IPv4 based
SLoC follows the following definition:

[bitwidth=0.5em]48 0,8,32,47
811111111 & 24Args 16Function

Figure 5. SLoC for network function

We implement End.DT2U and End.DT4 in our prototype to provide VPN services.

##  4\. System Implementation

We implement Ruta prototype in native golang with nearly 9000 loc, cross
compile could support multiple platform(x86/arm based linux, mips and arm
based OpenWRT). We also patch some codes to quic-go to support QUIC transport
protocol over Ruta.

###  4.1. Datacenter Spine-leaf deployment

We deploy ruta with 2 linecard nodes as leaf ToR switch and 2 fabric nodes as
spine, topology shown as below,demo code available in (K.Fang., 2021b).

Figure 6. Spine Leaf deployment

ETCD cluster could be deployed in multiple region to provide better
resilience, each ruta node could be run as etcd proxy mode to help other nodes
use in-band communication to register to ETCD cluster.For instance
Spine_Fabric node could be etcd proxy for Linecard node in this deployment
scenario.

Linecard may have multiple uplinks, it could be represented and encoded in
different colors and UDP ports in SLoC. The following chart shows the
information retrieve from ETCD. Linecard will learn the MAC and IP address
information from host and announce EVPN-Type2 route in ETCD, type-5 route were
learned by local configuration or route redistribution by other protocols.

Figure 7. routing table dump from ETCD cluster

FlexAlgo could be added in each linecard. In general case, H1-¿H2
communication could be encoded by Linecard1 with only one SLoC in SRoU Segment
list, the interim Fabric just involved as basic IP forwarding function.

[bitwidth=0.6em]40 [tlr]1IP HDR
[lr]1 Src: 192.168.99.77(LC_A) Dst: 192.168.99.78(LC_B)
1UDP Src: 5547 Dst: 5546
[lr]1SRoU Hdr SL=1
[lrb]1255.¡vnid:1234¿.End.DT2U
[lr]1Overlay Payload
[lbr]2src:10.0.0.88, dst:10.0.0.99

Figure 8. SRoU Overlay Encapsulation

The total SRoU header length is 24Bytes which is equal to SRv6 SRH, but it has
IPv4 underlay which is more efficient than SRv6. Compare with VXLAN, the SRoU
flowID header could be used as application aware tag or group based policy
header, it could easily support traffic-engineering, however VXLAN need to use
multiple NSH header instead. For instance, when network congestion, the
Linecard could add more SLoC in segment list for traffic engineering. Spine-A
will invoke the SRoU stack to relay packet to Linecard_B.

[bitwidth=0.6em]40 [tlr]1IP HDR
[lr]1 Src: 192.168.99.77(LC_A) Dst: 192.168.99.75(Spine-A)
1UDP Src: 5547 Dst: 17777
[lr]1SRoU Hdr SL=2
[lr]1255.¡vnid:1234¿.End.DT2U
[lrb]1192.168.99.78:5546(LC_B SLoC)
[lr]1Overlay Payload
[lbr]2src:10.0.0.88, dst:10.0.0.99

Figure 9. SRoU Traffic-Engineering Encapsulation

###  4.2. Multi-cloud deployment

Real time collaboration(RTC) like Cisco Webex, Zoom and Microsoft Teams are
widely used during COVID-19, but the internet directly connection performance
does not meet the application’s requirement. Internet routing is based on BGP
AS-PATH, congestion always observed between AS, can we build a pinhole between
service providers without change any BGP routes? A multihoming ruta fabric
node with SRoU encapsulation could easily implement packet relay between SP,
meanwhile public cloud service providers always multi-homing with other
traditional service providers and internet exchanges, deploy virtual machine
on public cloud as Ruta fabric node could significantly improve RTC
performance.

Figure 10. Multi cloud optimization

We need to emphasize multi-cloud deployment is useful,for instance, from
Alicloud Frankfurt region to Alicloud Chengdu region, the directly internet
connections over elastic IP over internet has 385 milliseconds latency,
however if we relay it at Tencent Cloud guangzhou region will lower down the
latency to 240 milliseconds.

Finally, we deploy 20 fabric nodes over multiple public cloud providers
(Alicloud and Tencent) over the world, the result shows ruta could
significantly reduce the latency and packet drop, It could provide _nearly
zero loss and almost less than 200ms latency to access anywhere in the world
over internet_ with maximum 4 segments, full result available in (K.Fang.,
2021a).

###  4.3. Native Socket

QUIC is a reliable and secured transport protocol in user-space, we implement
SRoU function with quic-go to enhance the network programmability to provide
traffic-engineering and multi-path forwarding capabilities over internet and
directly traversal VPC.

Figure 11. native socket lib

In native socket mode, server may register to Ruta ETCD to provide application
awareness,especially in K8s deployment case, Ruta ETCD could directly sync the
server’s identity with K8s ETCD. Client does not required to register to ETCD,
a simple DNS SRV record could be used to announce the edge_fabric and
transit_fabric.

The client select edge fabric 1 could send the packet in the following format,
consider the network security issue, Edge fabric1 could allocation some time
based token for client, this token could be store in flowid field.

Field |  Value
---|---
IP Header |  src: client_ip dst: edge_fabric1’s ip
SRoU Header |
magic number |  0
flowid |  32bits service token assigned by edge_fabric1
source address |  0.0.0.0
source port |  0
segment list[0] |  final server ip and port
segment list[1] |  transit fabric node
Inner Payload |  QUIC packet
Table 3. Service Locator(SLoC) Field

client may not require to connect to STUN server for public address discovery,
it simply fill ZERO in the SRoU source address and port field. The first hop
fabric node will help copy the underlay source address inside the SRoU header
for NAT-Traversal. when the server receive the packet and find the UDP first 8
bits is ALLZERO, it will copy the internal SRoU header source address and port
to Outer IP header and trim the SRoU to deliver the packet to application.

###  4.4. Transparency VPC

The native socket mode is not only support QUIC packets, but also support TCP
and other UDP encapsulations.

Existing VPC design requires cloud service provider manage the overlay routing
table which makes some scale challenges for network devices (Pan et al.,
2021). Many hybrid cloud solution require SDWAN or IPSec VPN as Gateway to
bring traffic into the VPC, however it’s very hard to inter working with
overlay VPC routing table with existing private network, meanwhile each cloud
provider has private micro-segmentation polices design, that may introduce
significant efforts for interworking.

Ruta provide a cloud-native based approach to resolve the challenges, by
enable Ruta linecard at each VPC and provide Segment Routing capability on
overlay makes the VPC more transparency and the cloud provider could
significantly reduce the overlay routing control and offload service gateway
to each host or dedicated DPU.

This dis-aggregation routing system could benefit edge cloud and hybrid cloud
deployment in the future.

###  4.5. Large-scale deployment

Some massive scale cloud service provider could use Ruta as distributed SDN
solution. An Ruta system(with multiple LC and Fabric) could be treated as an
single Linecard with multiple SLoC to join another Ruta system. Or multiple
Ruta System could leverage on BGP-EVPN to share routing information as same as
Inter-AS Option C MPLS VPN.

##  5\. conclusion And Future Work

Ruta is a dis-aggregated routing system based on cloud native approach, we
develop a new K-V based control plane to decouple the configuration and
management complexity and provide distributed deployment which perfectly
resolve the centralized SDN controller challenge. Meanwhile we provide a
Segment routing based transport layer, it provide _nearly zero loss and almost
less than 200ms latency to access anywhere in the world over internet_. We
also enable native socket support for endpoint enable QUIC multi-path
capabilities, even more we simplify the cloud VPC deployment and provide
transparency VPC to support hybrid-cloud deployment.

Ruta is a first step towards cloud native datapath, we believe it cloud be
used in more scenarios like NetDAM (Fang and Peng, 2021) for HPC , new
container network interface and cloud-agnostic RPC framework in the future. we
are exploring to enable Ruta for P4 based switch and DPU offload , server-less
computing and datastreaming processing cases in the future.

##  6\. acknowledgment

It took a village to make Ruta possible, we thank Feng Cai, Yanhuan Mao,
Yinghao Li, Bin Shi, Yijen Wang, Xing Jiang, Yin Wang, Sam Gao support for
this project.

## References

  * (1)
  * Brewer (2021) Eric Brewer. 2021\.  CAP theorem.  https://en.wikipedia.org/wiki/CAP_theorem.  (2021).
  * C. Filsfils (2021) J. Leddy D. Voyer S. Matsushima Z. Li Ed. C. Filsfils, P. Camarillo. 2021.  Segment Routing over IPv6 (SRv6) Network Programming.  https://datatracker.ietf.org/doc/html/rfc8986.  (2021).
  * Cisco (2021a) Cisco. 2021a.  Cisco Application Centric Infrastructure.  https://www.cisco.com/c/en/us/solutions/data-center-virtualization/application-centric-infrastructure/index.html.  (2021).
  * Cisco (2021b) Cisco. 2021b.  Cisco DNA Center Solution.  https://www.cisco.com/c/en/us/products/cloud-systems-management/dna-center/index.html.  (2021).
  * cisco (2021) cisco. 2021.  Locator/ID Separation Protocol.  https://www.cisco.com/c/en/us/products/ios-nx-os-software/locator-id-separation-protocol-lisp/index.html.  (2021).
  * Fang and Peng (2021) Kevin Fang and David Peng. 2021.  NetDAM: Network Direct Attached Memory with Programmable In-Memory Computing ISA.  (2021).  arXiv:2110.14902 [cs.DC]
  * J.Lemon (2019) M.Smith A.Isaac J.Lemon, F.Maino. 2019\.  Group Policy Encoding with VXLAN-GPE and LISP-GPE.  https://datatracker.ietf.org/doc/html/draft-lemon-vxlan-lisp-gpe-gbp-02.  (2019).
  * juniper (2021) juniper. 2021.  Juniper Mist AI solution.  https://www.juniper.net/us/en/products/mist-ai.html.  (2021).
  * K. Hedayat (2008) A. Morton K. Yum J. Babiarz K. Hedayat, R. Krzanowski. 2008.  Two-Way Active Measurement Protocol.  https://datatracker.ietf.org/doc/html/rfc5357.  (2008).
  * K.Fang. (2021a) K.Fang. 2021a.  Ruta Multicloud optimization result.  https://github.com/zartbot/ruta_demo/blob/main/multicloud/log.  (2021).
  * K.Fang. (2021b) K.Fang. 2021b.  Ruta Spine Leaf demo.  https://github.com/zartbot/ruta_demo.  (2021).
  * Kreeger (2018) M.Smith L. Kreeger. 2018\.  VXLAN Group Policy Option.  https://datatracker.ietf.org/doc/html/draft-smith-vxlan-group-policy-05.  (2018).
  * Pan et al. (2021) Tian Pan, Nianbing Yu, Chenhao Jia, Jianwen Pi, Liang Xu, Yisong Qiao, Zhiguo Li, Kun Liu, Jie Lu, Jianyuan Lu, Enge Song, Jiao Zhang, Tao Huang, and Shunmin Zhu. 2021.  Sailfish: Accelerating Cloud-Scale Multi-Tenant Multi-Service Gateways with Programmable Switches.  (2021), 194–206.  https://doi.org/10.1145/3452296.3472889
  * wikipedia (2021) wikipedia. 2021\.  Facebook 2021 Outage.  https://en.wikipedia.org/wiki/2021_Facebook_outage.  (2021).


# Sensitivity of the MnTe valence band to orientation of magnetic moments

Paulo E. Faria Junior  Institute for Theoretical Physics, University of
Regensburg, D–93040 Regensburg, Germany  Koen A. de Mare  Eindhoven University
of Technology, Eindhoven NL–5612 AZ, Netherlands  FZU – Institute of Physics
of the Czech Academy of Sciences, Cukrovarnická 10, Praha 6, CZ–16253  Klaus
Zollner  Institute for Theoretical Physics, University of Regensburg, D–93040
Regensburg, Germany  Kyo-hoon Ahn  FZU – Institute of Physics of the Czech
Academy of Sciences, Cukrovarnická 10, Praha 6, CZ–16253  Sigurdur I.
Erlingsson  Department of Engineering, School of Technology, Reykjavik
University, Menntavegi 1, IS-102 Reykjavik, Iceland  Mark van Schilfgaarde
National Renewable Energy Laboratory, Golden, CO 80401, USA  King’s College
London, Physics Department, Strand, London WC2R 2LS, United Kingdom  Karel
Výborný  FZU – Institute of Physics of the Czech Academy of Sciences,
Cukrovarnická 10, Praha 6, CZ–16253

(Feb14, 2022)

###### Abstract

An effective model of the hexagonal (NiAs-structure) manganese telluride
valence band in the vicinity of the A-point of the Brillouin zone is derived.
It is shown that while for the usual antiferromagnetic order (magnetic moments
in the basal plane) band splitting at A is small, their out-of-plane rotation
enhances the splitting dramatically (to about 0.5 eV). We propose extensions
of recent experiments (Moseley et al., Phys. Rev. Materials 6, 014404) where
such inversion of magnetocrystalline anisotropy has been observed in Li-doped
MnTe, to confirm this unusual sensitivity of a semiconductor band structure to
magnetic order.

###### pacs:

later

##  I Introduction

The electronic structure of crystalline semiconductors can be treated by
various methods which differ greatly in their computational cost.someBook
Among ab initio methods, GW is one of the most advanced approaches yet a
numerically rather expensive one.Grumet:2018_a  A widely-used alternative is
density functional theory (DFT) where the speed comes at the cost of worse
performance (even if there are various approaches to mitigate deficiencies
such as too small gaps) and yet faster options are available, of which tight-
binding approachesAndersen:1984_a  and $k\cdot p\ $modelsWinkler2003  will be
of interest here. Such effective models need material parameters (such as on-
site energies or hopping amplitudes) as an input which can sometimes be of
advantage because they can be adjusted to fit experiments. Also, they may
offer insight into mechanisms governing the band structure.

An archetypal example of an effective model is the Kohn-Luttinger
HamiltonianLuttinger:1956_a  which has a wide range of applications to non-
magnetic materials, including silicon and III-V semiconductors with
$\Gamma_{8}$ manifold at the top of the valence band (VB). Magnetism adds a
new twist: for Mn-doped GaAs, the host is described by this Hamiltonian and
the effect of ferromagnetic ordering is captured by a kinetic $pd$ exchange
term $\propto\hat{\vec{s}}\cdot\vec{S}$ where $\hat{\vec{s}}$ is the spin
operator (of the VB holes) and $\vec{S}$ is the classical spin representing
the Mn magnetic moments (usually treated on the mean-field level). Such
description of ferromagnetic semiconductorsTanaka:2021_a ; Jungwirth:2014_a
has been employed extensively in the context of spintronicsMarrows:2011_a  and
now that antiferromagnetic spintronicsBaltz:2018_a  has become an active
field, we hereby wish to contribute to its progress by presenting an effective
model of hexagonal (NiAs-structure) MnTe which is a well-established
antiferromagnetic semiconductor, as exemplified by its $T=0$ band structure in
Fig. 1, with a relatively high ($\approx 310$ K) Néel temperature. Typical
samples, both bulk and layers exhibit p-type conductivity and we will
therefore focus on its VB.

Figure 1: Band structure of MnTe calculated by QSGW for $\vec{L}\perp z$ (in-
plane orientation). Note the competing maxima of the valence band at $\Gamma$
and $A$ points.

The magnetic structure of MnTe was establishedKomatsubara:1963_a  long ago
(see Fig. 3) with a strong anisotropy favouring in-plane orientation of the
magnetic moments and a weak residual anisotropy within the
plane.Kriegner:2017_a  Recently, Moseley et al. Moseley:2022_a  have found by
neutron diffraction that, upon doping by lithium, the magnetic moments rotate
out of plane. They also noticed that in the density of states (DOS),
significant changes occur and we use the effective model to explain how the VB
responds to this change of magnetic order (once spin-orbit interaction is
taken into account). Even if the Mn $d$-states lieSato:1994_a  deep below the
Fermi level $E_{F}$ and seem too remote from the VB topBossini:2020_a  which
is built dominantly from $p$-Te orbitals, we demonstrate that the combination
of MnTe layered structure and relativistic spin-orbit interaction (SOI) lead
to an unusual sensitivity of the electronic structure to the orientation of
magnetic moments. In the next Section we discuss the competing VB maxima and
we focus on the one near A-point of the Brillouin zone (BZ) in Sec. III. We
conclude in Sec. IV.

##  II Competing VB maxima

Once the SOI is taken into account, there arises a tight competition between
valence band maxima close to A and $\Gamma$ points of the BZ, see Fig. 2b. A
long-standing consensusPodgorny:1983_a ; note3  that the former prevails has
recently been challenged by Yin et al. [Yin:2019_a, ] who claim that the VB
top occurs in the vicinity of $\Gamma$ point. To improve on the potentially
less accurate DFT approach,Yin:2019_a  we employ the Quasiparticle Self-
Consistent GW approximationKotani:2007_a  (QSGW). The GW approximation, which
is an explicit theory of excited states is widely used to predict
quasiparticle levels with better reliability than density functionals. QSGW is
an optimized form of the GW approximation, where the starting Hamiltonian is
generated within the GW approximation itself, constructed so that it minimizes
the difference between the one-body and many-body Hamiltonians. As a by-
product the poles of the one-body Green’s function coincide with the poles of
the interacting one: thus energy band structures have physical interpretation
as quasiparticle levels, in marked contrast to DFT approaches (some examples
are given in Sec. 5.1 of the Supplementary Information) where the auxillary
Hamiltonian has no formal physical meaning (in practice Lagrange multipliers
of this Hamiltonian are interpreted as quasiparticle levels). In practice QSGW
yields high fidelity quasiparticle levels in most materials where dynamical
spin fluctuations are not strong.Schilfgaarde:2006_a

Bulk lattice constants of MnTe at room temperature are $a=0.414$ nm and
$c=0.671$ nm;Moseley:2022_a  we show in Fig. 2d that for such $c/a=1.621$, the
VB maximum close to the A point safely prevails ($\Delta E$ is the difference
between energy of local VB maxima close to $\Gamma$ and that close to $A$).
Most experiments nowadays are performed with thin films of MnTe, however, and
then lattice constants depend on the choice of substrate. Temperature-
dependent data in Fig. 3 of Ref. Kriegner:2017_a,  suggest that while samples
grown on SrF2 surface still fall into the same class, low temperatures may
effectively push the VB maxima close to the $\Gamma$ point up and in
particular, samples grown on the InP substrate may exhibit the inverted
alignment of the VB maxima.

Comparing the present QSGW results to DFT calculations of Ref. Yin:2019_a, ,
several remarks are in order. Lattice constants used in that reference (which
correspond to $c/a=1.57$) have been obtained by structure optimisation in DFT
rather than from experimental data. Next, the hybrid functional HSE06 may
avoid the known problem of underestimated gaps in DFT but this in itself does
not guarantee a reliable description of finer details of the band structure
(such as VB maxima alignment). Predicted valence and conduction bands are more
uniformly reliable in GW than in density-functional methods. Moreover QSGW
surmounts the problematic starting-point dependence that plagues the usual
implementations of the GW approximation and therefore QSGW is a better choice
for our study than DFT. Regarding the subsequent derivation of an effective
model for the VB around $\Gamma$ point,Yin:2019_a  we note as follows. The
$k_{z}=0$ approximation is used; while this would be appropriate for very thin
layers (say 5 nm), present experiments Kriegner:2017_a  are more likely
behaving like 3D bulk. Also, the effective model (1) in Ref. Yin:2019_a,
assumes a fixed direction of the magnetic moments; to plot the experimentally
relevant ’angular sweeps’, the current direction rather than Néel vector is
rotated which is, however, not the actual experimental protocol. For systems
where only the non-crystalline anisotropic magnetoresistance (AMR)
occurs,Rushforth:2007_a  the two protocols are equivalent but measurements in
the Corbino geometryKriegner:2017_a  prove this assumption false. Being aware
of these issues, we strive to derive an effective model in the following which
is free of these shortcomings captures the dependence on magnetic moments
direction.

(a) | (b)
---|---
$\Gamma$AKHA |
(c) | (d)
|
Figure 2: Detailed view of the VB maximum and (c) the Brillouin zone of
$\alpha$-MnTe corresponding to lattice constants: 0.414 nm and $c/a=1.6208$.
Panels (a,b) show the difference between SOI ignored and included and (d)
gives for the latter case the energy difference between VB maximum in $\Gamma$
and A depending on the $c/a$ ratio (for several values of $a$ given in a.u.);
origin of this dependence is discussed in Sec. 5.2 of the Supplementary
Material. Negative $\Delta E$ means that the VB maxima around A prevail and
all energies are given in eV.

A proper symmetry analysis of the crystal structure of MnTe provides the non-
symmorphic space group D${}_{\text{6h}}^{\text{4}}$. Once AF ordering is
included the Mn atoms must be treated as inequivalent since each Mn layer
would have spins pointing in the opposite direction as shown in Fig. 3 for in-
plane spins. Hence, the symmetry group is reduced from D${}_{\text{6h}}$ to
D${}_{\text{3d}}$ without SOI (see for instance Sandratskii et
al.Sandratskii:1981_a ). Furthermore, the symmetry group would also depend on
the interplay of SOI and choice of the AF direction since spins pointing in
different directions behave differently under symmetry operations. For
example, in the out-of-plane AF configuration, the symmetry remains
D${}_{\text{3d}}$ while for in-plane AF, either along
$\left[10\bar{1}0\right]$ or $\left[11\bar{2}0\right]$ directions, the
symmetry group is reduced C${}_{\text{2h}}$. Besides the conceptual analysis
of the symmetries, independent calculations using the WIEN2k and Quantum
Espresso ab initio packages also provide the same symmetry groups discussed
above. Thus, for the particular choice of in-plane AF the D${}_{\text{2h}}$
point group discussed by Yin et al. should be replaced by C${}_{\text{2h}}$.

##  III Effective models

Several attempts to describe the electronic structure of $\alpha$-MnTe in a
simplified way have been made so far. Here, the $k\cdot p$ approachWinkler2003
; LewYanVoon2009  is a common choice for semiconductorsFariaJunior2016PRB
especially if only high-symmetry points in the BZ are of interest. Such a
model for the VB top in A point was derived more than 40 years
agoSandratskii:1981_a  and later extended to a tight-binding
scheme.Masek:1987_a  The latter allows for the description of the energy bands
over the whole BZ but neither of these models allows to analyse the dependence
of electronic structure on the directions on Mn magnetic moments. In the
perfectly ordered AFM phase (as in Fig. 2d) and without SOI, the Bloch
functions at the top of the valence band in the A point transform as the two-
dimensional irreducible representation E${}_{\text{g}}$ or ($\Gamma_{3}^{+}$)
of the the D3d. Including corrections up $k^{2}$ and no SOI (essentially given
by Eq. 2 in Sandratskii et al.Sandratskii:1981_a ) one would obtain the
following Hamiltonian:

$H_{kp,2\times
2}=\left(\begin{array}[]{cc}ak_{x}^{2}+bk_{y}^{2}+ck_{z}^{2}&(a-b)k_{x}k_{y}\\\
(a-b)k_{x}k_{y}&bk_{x}^{2}+ak_{y}^{2}+ck_{z}^{2}\end{array}\right)\,.$ (1)

The inverse effective masses (proportional to $a,b,c$) imply that Fermi
surfaces (FSs) are, at this level of approximation, two prolate ellipsoids
(both doubly degenerate) touching at the point where they are pierced by the
A$\Gamma$ line; other properties of this model and its parameters, effective
masses, extracted from fits to QSGW are given in Sec. 2 of the Supplementary
Material. From the point of view of magnetism, this is a consequence of
neglecting the spin-orbit interaction. Once SOI is included, the band
dispersion will depend on the direction of magnetic moments. On the other
hand, if higher order terms in $\vec{k}$ were included, the symmetry would be
lowered and FSs would become warped and spin-split.Smejkal:2021_a  Consequent
spin order in reciprocal space, being a hallmarkMazin:2021_a  of so called
altermagnetism, can lead to phenomena normally unexpected in collinear
compensated magnets such as the anomalous Hall effect.

The derivation of Eq. (1) is based solely on symmetry arguments and entails
neither any explicit information about orbital composition of the
corresponding Bloch states nor any parametric dependence on magnetic order. In
the following, we therefore first describe a toy model capturing the essence
of interplay between magnetism and orbital degrees of freedom and next, we
make use of these insights to derive a realistic model of MnTe.

###  III.1 Toy model

Consider a 1D chain of alternating nonmagnetic (A) and magnetic (B) atoms
depicted in Fig. 3 where only the nearest neighbours couple (the amplitude
being $t$). The single-orbital-per-site tight-binding Hamiltonian assuming
that the B-atom orbitals have on-site energies $\epsilon_{d}\pm\Delta$ (where
$2\Delta$ is the exchange splitting) reads

$H_{1}(\Delta)=\left(\begin{array}[]{cccc}0&t&0&te^{-ika}\\\
t&\epsilon_{d}+\Delta&t&0\\\ 0&t&0&t\\\
te^{ika}&0&t&\epsilon_{d}-\Delta\end{array}\right)$ (2)

in the basis of Bloch states with momentum $k$ so that $ka$ ranging from
$-\pi$ to $\pi$ parametrises the BZ.

Figure 3: NiAs structure (left) reduced to a toy model comprising a one-
dimensional chain of magnetic (B) and non-magnetic (A) atoms; there are two of
the latter, Aa and Ab per unit cell. Energies are shown in the units of $t$
and $\Delta/t=1$, $-\epsilon_{d}/t=3$ was chosen.

The toy model described by $H_{1}$ can be treated analytically (see Ref. [SI,
], Sec. 1) and focusing on the bands of dominantly A-atom orbital composition,
we observe a downfolded cosine band of width downscaled by factor $\approx
t/\epsilon_{d}$ in the large $|\epsilon_{d}|$ limit, i.e. remote B-atom
dominated bands, as the dashed black dispersion in Fig. 3 confirms. Atoms Aa
and Ab interact only through the intermediate (magnetic) atoms $B$ which
suppresses their effective coupling. There are two main observations to make
at this point. First, even if $\Delta\ll\epsilon_{d}$ there opens a gap in the
’VB states’ at the BZ edge (to make the gap better visible, we chose a larger
value of $\Delta/\epsilon_{d}$ for the blue and red bands in Fig. 3). This
allows for the insight that, inasmuch the atom Ab is sandwiched between spin-
up (left) and spin-down neighbours (right), where the exchange coupling is
$\Delta$ and $-\Delta$, their effect on the A-band (blue in Fig. 3 at the
bottom right panel) does not average out to zero. Next, an even more important
insight concerns the eigenstates of $H_{1}$ at $ka=\pm\pi$.

At this point, we should point out that $H_{1}$ of (2) in fact only describes
one of the two spin species; let us denote it as up-spin and correspondingly,
$H_{1,\uparrow}=H_{1}(\Delta)$. The two states at $ka=\pm\pi$ split by nonzero
$\Delta$ turn out to be $(|a\rangle\pm|b\rangle)\otimes|\uparrow\rangle$ where
$|a\rangle$ and $|b\rangle$ refer to orbitals of Aa and Ab atoms,
respectively. For the spin-down sector, $H_{1,\downarrow}=H_{1}(-\Delta)$
which leads to identical band structure as in Fig. 3 whose eigenstates are
nevertheless not the same as for $H_{1,\uparrow}$. The state degenerate with
$(|a\rangle\pm|b\rangle)\otimes|\uparrow\rangle$ is
$(|a\rangle\mp|b\rangle)\otimes|\downarrow\rangle$ and thus, we arrive at the
conclusion that, at the BZ edge, the VB states in our toy model come in two
pairs (split by the gap) and without loss of generality, we now focus on the
subspace spanned by the pair

$(|a\rangle+|b\rangle)\otimes|\\!\\!\uparrow\rangle,(|a\rangle-|b\rangle)\otimes|\\!\\!\downarrow\rangle.$
(3)

Unlike the pair $|\\!\\!\uparrow\rangle,|\\!\\!\downarrow\rangle$ (without any
orbital part), any linear combination of the two states in (3) has a zero
expectation value of transversal spin operators $\hat{\sigma}_{x}$,
$\hat{\sigma}_{y}$. This can also be restated as
$\langle\hat{\vec{\sigma}}\rangle||z$, or, easily generalised to the statement
that the states (3) have the (expectation value of) spin parallel to the
magnetic moments of atoms B. In this way, the direction of magnetic moments of
the atoms remote in energy from the VB top influences the current-carrying
states close to the Fermi energy. In the following, we denote the direction of
spin in the basis state $(|a\rangle+|b\rangle)\otimes|\\!\\!\uparrow\rangle$
by $\vec{L}$ and it can be understood as the Néel vector. In the following, we
explore this influence in the context of spin-orbit interaction; an
alternative pathway relies on spin disorderBaral:2022_a  (as it occurs for
example at finite temperatures) and we outline an approach to it based on the
coherent potential approximation (CPA) in the Supplementary material. It
provides an alternative interpretation of ’magnetic blue shift’ Bossini:2020_a
of the gap which does not rely on many-body effects.

###  III.2 Extension to MnTe crystal

The previous argument can be extended to Te $p_{x}$, $p_{y}$ states which form
the VB top near A. To account for fine details of the band structure (as
explained in Ref. SI, , Sec. 2), we also include the remote $p_{z}$ levels (in
A, they are $\approx 3$ eV below the VB top, see Fig. 2a) whose dispersion is
dropped at this level of approximation. Also note that the group of VB maxima
close to $\Gamma$ relies on Te $p_{z}$ orbitals as explained in the
Supplementary material. We will measure energy from the VB top (as it appears
in the case of absent SOI) with $E_{F}$ denoting the Fermi energy and use two
copies of Eq. (1) to describe the $k_{x,y}$-dependent mixing of $p_{x}$,
$p_{y}$ orbitals.

Denoting the position of $p_{z}$ orbitals of tellurium by $e_{z}$ ($e_{z}<0$,
$|e_{z}/E_{F}|\gg 1$), the full description of the VB close to A is provided
by a block-diagonal $6\times 6$ matrix

$H_{kp}=\left(\begin{array}[]{cccccc}ak_{x}^{2}+bk_{y}^{2}+ck_{z}^{2}&(a-b)k_{x}k_{y}&0\\\
(a-b)k_{x}k_{y}&bk_{x}^{2}+ak_{y}^{2}+ck_{z}^{2}&0\\\ 0&0&e_{z}\\\
&&&ak_{x}^{2}+bk_{y}^{2}+ck_{z}^{2}&(a-b)k_{x}k_{y}&0\\\
&&&(a-b)k_{x}k_{y}&bk_{x}^{2}+ak_{y}^{2}+ck_{z}^{2}&0\\\
&&&0&0&e_{z}\end{array}\right)$ (4)

and the first and second $3\times 3$ block is written in the basis (3) whereas
inside the blocks, the basis vectors are simply
$|p_{x}\rangle,|p_{y}\rangle,|p_{z}\rangle$. Since the matrix (4) does not
explicitly depend on $\vec{L}$ (only its basis vectors are), we arrive at the
conclusion that (when SOI is ignored) the band structure does not depend on
the direction of Mn magnetic moments.

In the limit $|e_{z}|\to\infty$, the full model (4) combined with SOI breaks
down into two decoupled $2\times 2$ blocks and since we now have a microscopic
understanding of the basis, one which contains the information about direction
of Mn magnetic moments, the SOI can now be evaluated. With finite $e_{z}$, the
dependence of band splitting in A can be better described as we explain in the
following.

Figure 4: MnTe band structure for $\vec{L}||z$ (energies in eV). Colour
coding: red Te, blue/green Mn.

###  III.3 Spin-orbit interaction

We are now in a position to explain the following behaviour of band structure
calculated by relativistic ab initio methods. In panel (b) of Fig. 2, we could
have already observed the bands split by SOI and, compared to band widths,
such splittings were small (note that these splittings cause the shift of the
VB top away from A, the point of high symmetry). Those calculations were done
assuming $\vec{L}\parallel x$ and, at this level of detail, depend only little
on the direction of $\vec{L}$ as long as $\vec{L}\perp z$ which is compatible
with MnTe being an easy-plane material.Kriegner:2017_a  However, when
$\vec{L}\parallel z$ is assumed in calculations, see Fig. 4, band splittings
become sizable. Restricting our discussion to Te $p_{x}$, $p_{y}$ orbitals
combined into the states (3), this behaviour is linked to the directionality
of $H_{so}=\lambda\vec{l}\cdot\vec{\sigma}$ evaluated in the corresponding
basis:

$H_{so,2\times 2}=\left(\begin{array}[]{cc}0&i\lambda\cos\theta\\\
-i\lambda\cos\theta&0\end{array}\right)$ (5)

where $\vec{L}\cdot\hat{z}=\cos\theta$ and $\vec{l}$ is the orbital angular
momentum operator. Clearly, SOI projected to such a restricted space becomes
ultimately ineffective for the in-plane orientation of magnetic moments where
$\theta=\pi/2$ (taking into account also the $|p_{z}\rangle$ orbital,SI  small
splittings at Ain the in-plane configuration can nevertheless be also
accounted for) whereas for finite $e_{z}$, the full $6\times 6$ matrix of
$H_{so}$ must be considered instead of (5). On the other hand, for out-of-
plane magnetic moments, the splitting at A seen in Fig. 4 can be directly
compared to eigenvalues $\pm\lambda$ of $H_{so,2\times 2}$.

##  IV Discussion and conclusions

An effective model of the MnTe valence band around A point of the BZ depends
on the level of detail needed: Eq. (1) is a meaningful approximation to begin
with but it cannot describe the band-dispersion dependence on the direction of
Mn magnetic moments; the six-band (or four-band, corresponding to
$|e_{z}|\to\infty$ limit) description using Eq. (4) combined with $H_{so}$
evaluated with respect to basis (3) times
$|p_{x}\rangle,|p_{y}\rangle,|p_{z}\rangle$ is the reasonable next step. On
this level, the large sensitivity of the valence band at A to magnetic moment
orientation can be explained in terms of zero matrix elements of $H_{so}$
between $(|a\rangle+|b\rangle)\otimes|\\!\\!\rightarrow\rangle$ and
$(|a\rangle-|b\rangle)\otimes|\\!\\!\leftarrow\rangle$ where $a,b$ refer to
the two Te atoms within unit cell of MnTe. Zooming into the details of the
valence band smaller than $\sim 100$ meV would require adding further terms
such as those discussed on p. 8 of the supplementary information to Ref.
[Smejkal:2021_a, ]; on this level of approximation, phenomena such as the
anomalous Hall effect or AMR can then likely be successfully modelled.

Calculations in Fig. 4 show that the splitting at A is associated with
reduction of band gap in agreement with DFT calculations.Moseley:2022_a  This
implies that not only angular-resolved photoemission (ARPES) could be used to
confirm the sensitivity of MnTe band structure to the orientation of Mn
magnetic moments but also optical absorption measurements should reveal
signatures of this effect. Such experiments could also confirm our results
concerning the competition of valence band maxima close to the A and $\Gamma$
points of the Brillouin zone.

##  V Acknowledgements

We acknowledge assistance of Swagata Acharya with QSGW calculations and a
preliminary KKR survey by Alberto Marmodoro; funding was provided by grants
22-21974S and EU FET Open RIA No. 766566, M.v.S. was supported by the DOE-BES
Division of Chemical Sciences under Contract No. DE- AC36-08GO28308 and
P.E.F.Jr. acknowledges financial support from the Alexander von Humboldt
Foundation, Capes (Grant No. 99999.000420/2016-06) and Deutsche
Forschungsgemeinschaft SFB 1277 (Project No. ID314695032, subprojects B05, B07
and B11).

## References

  * (1) Fabien Tran et al., J. Appl. Phys. 126, 110902 (2019)
  * (2) M. Grumet et al., Phys. Rev. B 98, 155143 (2018).
  * (3) O.K. Andersen and O. Jepsen, Phys. Rev. Lett. 53, 2571 (1984).
  * (4) R. Winkler, Spin-orbit Coupling Effects in Two-Dimensional Electron and Hole Systems, (Springer, New York, 2003).
  * (5) J. M. Luttinger, Phys. Rev. 102, 1030 (1956).
  * (6) M. Tanaka, Jpn. J. Appl. Phys. 60, 010101 (2021).
  * (7) T. Jungwirth et al., Rev. Mod. Phys. 86, 855 (2014).
  * (8) C.H. Marrows and B.J. Hickey, Phil. Trans. R. Soc. A 369, 3027 (2011).
  * (9) V. Baltz et al., Rev. Mod. Phys. 90, 015005 (2018).
  * (10) Apart from the NiAs-type structure of MnTe, zinc-blende phase also exists which is AFM at low temperatures.
  * (11) T. Komatsubara et al. ’63, doi: 10.1143/JPSJ.18.356
  * (12) D. Kriegner et al., Phys. Rev. B 96, 214418 (2017).
  * (13) D.H. Moseley et al., Phys. Rev. Mat. 6, 014404 (2022).
  * (14) H. Sato et al., Sol. St. Comm. 92, 921 (1994).
  * (15) R. Baral et al., Matter, 5, pp. 1853-1864 (2022).
  * (16) D. Bossini et al., New J. Phys. 22, 083029 (2020).
  * (17) M. Podgorny and J. Oleszkiewicz, J. Phys. C: Sol. St. Phys. 16, 2547 (1983).
  * (18) More recent studies range from S. J. Youn et al., phys. stat. sol. (b) 241, 1411 (2004) to Mu et al., Phys. Rev. Mat. 3, 025403 (2019) and this VB maxima alignment is also consistent with our previous DFT+U calculations.Kriegner:2017_a
  * (19) T. Kotani et al., Phys. Rev. B 76, 165106 (2007).
  * (20) M. van Schilfgaarde and Takao Kotani and S. Faleev, Phys. Rev. Lett. 96, 226402 (2006).
  * (21) G. Yin et al., Phys. Rev. Lett. 122, 106602 (2019).
  * (22) A.W. Rushforth et al., Phys. Rev. Lett. 99, 147207 (2007).
  * (23) L.M. Sandratskii et al., phys. stat. sol. (b) 104, 103 (1981).
  * (24) L. C. Lew Yan Voon, M. Willatzen, The $k\cdot p$ method: electronic properties of semiconductors, (Springer, Berlin, 2009).
  * (25) P. E. Faria Junior et al., Phys. Rev. B 93, 235204 (2016).
  * (26) J. Mašek, B. Velický and V. Janiš, J. Phys. C: Solid State Phys. 20, 59 (1987).
  * (27) Libor Šmejkal, Jairo Sinova, and T. Jungwirth, Phys. Rev. X 12, 031042 (2022).
  * (28) I. Mazin et al., Proceedings of Nat. Acad. Sci. USA 118 (42) e2108924118.
  * (29) Supplementary information.