Skip to content

Commit

Permalink
Merge "Disable remarking of packets to VM/vhost" into R3.1
Browse files Browse the repository at this point in the history
  • Loading branch information
Zuul authored and opencontrail-ci-admin committed Jul 22, 2016
2 parents 7943125 + 1aeddfa commit 97bb33f
Showing 1 changed file with 30 additions and 16 deletions.
46 changes: 30 additions & 16 deletions dp-core/vr_nexthop.c
Expand Up @@ -1998,20 +1998,27 @@ nh_encap_l2(struct vr_packet *pkt, struct vr_nexthop *nh,
pkt->vp_flags &= ~VP_FLAG_GRO;

vif = nh->nh_dev;
if (!vif) {
vr_pfree(pkt, VP_DROP_INVALID_IF);
return 0;
}

stats = vr_inet_vrf_stats(fmd->fmd_dvrf, pkt->vp_cpu);

if (!(pkt->vp_flags & VP_FLAG_GROED)) {
qos = vr_qos_get_forwarding_class(nh->nh_router, pkt, fmd);
if (qos) {
if (pkt->vp_type == VP_TYPE_IP) {
vr_inet_set_tos((struct vr_ip *)pkt_network_header(pkt),
VR_IP_DSCP(qos->vfcq_dscp));
} else if (pkt->vp_type == VP_TYPE_IP6) {
vr_inet6_set_tos((struct vr_ip6 *)pkt_network_header(pkt),
qos->vfcq_dscp);
if (vif_is_fabric(vif)) {
if (!(pkt->vp_flags & VP_FLAG_GROED)) {
qos = vr_qos_get_forwarding_class(nh->nh_router, pkt, fmd);
if (qos) {
if (pkt->vp_type == VP_TYPE_IP) {
vr_inet_set_tos((struct vr_ip *)pkt_network_header(pkt),
VR_IP_DSCP(qos->vfcq_dscp));
} else if (pkt->vp_type == VP_TYPE_IP6) {
vr_inet6_set_tos((struct vr_ip6 *)pkt_network_header(pkt),
qos->vfcq_dscp);
}
pkt->vp_queue = qos->vfcq_queue_id + 1;
pkt->vp_priority = qos->vfcq_dotonep_qos;
}
pkt->vp_queue = qos->vfcq_queue_id + 1;
pkt->vp_priority = qos->vfcq_dotonep_qos;
}
}

Expand Down Expand Up @@ -2057,11 +2064,18 @@ nh_encap_l3(struct vr_packet *pkt, struct vr_nexthop *nh,
stats = vr_inet_vrf_stats(fmd->fmd_dvrf, pkt->vp_cpu);

vif = nh->nh_dev;
if (!(pkt->vp_flags & VP_FLAG_GROED)) {
qos = vr_qos_get_forwarding_class(nh->nh_router, pkt, fmd);
if (qos) {
pkt->vp_queue = qos->vfcq_queue_id;
pkt->vp_priority = qos->vfcq_dotonep_qos;
if (!vif) {
vr_pfree(pkt, VP_DROP_INVALID_IF);
return 0;
}

if (vif_is_fabric(vif)) {
if (!(pkt->vp_flags & VP_FLAG_GROED)) {
qos = vr_qos_get_forwarding_class(nh->nh_router, pkt, fmd);
if (qos) {
pkt->vp_queue = qos->vfcq_queue_id;
pkt->vp_priority = qos->vfcq_dotonep_qos;
}
}
}

Expand Down

0 comments on commit 97bb33f

Please sign in to comment.